Redis IO多线程的简要测试结果
Redis IO多线程的简要测试结果
摘要
最近想简单确认一下IO多线程的对吞吐量的提升情况.
正好手头有鲲鹏的机器, 所以想直接进行一下验证
顺便用一下4216 进行一下对比.
发现 在CPU核心比较多的情况下 8个IO线程吞吐量能够翻一番.
但是部分命令在4-8线程增加时 差异并不是特别明显.
silver 4216 低价位的intelCPU比鲲鹏920的 吞吐量要高一些, 单没有搞多少.
纯粹压测, 看不太出来绑核与不绑核的差异.
测试命令
./redis-benchmark -h 127.0.0.1 -p 6376 -n 100000 -c 8000 -d 256 --threads 1
# 注意我选择 10万个keys 8000个client 简直大小选择 256字节.
# 注意默认大小是 3个字节, 数值会比较好看,我想把简直设置大一些会好一点
cat 6376_1threads.txt | grep -E "requests per second|====="
通过这个命令进行简要分析出具结果
测试方式
鲲鹏 920 64核心 两路服务器
2.6Ghz 128Core的服务器上面
使用 1 2 4 8 四种线程数量跑四遍
压测过程中使用 top -Hp的方式查看CPU的使用情况:
比如发现某个进程
13276 root 20 0 2278756 1.2g 3080 R 99.7 0.1 1:01.29 io_thd_1
13271 root 20 0 2278756 1.2g 3080 R 99.0 0.1 1:07.60 redis-server
这是两个线程时的监控情况.
出现CPU 高时 主要是执行LGANGE的测试.. GET和SET不会到达这么搞的占用.
如果是四个线程会出现如下的情况:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
35666 root 20 0 1725812 954204 3052 R 99.9 0.1 0:21.90 io_thd_1
35667 root 20 0 1725812 954204 3052 R 99.9 0.1 0:21.89 io_thd_2
35668 root 20 0 1725812 954204 3052 R 99.9 0.1 0:21.89 io_thd_3
35661 root 20 0 1725812 954204 3052 R 99.7 0.1 0:27.58 redis-server
35663 root 20 0 1725812 954204 3052 S 0.0 0.1 0:00.00 bio_close_file
35664 root 20 0 1725812 954204 3052 S 0.0 0.1 0:00.00 bio_aof_fsync
35665 root 20 0 1725812 954204 3052 S 0.0 0.1 0:00.00 bio_lazy_free
35669 root 20 0 1725812 954204 3052 S 0.0 0.1 0:00.25 jemalloc_bg_thd
37399 root 20 0 1725812 954204 3052 S 0.0 0.1 0:00.00 jemalloc_bg_thd
37401 root 20 0 1725812 954204 3052 S 0.0 0.1 0:00.00 jemalloc_bg_thd
37402 root 20 0 1725812 954204 3052 S 0.0 0.1 0:00.00 jemalloc_bg_thd
测试结果
| 线程数 | PING | SET | GET | INCR | LPUSH | RPUSH | RPOP | SADD | HSET | LRANGE_600 | MSET |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 58719 | 58139 | 58788 | 61614 | 57142 | 58207 | 58343 | 61199 | 60024 | 2257 | 42211 |
| 2 | 75585 | 90497 | 74738 | 90991 | 74682 | 75301 | 75131 | 92421 | 90744 | 4211 | 53792 |
| 4 | 126582 | 95328 | 96246 | 125470 | 94339 | 96432 | 95693 | 96339 | 95510 | 4559 | 64432 |
| 8 | 129701 | 97751 | 129198 | 129366 | 97751 | 97656 | 97751 | 129701 | 129198 | 4434 | 65445 |

对比silver 4216与 6150的绑核处理
| 线程数 | PING | SET | GET | INCR | LPUSH | SADD | HSET | LRANGE_600 | MSET |
|---|---|---|---|---|---|---|---|---|---|
| 鲲鹏920 8线程 | 129701 | 97751 | 129198 | 129366 | 97751 | 129701 | 129198 | 4434 | 65445 |
| 4216 8线程 | 130548 | 130718 | 130208 | 130208 | 130378 | 129870 | 130548 | 6069 | 78616 |
| 4216 8线程 绑核 | 130548 | 129701 | 130208 | 130718 | 130039 | 129701 | 130378 | 6826 | 78125 |

4216 的绑核处理
server_cpulist 0-8
bio_cpulist 9-10
aof_rewrite_cpulist 12-15
bgsave_cpulist 16-17
Redis IO多线程的简要测试结果的更多相关文章
- centos8平台:redis6配置启用io多线程(redis6.0.1)
一,linux平台上redis6的安装 请参见这一篇: https://www.cnblogs.com/architectforest/p/12830056.html 说明:刘宏缔的架构森林是一个专注 ...
- 转载: 一、linux cpu、内存、IO、网络的测试工具
来源地址: http://blog.csdn.net/wenwenxiong/article/details/77197997 记录一下 以后好找.. 一.linux cpu.内存.IO.网络的测试工 ...
- [Redis] redis在centos下安装测试
下载软件,使用命令wget xxx,参数:url 例如: wget http://download.redis.io/releases/redis-3.0.0.tar.gz 解压缩,使用命令tar,参 ...
- 基于Redis缓存的Session共享测试(转)
本机ip为192.168.1.101 1.准备测试环境 两个Tomcat 在Eclipse中新建2个Servers,指定对应的Tomcat,端口号错开. Tomcat1(18005.18080.180 ...
- Nginx+MySQL+PHP+Redis多机部署(测试发布discuz论坛)
链接:LNMP+Redis单机部署 1.实战多机部署环境 nginx服务器: 192.168.1.3 php服务器: 192.168.1.4 mysql服务器: 192.168.1.10 red ...
- redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多(为什么redis是单线程的但是还可以支撑高并发)?
1.redis和memcached有什么区别? 这个事儿吧,你可以比较出N多个区别来,但是我还是采取redis作者给出的几个比较吧 1)Redis支持服务器端的数据操作:Redis相比Memcache ...
- Dubbo入门到精通学习笔记(十五):Redis集群的安装(Redis3+CentOS)、Redis集群的高可用测试(含Jedis客户端的使用)、Redis集群的扩展测试
文章目录 Redis集群的安装(Redis3+CentOS) 参考文档 Redis 集群介绍.特性.规范等(可看提供的参考文档+视频解说) Redis 集群的安装(Redis3.0.3 + CentO ...
- [原]Redis主从复制各种环境下测试
Redis 主从复制各种环境下测试 测试环境: Linux ubuntu 3.11.0-12-generic 2GB Mem 1 core of Intel(R) Core(TM) i5-3470 C ...
- Redis集群的使用测试(Jedis客户端的使用)
Redis集群的使用测试(Jedis客户端的使用)1.Jedis客户端建议升级到最新版(当前为2.7.3),这样对3.0.x集群有比较好的支持.https://github.com/xetorthio ...
- SQLServer表变量对IO及内存影响测试
原文:SQLServer表变量对IO及内存影响测试 1. 测试创建表变量对IO的影响 测试创建表变量前后,tempdb的空间大小,目前使用sp_spaceused得到大小,也可以使用视图sys.dm_ ...
随机推荐
- 基于AI的架构优化:创新数据集构造法提升Feature envy坏味道检测与重构准确率
本文分享自华为云社区<华为云基于AI实现架构坏味道重构取得业界突破,相应文章已被软工顶会FSE 2023收录>,作者: 华为云软件分析Lab. 基于AI技术实现架构坏味道检测与重构建议是当 ...
- 【华为云技术分享】40%性能提升,华为云推出PostgreSQL 12 商用版
摘要:日前,华为云数据库正式推出了RDS for PostgreSQL 12版本,并开始商用.本文将从华为云RDS for PostgreSQL 12的4大特性和架构图等多方面来解读华为云Postgr ...
- 探索Reactor网络模型在当今应用领域的革新
本文分享自华为云社区<驾驭网络技术的未来:探索Reactor网络模型在当今应用领域的革新>,作者: Lion Long . 本文介绍了Linux网络设计中的Reactor网络模型及其在实际 ...
- 关于GaussDB(DWS)的正则表达式知多少?人人都能看得懂的详解来了!
摘要:GaussDB(DWS)除了支持标准的POSIX正则表达式句法,还拥有一些特殊句法和选项,这些你可了解?本文便为你讲解这些特殊句法和选项. 概述 正则表达式(Regular Expression ...
- openGemini v0.2.0版本正式发布:5大特性全面增强
摘要:openGemini是华为云面向物联网和运维监控场景开源的一款云原生分布式时序数据库,兼容InfluxDB API,具有高性能.高并发.高扩展等特点. openGemini是华为云面向物联网和运 ...
- JPEG/Exif/TIFF格式解读(1):JEPG图片压缩与存储原理分析
JPEG文件简介 JPEG的全称是JointPhotographicExpertsGroup(联合图像专家小组),它是一种常用的图像存储格式, jpg/jpeg是24位的图像文件格式,也是一种高效率的 ...
- HeaderMap Method has too many Body parameters
在 Feign 方法里面添加 Header 报 Method has too many Body parameters @PostMapping(value = "/sendsms" ...
- Python 数组比较
a = [1, 2, 3, 5, 6, 5, 7, 8] b = [1, 3, 4, 5, 6, 3, 8, 7] print('A => %s' % a) print('B => %s' ...
- [kuangbin] 专题7 线段树 题解 + 总结
[kuangbin] 专题7 线段树 题解 + 总结 kuangbin带你飞:点击进入新世界 kuangbin专题十二 基础DP1 题解+总结:https://www.cnblogs.com/RioT ...
- Codeforces Round #723 (Div. 2) (A~C题题解)
补题链接:Here 1526A. Mean Inequality 给定 \(2 * n\) 个整数序列 \(a\),请按下列两个条件输出序列 \(b\) 序列是 \(a\) 序列的重排序 \(b_i ...