首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏运维录

    Redis性能分析

    前言 redis性能分析常见的有以下几个方面: redis slowlog分析 SCAN,SSCAN,HSCAN和ZSCAN命令的使用方法 redis是否受到系统使用swap redis watchdog 定位延时 关于redis的延时监控框架,可参考官网资料下面我们分别从这几个方面来介绍 redis slowlog分析 慢查询设置在Redis中有两种修改配置的方法,一种是修改配置文件 slowlog-log-slower-than 并不包括命令排队和网络传输时间.因此客户端执行命令的时间会大于命令的实际执行时间.因为命令执行排队机制,慢查询会导致其他命令级联阻塞,因此客户端出现请求超时时,需要检查该时间点是否有对应的慢查询,从而分析是否为慢查询导致的命令级联阻塞 watchdog定位延时 注意:实验功能,请确保redis数据已备份,会对redis服务性能产生影响 Redis software watchdog #该功能只能动态启用,使用以下命令: CONFIG 2) (integer) 207 2) 1) (integer) 1480865711 2) (integer) 217 LATENCY DOCTOR延时事件统计信息的智能分析与建议

    1.5K30发布于 2019-11-19
  • 来自专栏对线JAVA面试

    Redis 性能问题分析

    在一些网络服务的系统中,Redis性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。 比如微博,把热点微博、最新的用户关系都存储在 Redis 中,大量的查询击中 Redis,而不走 MySQL。 那么,针对 Redis 服务,我们能做哪些性能优化呢? 或者说,应该避免哪些性能浪费呢? Redis 性能的基本面 在讨论优化之前,我们需要知道,Redis 服务本身就有一些特性,比如单线程运行。 除非修改 Redis 的源代码,不然这些特性,就是我们思考性能优化的基本面。 那么,有哪些 Redis 基本特性需要我们考虑呢? 考虑操作系统和硬件是否影响性能 Redis 运行的外部环境,也就是操作系统和硬件显然也会影响 Redis性能

    82610编辑于 2022-10-27
  • 来自专栏公众号-测试驿栈

    Redis性能分析思路

    Redis性能分析有几个大的方向。 分别是 (1)基准对比 (2)配置优化 (3)数据持久化 (4)键值优化 (5)缓存淘汰 (6)Redis集群 基准对比         在没有业务实例运行的情况下,在服务器上通过测试Redis 实例的基准性能来对比有实例运行情况下的 redis性能。 此时total_commands_processed增长会很快         如果是个别指令很慢导致的延迟增加,那么可以看到total_commands_processed下降或者不变,而Redis性能却在明显下降         如果实例的延迟时间是Redis基准性能时间的1.5-2倍以上,可以认为这个Redis实例性能比较差 配置优化 linux配置优化 vm.overcommit_memory Redis是内存数据库

    61020编辑于 2022-05-10
  • 来自专栏咸鱼学Python

    硬货 | Redis 性能问题分析

    来源:rrd.me/gteAC 嘿,我是咸鱼,之前给大家推荐过关于 redis 的不少干货,这次再一起学习一下 Redis性能分析。 在一些网络服务的系统中,Redis性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。 所以,尽量不要在生产环境的代码使用这些执行很慢的指令,这一点 Redis 的作者在博客[8]中也提到了。另外,运维同学查询 Redis 的时候也尽量不要用。 考虑操作系统和硬件是否影响性能 Redis 运行的外部环境,也就是操作系统和硬件显然也会影响 Redis性能。 [8] 博客: https://redis.io/topics/latency#i39ve-little-time-give-me-the-checklist [9] 注释: https://github.com

    1.1K00发布于 2020-03-16
  • 来自专栏让技术和时代并行

    redis AOF性能瓶颈分析

    什么是AOF AOF是redis防止数据丢失的日志备份策略,总共有三种方式 Always 同步写回:每个写命令执行完同步地将日志写回磁盘;可靠性高,数据基本不会丢失,但同时每次命令都需要写到磁盘,性能影响比较大 ,可能会丢失1s左右的数据,但是性能得到了保证。 由操作系统控制何时写会,性能非常好;如果发生宕机,也会造成大量数据丢失。 说到AOF,其实很多人都会拿它跟Rdb去做比较,Rdb是以二进制的方式存储到磁盘上。 另外一点,RDB和AOF对客户端的写入性能影响,一般情况下,AOF的写入性能是比不上RDB的,因为AOF多了一个写入操作,但是随着写入数据量越来越大,这个差距会越来越小。 具体可以参考redis官网https://redis.io/topics/persistence,这里不过多赘述。 2.

    1.3K20编辑于 2023-03-18
  • 来自专栏运维

    Redis集群性能问题深度分析

    Redis集群性能问题深度分析 参考 Redis开发与运维 https://redis.io/ http://www.redis.cn/ https://github.com/antirez/redis 2,集群扩容,升级到3.2.9版本后为了均摊QPS扩容了几个节点,后续发现有2个节点内核版本比其他的高但是性能反而表现比其他差,后替换了同版本的内核。 4,建立了CacheCloud监控系统,便于分析观察问题,另外Zabbix也使用Redis模版出现大故障时会报错。 6,每个Redis集群版本升级在功能与性能上都有比较大的提升,需要持久化功能的集群后续可以使用4.0.2版本,另外如果使用虚拟化不建议使用XEN、Hyper-V等,最好使用vSphere压力测试vSphere 一,发现问题 1,慢查询 slowlog get n 默认保留128个日志执行超过10毫秒的记录,可以根据实际情况修改 2,应用报错 主要是应用邮件报超时 二,分析问题 1,内在原因 1)API或数据结构使用不合理

    2K11发布于 2018-11-14
  • 来自专栏我的独立博客

    redis georadius源码分析性能优化

    完工后对服务进行压测后发现georadius的性能比预期要差,因此我分析了georadius的源码,并对原始的实现方案进行了优化,总结成了本文。 我们生产环境使用的redis版本为4.0.13,因此本文redis源码皆为4.0.13版本的源码 redis geo原理 往redis中添加坐标的命令是GEOADD key longitude latitude 又因为redis工作线程是单线程的,因此无法充分利用多核,无法通过增加redis server的CPU核数来提升性能,只能添加从库。 80% 86 90% 92 95% 98 98% 104 99% 111 100% 159 (longest request) 可以看到性能并没有巨大的提升 80% 22 90% 24 95% 26 98% 28 99% 30 100% 66 (longest request) 可以看到当优化后性能更差了

    42210编辑于 2024-09-02
  • 来自专栏NetCore 从壹开始

    【BlogBook书】8、MiniProfiler:接口性能分析

    框架集成MiniProfiler+Swagger来做接口的简单性能分析,和每次请求中相关的Sql执行情况报告; 一、相关的依赖注入配置 // 服务注册 builder.Services.AddMiniProfilerSetup 中间件 app.UseMiniProfilerMiddleware(); 相关参数设置 "Startup": { "MiniProfiler": { "Enabled": true //性能分析开启

    49710编辑于 2024-02-22
  • 来自专栏架构师成长之路

    Redis详解(6)性能监控:问题分析和优化

    分析redis故障的Root cause redis容量规划和性能管理 redis硬件资源利用率和成本 1、redis故障快速发现,定位故障点和解决故障 当redis出现故障时,DBA应在尽可能短时间内发现告警 2、分析redis故障的根本原因 任何一个故障和性能问题,其根本“诱因”往往只有一个,称为这个故障的Root cause。 3、Redis容量规划和性能管理 通过分析redis资源使用和性能指标的监控历史趋势数据;对集群进行合理扩容(Scale-out)、缩容(Scale-back);对性能瓶颈优化处理等。 要分析解决这个性能问题,需要跟踪命令处理数的数量和延迟时间。 详细分析见文章: Redis复制中断和无限同步问题 。

    4K21编辑于 2022-04-14
  • 来自专栏用户8851537的专栏

    Redis之AOF持久化文件重载性能分析

    前面的话 测试将54w多条数据bak出来,在一台新的redis数据库重载,查看带来的压力 546167) "nssum005471" 546168) "nssum397176" 546169) "nssum196383 " 546170) "nssum163750" (17.14s) redis的aof文件大小 47M root@233:~/redis-5.0.4# ll -h /var/lib/redis/ total 6379> bgsave Background saving started 127.0.0.1:6379> 测试 在重载的某一刻,cpu的idl值直接为0,真是重重的的一击 loading的过程中,redis

    32330发布于 2021-07-27
  • 来自专栏运维开发故事

    Redisson 高性能 Redis 分布式锁源码分析

    当线程 1 释放锁之后,会触发 redis 的解锁消息,消息的观察者会观察到然后去唤醒解锁的逻辑,线程 2 继续竞争锁。 配置部分 Config config = new Config(); String address = "redis://127.0.0.1:6379"; ('exists', KEYS[1]) == 0) then " + "redis.call('hincrby', KEYS[1], ARGV[2], 1 ); " + "redis.call('pexpire', KEYS[1], ARGV[1]); " + "return nil; " + "end; " + "if (redis.call('hexists',

    1.2K30编辑于 2022-09-15
  • 来自专栏后端码事

    Redis 性能测试

    \redis-benchmark.exe -n 100 测试结果: ====== PING_INLINE ====== 100 requests completed in 0.00 seconds

    77750发布于 2020-09-11
  • 来自专栏技术杂记

    Redis 复制8

    "slave-priority"2) "100"3) "slave-serve-stale-data"4) "yes"5) "slave-read-only"6) "yes"7) "slaveof"8)

    33020编辑于 2022-07-09
  • 来自专栏Golang开发

    Redis(8)——Bitmaps

    现代计算机用二进制作为信息的基本单位,一个字节等于8位。合理的利用位能够有效的提高内存使用率和开发效率。Bitmaps本身不是一种数据结构,实际上它就是字符串,但是他可以对字符串的位进行操作。 6379> setbit unique:users:2019-04-30 5 1 (integer) 0 127.0.0.1:6379> setbit unique:users:2019-04-30 8 -04-28 unique:users:2019-04-30 (integer) 3 127.0.0.1:6379> bitcount user:or:2019-04-28-30 (integer) 8

    71520发布于 2019-05-29
  • 来自专栏ops技术分享

    redis入门(8

    四.编写启动脚本 1.根据情况填写对应变量 vim man-redis #! /bin/bash install_dir=/usr/local server_dir=redis log_dir=/var/log port=6379 if [[ "$1" == "start" ]] -eq 0 ];then echo "redis Already started" exit fi nohup ${install_dir}/${server_dir }/bin/redis-server ${install_dir}/${server_dir} &> ${log_dir}/${server_dir}/redis.log & elif [[ "$1" /usr/local/bin chmod +x /usr/local/bin/man-redis man-redis start

    44500发布于 2021-05-18
  • 来自专栏用户8644135的专栏

    Redis 性能测试

    Redis 性能测试 Redis 性能测试是通过同时执行多个命令实现的。 语法 redis 性能测试的基本命令如下: redis-benchmark [option] [option value] 注意:该命令是在redis的目录下执行的,而不是redis客户端的内部指令。 实例 以下实例同时执行10000个请求来检测性能: [root@localhost ~]# redis-benchmark -n 10000 -q PING_INLINE: 99009.90 requests 50 5 -n 指定请求数 10000 6 -d 以字节的形式指定 SET/GET 值的数据大小 2 7 -k 1=keep alive 0=reconnect 1 8 -r SET/GET/INCR 实例 以下实例我们使用了多个参数来测试redis性能: [root@localhost ~]# redis-benchmark -h 127.0.0.1 -p 6379 -t set,lpush -n

    1.1K20发布于 2021-07-02
  • 来自专栏*坤的Blog

    redis性能测试

    *注意*   每次读写时候,由于电脑性能对比有差异性,所以可以先行通过3.2.4的快速测试,对比一下自己的电脑性能之后再进行测试,因为楼主昨天做测试的时候电脑有些卡,导致今天的数据重新测试时候都快了很多 窗口.   3.1.2 测试过程:   主从均关闭,开启主redis导入少量数据到主redis,开启从redis,从redis有一样的数据.    主从均关闭,开启从redis,删除少量数据到从redis(management tool for redis),开启主redis,主redis数据不变化,刷新从,从redis恢复原来的数据.    return PlanProprity.PMore1; if(i==7) return PlanProprity.PMore2; if(i==8)   通过结果对比分析可以看到,快速的读写操作的速度还是比较高效的,从这里也可以看到电脑性能对于程序的影响,这个是正常编辑代码时候输出的效率,读者可以对比自己的电脑输出的时间,和楼主的数据做一个误差对比

    3.2K21发布于 2018-06-04
  • 来自专栏兜兜毛毛

    Redis 事务(8

    为什么要用事务 Redis的单个命令是原子性的(比如get set mget mset),如果涉及到多个命令的时候,需要把多个命令作为一个不可分割的处理序列,就需要用到事务。 Redis的事务有两个特点: 按进入队列的顺序执行。 不会受到其他客户端的请求的影响。 这个显然不符合我们对原子性的定义,也就是我们没办法用Redis的这种事务机制来实现原子性,保证数据的一致。 为什么在一个事务中存在错误,Redis不回滚? 这种方式也有其合理之处:只有当被调用的Redis命令有语法错误时,这条命令才会执行失败(在将这个命令放入事务队列期间,Redis能够发现此类问题),或者对某个键执行不符合其数据类型的操作:实际上,这就意味着只有程序错误才会导致 Redis命令执行失败,这种错误很有可能在程序开发期间发现,一般很少在生产环境发现。

    62920发布于 2020-03-19
  • 来自专栏Java架构师必看

    Redis 性能优化

    Redis 性能优化 一、Linux 操作系统 ---- 【1】ulimit 与 TCP backlog:1)、修改 ulimit:通过 ulimit 修改 open files 参数,redis 建议把 core/somaxconn #但是这样系统重启后保存不了 4 5 #持久化设置: 在 /etc/sysctl.conf 中添加如下: 6 #net.core.somaxconn = 2048 7 8 2)、优化:调整 maxclients,或者优化 redis 命令处理性能。 三、Redis 性能测试 ---- Redis 官网自动 Redis 性能测试工具 Redis-benchmark,可以有效的测试 Redis 服务的性能。 ? 服务器性能 1 .

    2.1K30发布于 2021-04-25
  • 来自专栏Java实战博客

    Redis 性能测试

    Redis官方已经说了,Redis有官方自己的性能测试工具! https://redis.io/topics/benchmarks 我们自己试试吧 redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n 官方的一个所有种类测试的典型例子 # 测试阶段 服务器CPU性能会占用变高 redis-benchmark -q -n 100000 图片说了 每秒SET 命令能处理34545.32个请求。 其他的自行查看 云服务器CPU更强,性能更好,CPU到95% 跑个5W qps 每问题! 宝塔Redis性能测试在:/www/server/redis/src/ # 进入宝塔 redis-benchmark cd /www/server/redis/src # 进行测试 .

    77120编辑于 2022-01-19
领券