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多线程的简要测试结果的更多相关文章

  1. centos8平台:redis6配置启用io多线程(redis6.0.1)

    一,linux平台上redis6的安装 请参见这一篇: https://www.cnblogs.com/architectforest/p/12830056.html 说明:刘宏缔的架构森林是一个专注 ...

  2. 转载: 一、linux cpu、内存、IO、网络的测试工具

    来源地址: http://blog.csdn.net/wenwenxiong/article/details/77197997 记录一下 以后好找.. 一.linux cpu.内存.IO.网络的测试工 ...

  3. [Redis] redis在centos下安装测试

    下载软件,使用命令wget xxx,参数:url 例如: wget http://download.redis.io/releases/redis-3.0.0.tar.gz 解压缩,使用命令tar,参 ...

  4. 基于Redis缓存的Session共享测试(转)

    本机ip为192.168.1.101 1.准备测试环境 两个Tomcat 在Eclipse中新建2个Servers,指定对应的Tomcat,端口号错开. Tomcat1(18005.18080.180 ...

  5. Nginx+MySQL+PHP+Redis多机部署(测试发布discuz论坛)

    链接:LNMP+Redis单机部署 1.实战多机部署环境 nginx服务器: 192.168.1.3 php服务器:    192.168.1.4 mysql服务器: 192.168.1.10 red ...

  6. redis和memcached有什么区别?redis的线程模型是什么?为什么单线程的redis比多线程的memcached效率要高得多(为什么redis是单线程的但是还可以支撑高并发)?

    1.redis和memcached有什么区别? 这个事儿吧,你可以比较出N多个区别来,但是我还是采取redis作者给出的几个比较吧 1)Redis支持服务器端的数据操作:Redis相比Memcache ...

  7. Dubbo入门到精通学习笔记(十五):Redis集群的安装(Redis3+CentOS)、Redis集群的高可用测试(含Jedis客户端的使用)、Redis集群的扩展测试

    文章目录 Redis集群的安装(Redis3+CentOS) 参考文档 Redis 集群介绍.特性.规范等(可看提供的参考文档+视频解说) Redis 集群的安装(Redis3.0.3 + CentO ...

  8. [原]Redis主从复制各种环境下测试

    Redis 主从复制各种环境下测试 测试环境: Linux ubuntu 3.11.0-12-generic 2GB Mem 1 core of Intel(R) Core(TM) i5-3470 C ...

  9. Redis集群的使用测试(Jedis客户端的使用)

    Redis集群的使用测试(Jedis客户端的使用)1.Jedis客户端建议升级到最新版(当前为2.7.3),这样对3.0.x集群有比较好的支持.https://github.com/xetorthio ...

  10. SQLServer表变量对IO及内存影响测试

    原文:SQLServer表变量对IO及内存影响测试 1. 测试创建表变量对IO的影响 测试创建表变量前后,tempdb的空间大小,目前使用sp_spaceused得到大小,也可以使用视图sys.dm_ ...

随机推荐

  1. 云图说 | 华为云MCP多云容器平台,让您轻松灾备!

    摘要:多云容器平台是华为云基于多年容器云领域实践经验和社区先进的集群联邦技术,提供的容器多云和混合云的解决方案. 多云容器平台(Multi-Cloud Container Platform,MCP)是 ...

  2. AI论文解读丨融合视觉、语义、关系多模态信息的文档版面分析架构VSR

    摘要:文档版式分析任务中,文档的视觉信息.文本信息.各版式部件间的关系信息都对分析过程具有很重要的作用.本文提出一种融合视觉.文本.关系多模态信息的版式分析架构VSR. 本文分享自华为云社区<论 ...

  3. “互联网+”大赛之智慧校园 赛题攻略:你的智慧校园,WeLink帮你来建

    摘要:本赛题的核心就是借助华为云WeLink的中台服务能力/开发工具等,结合学校的具体的高价值场景,开发出WeLink小程序,方便师生的学习与生活. 本文分享自华为云社区<"互联网+& ...

  4. centos8 测地卸载php5.6 与卸载php7

    centos8 yum php 默认安装 php7.1.2 我想卸载php7 ,安装php5.6 yum remove php 无法彻底卸载干净.必须强制删除,使用下面命令查看全部php软件包 rpm ...

  5. Runnable接口的 run() 方法和start()方法

    1.start()方法来启动线程,真正实现了多线程运行.这时无需等待run方法体代码执行完毕,可以直接继续执行下面的代码:通过调用Thread类的start()方法来启动一个线程, 这时此线程是处于就 ...

  6. SpringBoot Scheduled 常见用法

    外部统一管理可用 xxl-job ,将各定时任务集中管理,灵活改变执行频率,支持某一个定时器集群处理,避免多服务启动时,每个服务都执行(重复执行) 比如我的API服务里有一个定时任务,将API做成集群 ...

  7. vi / vim 键盘图(清晰打印版,桌面背景好图)

    PDF File https://files.cnblogs.com/files/RioTian/vivim-graphical.zip?t=1704439837&download=true ...

  8. 基于HTML,CSS & Javascript 实现图像的自动轮播和手动导航按钮

    不务正业的第n天(划掉 2020年年末在完成Web网页制作课程的大作战,在写代码的时候想到用HTML + CSS & Javascript制作一个图片轮播功能增强网页的功能 简单贴一下代码:注 ...

  9. 【驱动】SPI驱动分析(六)-RK SPI驱动分析

    前言 Linux的spi接口驱动实现目录在kernel\drivers\spi下.这个目录和一些层次比较明显的驱动目录布局不同,全放在这个文件夹下,因此还是只好通过看Kconfig 和 Makefil ...

  10. 【驱动】SPI驱动分析(二)-SPI驱动框架

    SPI驱动框架 SPI驱动属于总线-设备-驱动模型的,与I2C总线设备驱动模型相比,大体框架是一样,他们都是实际的总线.总体框架如下图所示: 从上到下,分为三层,用户空间,内核空间,和硬件层. 用户空 ...