redis性能测试

redis · 浏览次数 : 0

小编点评

总结: 本次测试主要针对Redis 7.2.5在单线程、多线程以及pipeline模式下的性能表现。通过对比不同测试场景下的性能指标,得出以下结论: 1. 在当前场景下,Redis单线程和多线程的表现差异不大,可能是因为任务较为简单,对性能要求不高。 2. 使用pipeline模式可以显著提高基准性能,较非pipeline模式下性能提升约2倍,基准性能约为12~13万每秒。 3. 当开启8个IO线程时,Redis的性能有所下降,平均约为16W左右,可能是由于线程竞争导致的资源争用。 4. 在采用Pipeline模式和多线程的情况下,性能表现有显著提升,尤其在处理大量数据的写入时,效果更加明显。 综上所述,Redis在单线程和多线程场景下的性能差异较小,但通过使用pipeline模式和增加IO线程数量,可以有效提高Redis的性能表现。

正文

环境

redis 7.2.5
主频
核心数
内存
2.5GHz
32
64GB

测试结论

  • 当前场景下redis单线程、多线程表现差异不大
  • 使用pipeline模式可以显著提高基准性能
  • 非pipilie下redis性能再12~13w左右
  • pipiline下redis性能在35w左右

测试记录

单线程redis基准测试(只测试set,客户端与redis不同节点)

Redis-benchmark 测试(跨机器传输,写入256字节,一个key)

redis-benchmark -h 192.168.8.63 -p 6379 -t set -n 32000000 -d 256

网络带宽

Redis cpu占用

性能指标

12.6w

python多进程程序测试(跨机器传输,写入256字节,不同的key)

网络带宽

 

Redis cpu占用

性能指标

13W
 

Redis-benchmark 测试(跨机器传输,Pipeline模式p=16,写入256字节,key空间100000000)

redis-benchmark -h 192.168.8.63 -p 6379 -t set -n 32000000 -d 256 -r 10000000 -P 24

网络带宽

Redis cpu占用

性能指标

34.w

Redis开启8个IO线程,未开启持久化(只测set,客户端与redis相同节点)

Redis-benchmark 测试(写入3字节,一个key)

./redis-benchmark -h 192.168.8.63 --threads 8 -n 100000000 -c 200 -t set

Redis cpu占用

性能指标

平均16W左右
 

Redis-benchmark 测试(写入256字节,key空间100000000)

Redis cpu占用

性能指标

平均12.2W左右
 

Redis-benchmark 测试(Pipeline模式p=16,写入256字节,key空间100000000)

./redis-benchmark -h 192.168.8.63 --threads 8 -n 10000000 -t set -r 100000000 -d 256 -c 200 -P 16

性能指标

35.5W
 

Redis-benchmark 测试(跨机器传输,Pipeline模式p=16,写入256字节,key空间100000000)

redis-benchmark -h 192.168.8.63 -p 6379 -t set -n 32000000 -d 256 -r 10000000 -P 24

网络带宽

Redis cpu占用

性能指标

33.9w
 

参考

https://redis.io/docs/latest/operate/oss_and_stack/management/optimization/benchmarks/#factors-impacting-redis-performance
https://zhuanlan.zhihu.com/p/76788470
https://www.cnblogs.com/wy123/p/14180499.html

与redis性能测试相似的内容:

redis性能测试

环境 redis 7.2.5 主频 核心数 内存 2.5GHz 32 64GB 测试结论 当前场景下redis单线程、多线程表现差异不大 使用pipeline模式可以显著提高基准性能 非pipilie下redis性能再12~13w左右 pipiline下redis性能在35w左右 测试记录 单线程r

[转帖]性能最高提升36%!基于阿里云倚天实例的Redis性能测试验证

性能最高提升36%!基于阿里云倚天实例的Redis性能测试验证 https://aijishu.com/a/1060000000376643 云计算Benchmark性能优化Arm 处理器Alibaba 本文转载自阿里云开发者社区。https://developer.aliyun.com/... 简

申威3231服务器Redis性能验证-及最全信创CPU性能分析

# 申威3231服务器Redis性能验证-及最全信创CPU性能分析 ## 背景 ``` 公司里面新进了几台服务器. 有台申威服务器. 因为前段时间参与过一次申威的POC验证. 当时对性能有一点简单的理解. 但是因为不方便,没有测试更多. 这次有了一台实体机器,并且可以上网, 所以感觉可以方便的多了.

OpenEuler2203 基于容器和本地文件部署Redis Cluster的过程以及简单性能测试

背景 其实文件搭建和集群搭建没有任何区别 这次用先用容器搭建出来,然后测试一下性能 想着再使用本地部署的方式搭建一下. 两项验证容器和基于文件的搭建的性能差异 部分资料来源: https://blog.csdn.net/weixin_54441446/article/details/12477254

[转帖]看看 Jmeter 是如何玩转 redis 数据库的

柠檬小欧 2021-08-31 20:06420 Jmeter 作为当前非常受欢迎的接口测试和性能测试的工具,在企业中得到非常广泛的使用,而 Redis 作为缓存数据库,也在企业中得到普遍使用,那如何使用 jmeter 来测试 Redis 数据库呢?今天我们就来讲一讲怎么使用 jmeter 来调用

Redis 不同插入方法的性能对比

1. 测试目的 对比 Redis 不同插入方法(插入同时能设置过期时间)的性能区别。 2. 测试数据 key:SMGP_ value:JSON数据 { "spName":"100003", "protocol":"SMGP", "remoteAddress":"192.192.192.192:441

近十年CPU性能提升效果分析

# 近十年CPU性能提升效果分析 ## 测试脚本 ``` ./redis-server redis.conf cpu=`cat /proc/cpuinfo |grep "model name" |head -n 1 |awk '{print $7}'` ./redis-benchmark -p 56

[转帖]Redis 性能优化的 13 条军规!史上最全

https://zhuanlan.zhihu.com/p/118532234 Redis性能优化实战方案 Redis 是基于单线程模型实现的,也就是 Redis 是使用一个线程来处理所有的客户端请求的,尽管 Redis 使用了非阻塞式 IO,并且对各种命令都做了优化(大部分命令操作时间复杂度都是 O

[转帖]Redis性能调优万字总结,面试必问!

https://zhuanlan.zhihu.com/p/541745804 于哥你好,最近面试挺多的,尤其是在问到java面试题,Redis被问的特别多,比如 Redis的内存模型? Redis的底层数据结构是怎么的? Redis的多线程模型 Redis的集群原理 Redis的雪崩,击穿,穿透怎么

[转帖]Redis性能之内部阻塞式操作及应对方法

文章目录 Redis实例都有哪些阻塞点和客户端交互的阻塞点集合的全量查询和聚合操作bigkey删除操作清空数据库 磁盘交互的阻塞点主从节点交互时的阻塞点切片集群实例交互时的阻塞点可以异步执行的阻塞点异步的子线程总结 Redis的网络IO和键值对读写都是由主线程完成的。 Redis实例都有哪些阻塞点