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

发布时间 2023-06-16 19:15:42作者: 济南小老虎

申威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

image


性能情况汇总-2

image