正文
申威3231服务器Redis性能验证-及最全信创CPU性能分析
背景
公司里面新进了几台服务器.
有台申威服务器.
因为前段时间参与过一次申威的POC验证.
当时对性能有一点简单的理解. 但是因为不方便,没有测试更多.
这次有了一台实体机器,并且可以上网, 所以感觉可以方便的多了.
本来想使用SPEC,但是总是编译失败. 没办法准备退回到redis的benchmark上面来.
进行验证.
结论
申威CPU的性能的确是最需要提升的.
ARMv9的倚天在5nm的加持下是性能最好的国产CPU
鲲鹏属于第二梯队
海光被AMD阉割后步入鲲鹏,但是比飞腾要好很多.
安装
可以使用在线安装. redis的版本是 4.0.11
也可以使用编译安装. redis选择的是6.2.8
但是在线安装总是无法解决使用jemalloc的问题.
只能 make MALLOC=libc 的方式进行编译
但是官方包里面的 4.0.11 好像是基于malloc的.
所以想多验证一下.
也跟申威的售后工程师要到了 申威的一个redis介质-6.2.6
主要是对比着几个介质的性能以及与飞腾和鲲鹏做一下横向对比
编译安装的情况
Redis编译安装
耗时:
real 8m44.687s
user 8m37.910s
sys 0m6.750s
注意 官方提供的 4.0.11 的内存分配器为:
mem_fragmentation_ratio:22.02
mem_allocator:jemalloc-5.1.0
active_defrag_running:0
lazyfree_pending_objects:0
进行简单测试
自己编译的6.2.8 使用ptmalloc内存分配: 使用之前的测试脚本
./redis-server redis.conf
cpu=`cat /proc/cpuinfo |grep "model name" |head -n 1 |awk '{print $7}'`
./redis-benchmark -p 56379 -n 200000 -c 20 -q > $cpu.qps
lsof -i:56379 |awk '{print $2}' |xargs kill -9
cat $cpu.qps |grep overall: |head -n 14
echo "另存为一个文件,然后执行如下命令求QPS平均数"
echo "cat 1.txt |awk 'BEGIN{sum=0}{sum+=\$2}END{print sum/NR}'"
简单结果
版本 |
安装方式 |
测试结果 |
6.2.8 |
tar包自己编译 ptmalloc |
21019 |
4.0.11 |
官方源rpm包 jemalloc |
20852 |
- 发现低版本使用 jemalloc的效果也不如高版本好.
- 但是我没有成功进行高版本的redis编译.比较痛苦.
与其他信创机器的比率
CPU型号 |
主频 |
测试平均数 |
CPU发布年份 |
申威 3231 |
2.4Ghz |
21019 |
申威最新一代CPU 怀疑是28nm工艺 2路64核心256G内存物理机 |
飞腾 2000+ |
2.3Ghz |
37079 |
飞腾上一代CPU, 单路64核心128G内存 虚拟机 |
飞腾 2000+ |
2.3Ghz |
50853 |
飞腾上一代CPU, 单路64核心128G内存 物理机 |
飞腾 2500 |
2.1Ghz |
32109 |
飞腾最新CPU,双路128核心1T内存 |
海光7285 |
2.5Ghz |
67911 |
中科曙光AMD ZEN1架构. 14nm 三星 |
鲲鹏920 |
2.6Ghz |
74103 |
华为2019年发布 双路128核心1T内存 台积电7nm |
倚天710 |
2.7Ghz |
165123 |
阿里平头哥2022年发布ArmV9.0 单路支持128核心 台积电5nm |
性能情况汇总-1
性能情况汇总-2