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

    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性能

    82510编辑于 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是内存数据库

    60720编辑于 2022-05-10
  • 来自专栏让技术和时代并行

    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
  • 来自专栏咸鱼学Python

    硬货 | Redis 性能问题分析

    来源:rrd.me/gteAC 嘿,我是咸鱼,之前给大家推荐过关于 redis 的不少干货,这次再一起学习一下 Redis性能分析。 在一些网络服务的系统中,Redis性能,可能是比 MySQL 等硬盘数据库的性能更重要的课题。 或者说,应该避免哪些性能浪费呢? Redis 性能的基本面 在讨论优化之前,我们需要知道,Redis 服务本身就有一些特性,比如单线程运行。 除非修改 Redis 的源代码,不然这些特性,就是我们思考性能优化的基本面。 那么,有哪些 Redis 基本特性需要我们考虑呢? 考虑操作系统和硬件是否影响性能 Redis 运行的外部环境,也就是操作系统和硬件显然也会影响 Redis性能

    1.1K00发布于 2020-03-16
  • 来自专栏运维

    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) 可以看到当优化后性能更差了

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

    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.1K30编辑于 2022-09-15
  • 来自专栏后端码事

    Redis 性能测试

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

    77150发布于 2020-09-11
  • 来自专栏用户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 性能测试工具可选参数如下所示: 序号 选项 描述 默认值 1 -h 指定服务器主机名 127.0.0.1 2 -p 指定服务器端口 6379 3 -s 指定服务器socket 4 -c 指定并发连接数 实例 以下实例我们使用了多个参数来测试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恢复原来的数据.    主从均开启,操作部分数据到主redis,从redis有同样的数据,   主从均开启,删除部分数据(management tool for redis)到从redis,主redis原有数据不会变动,再次刷新从   通过结果对比分析可以看到,快速的读写操作的速度还是比较高效的,从这里也可以看到电脑性能对于程序的影响,这个是正常编辑代码时候输出的效率,读者可以对比自己的电脑输出的时间,和楼主的数据做一个误差对比

    3.2K21发布于 2018-06-04
  • 来自专栏Java架构师必看

    Redis 性能优化

    Redis 性能优化 一、Linux 操作系统 ---- 【1】ulimit 与 TCP backlog:1)、修改 ulimit:通过 ulimit 修改 open files 参数,redis 建议把 2)、优化:调整 maxclients,或者优化 redis 命令处理性能。 2)、当使用主从复制时,性能压测下,数据量会急剧增长,导致从节点需要复制的数据很大,消耗时长增加。 三、Redis 性能测试 ---- Redis 官网自动 Redis 性能测试工具 Redis-benchmark,可以有效的测试 Redis 服务的性能。 ? 服务器性能 1 .

    2K30发布于 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
  • 来自专栏ops技术分享

    redis性能测试redis-benchmark

    一.介绍 redis-benchmark是Redis自带的基准性能测试工具, 它提供了很多选项帮助开 发和运维人员测试Redis的相关性能。 二.例子 50个客户端同时请求Redis,一共一万次。 redis-benchmark -c 50 -n 10000 ====== MSET (10 keys) ====== 10000 requests completed in 0.13 seconds milliseconds 100.00% <= 2 milliseconds 77519.38 requests per second #每秒可以处理77519.38次get请求 三.参数 -q 仅仅显示redis-benchmark -P 代表每个请求pipeline的数据量(默认为1) -k 代表客户端是否使用keepalive, 1为使用, 0为不使用, 默认值为1 -t 可以对指定命令进行基准测试 例如:redis-benchmark

    1.4K50发布于 2021-05-20
  • 来自专栏Java架构师必看

    关于redis性能问题分析和优化,看这篇就够了

    分析解决这个性能问题,需要跟踪命令处理数的数量和延迟时间。 比如可以写个脚本,定期记录total_commands_processed的值。 使用延迟命令提高性能 一旦确定延迟时间是个性能问题后,这里有几个办法可以用来分析解决性能问题。 1. 性能数据指标:分析解决Redis性能问题,通常需要把延迟时间的数据变化与其他性能指标的变化相关联起来。 对于这种性能指标相关联的分析,需要从历史数据上来观察到数据指标的重要变化,此外还可以观察到单个性能指标相关联的所有其他性能指标信息。 这些数据可以在Redis上收集,周期性的调用内容为Redis info的脚本,然后分析输出的信息,记录到日志文件中。当延迟发生变化时,用日志文件配合其他数据指标,把数据串联起来排查定位问题。

    4K31编辑于 2021-12-24
  • 来自专栏黑光技术

    Redis源码分析1:Redis启动分析

    timg.jpeg 前言 近期决定把redis的源码阅读分析一下,在官网下载了最新稳定版本5.0.3。 持久化和复制 基本的代码结构 这里首先就开始一部分的分析,这里先介绍一下redis的主体结构,文件的分类,服务的基本编译,测试和启动流程。 的启动上做一个简单的分析,之后在对其基本网络模型进行分析。 其它慢日志等初始化 redis的事件驱动框架也是redis中非常重要的一个设计,下次分析网络的时候会梳理这块。 8. 的启动代码做了一个初步的分析,只是梳理出来redis的基本启动过程,但是每个参数、事件驱动、哨兵等机制和功能到底是怎么样的,还没有具体的分析,这个放到后面逐步分析

    3.1K41发布于 2019-03-10
  • 来自专栏若尘的技术专栏

    Redis 分析

    高效的数据结构 Redis 中有多种数据类型,每种数据类型的底层都由一种或多种数据结构来支持。正是因为有了这些数据结构,Redis 在存储与读取上的速度才不受阻碍。 而 Redis 就是 C 语言实现的,那为什么还要重复造轮子? 而内存分配是会消耗性能的,那么性能下降在所难免。 而 Redis 中会涉及到字符串频繁的修改操作,这种内存分配方式显然就不适合了。 ,通常是多个客户端连接 Redis,然后各自发送命令至 Redis 服务器,最后服务端处理这些请求返回结果。 Redis 又是基于它工作的,所以说 Redis 是单线程的。 总结 基于内存实现 数据都存储在内存里,减少了一些不必要的 I/O 操作,操作速率很快。

    79175编辑于 2021-12-15
  • 来自专栏blog(为什么会重名,真的醉了)

    Redis-性能测试(redis-benchmark)

    文章目录 redis-benchmark 命令参数 测试示例 redis-benchmark ---- redis-benchmark是官方自带的性能测试工具,我们可以设置相关参数进行性能测试。 值的数据大小 3 -k 1=keep alive 0=reconnect 1 -r SET/GET/INCR 使用随机 key, SADD 使用随机值 -P 通过管道传输 请求 1 -q 强制退出 redis 测试示例 ---- Redis安装可参考上一篇博客 先连接上Redis ? 输入测试命令,设置相关参数等。 redis-benchmark -c 100 -n 100000 ? 感受到了Redis是真的快 ? 原创不易,请勿转载(本不富裕的访问量雪上加霜 ) 博主首页:https://blog.csdn.net/qq_45034708

    1.5K20发布于 2020-09-15
领券