压力测试中redis的坑

Raven's Blog

Home Page View on GitHub Send Email

压力测试中redis的坑

好久没写blog了,今天有时间稍微记录下在项目压测中遇到的坑

项目依赖redis,发现并发上来后,redis的耗时会非常严重(只是简单的get set操作,加上java序列化,耗时最长能到3秒),经同事点拨,可能是redis配置的后台持久化功能引发的性能瓶颈,马上修改配置关掉相关配置项,从新压测性能得到显著的提高。

redis默认只是用RDB的方式持久化,策略配置是:

  1. save 900 1 #900秒内有1次key更改
  2. save 300 10 #300秒内有10次key更改
  3. save 60 10000 #60秒内有10000次key更改

压测情况下,一分钟很容易到达1W次的key更改,每次持久化都要fork子进程,dump内存中的数据,如果一分钟内没有dump完,下一分钟又fork了进程dump,进而导致性能下降

联系作者:aducode@126.com
更多精彩文章请点击:http://aducode.github.io