ItGo.me - 专注IT技术分享

首页 > Redis > Redis 响应延迟问题排查

Redis 响应延迟问题排查

时间:2016-08-28来源:网友分享 点击:

参考原文:

最近数据量越来越多,并发写操作很多的情况下,Redis出现响应慢的情况;

可以使用 Redis命令来测试一下redis的响应速度:

redis-cli --latency -h 'xxx' -p 'xxxx'

这条命令会向Redis插入示例数据来检查平均延时。 Ctrl+C可以随时结束测试;

下面我们列一下会出现延时的可能:

  • 硬件,系统:硬件问题是所有问题最底层的问题了,如果硬件慢,例如CPU主频低,内存小,磁盘IO慢,这些会让所有运行在上面的系统响应慢;另外,使用虚拟机会让系统运行的性能太为下降;当然,有钱的话,这问题很容易解决;系统方面,Linux本身的系统资源调度也会产生一定的延时。这些一般不会很大,可以忽略不计;

  • 网络:如果客户端和redis在同一台服务器上,使用socket建立连接会比监听 TCP/IP 端口快很多;

  • Redis命令:一些时间复杂度比较高的命令,如 lrem,sort,sunion等命令会花比较长时间;另外,大量的重复连接也会造成延时,重用连接是一种很好的品质;如果有大量写操作,可以使用 pipeline 管道的方式(类似mysql事务),一次性提交,这样数据量也少了,连接次数也少了,不用每次都返回数据,速度自然会快很多;

  • 持久化:Redis持久化需要fork出一个进程来进行持久化操作,这本身就会引发延时,如果数据变化大,RDB配置时间短,那这个代价还是挺大的;再加上,硬盘这东西真有点不靠谱,如果还是虚拟机上的虚拟硬盘,如果还是NFS共享目录,那这延时会让你崩溃。所以,如果系统不需要持久化,关了吧。



Redis提供了SlowLog可以供我们分析执行速度慢的命令,可以分析一下;操作系统方面,可以使用 iostat 查看一下硬盘速度,使用 vmstat 查看一下内存分页情况;

整体优化好,系统响应才会更快;

来自:


Redis 响应延迟问题排查

Redis 响应延迟问题排查  讨论


Nagios的redis监控插件 check_redis.py

最近写的简单监控redis-server的nagios插件,请大家多多拍砖 使用python3 ,由于用了argparse,2.7以后版本才有 使用redis-py API 使用前执行: #git clone #python3 redis-py/ install 附赠nagiosgraph绘图模版 # CHECK...

为什么使用 Redis及其产品定位

传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访...

Nginx 模块 - HttpRedis

HttpRedis 是 Nginx 的一个第三方扩展模块,用于实现 Nginx 直接使用 Redis 做为缓存系统。 配置实例: server {location / {set $redis_key $uri;redis_pass name:6379;default_type text/html;error_page 404 = /fallback;}location...

参考原文: 最近数据量越来越多,并发写操作很多的情况下,Redis出现响应慢的情况; 可以使用 Redis命令来测试一下redis的响应速度: redis-cli--latency-h'xxx'-p'xxxx' 这条命令会向Redis插入示例数据
------分隔线----------------------------