国产信创服务器是近些年信创突破的重点,面对技术封锁和卡脖子限制,如何实现真正的芯片自主可控也是业界发力的方向。在信创服务器主流市场海光和鲲鹏有哪些差异,性能表现如何,本文将重点介绍信创服务器的性能对比测试结果,并进行分析。
1.1.1 CPU架构
CPU(中央处理器)作为计算机系统的运算和控制核心,是信息处理、程序执行的最终执行单元,主要功能包括指令控制、操作控制、时间控制和数据加工。CPU内部通常由三个主要部分组成:运算器、控制器和寄存器。
此外,CPU内部还有高速缓冲存储器(Cache)等组件,用于提高数据和指令的访问速度,降低内存访问延迟。
1.1.2 指令集架构
CPU指令集是计算机中计算和控制计算机系统的所有指令的集合,包含了基本数据类型,指令集,寄存器,寻址模式,存储体系,中断,异常处理以及外部 I/O。简单地来说,指令集一般被整合在操作系统内核最底层的硬件抽象层中,属于计算机中硬件与软件的接口,它向操作系统定义了CPU的基本功能。
现阶段CPU指令集分为CISC(复杂指令集)和RISC(简单指令集)两种。
CISC和RISC发展到现在无论哪一方都没有绝对的优势和劣势,在阵营上CISC以Intel、AMD的X86架构为代表,RISC则以ARM、MIPS、PowerPC等架构为代表。从硬件和性能角度分析,有以下不同:
随着后续技术和生态的发展,CISC和RISC也逐渐走向融合,以X86架构CISC处理器占据了个人PC市场,以ARM架构RISC处理器占据了移动端市场,并随着云计算市场的发展,ARM架构RISC处理器也向服务器市场扩张。
在国内信创服务器领域,以海光为代表的X86架构和以鲲鹏为代表的ARM架构占据了绝对的份额。鲲鹏和海光占据性能优势,在电信、金融等行业已经广泛采用,比如中国移动在2022年上半年发布了服务器补充采购的招标公告,本次补采鲲鹏服务器占比43.30%,海光服务器占比56.70%。X86架构和ARM架构对比,有以下不同之处:
从目前CPU的发展来看,无论是ARM还是X86,都在努力巩固自己的优势,同时积极吸取对方产品的特色,取长补短,期望有所突破。无论如何,未来的CPU肯定在朝着高性能、低功耗的方向发展。
测试背景:国产CPU服务器主流产品包括海光和鲲鹏服务器,因此在国产数据库和信创服务器的适配性和性能对比过程中以海光处理器和鲲鹏处理器为主,并和Intel处理器进行对比。具体的测试服务器配置如下:
测试服务器都是采用虚拟化主机的形式,没有使用物理机,CPU和内存为16c32G。其中操作系统Intel使用Redhat 8.5、海光和鲲鹏使用的是信创Kylin V10版本;CPU型号海光是C86 7285、鲲鹏为Kunpeng-920、Intel是Xeon Gold 6148,CPU主频鲲鹏服务器稍高为2600。其它配置具体见表格。注:海光CPU跨Numa运行,性能有所下降。
2.2.1 CPU性能
使用sysbench压测工具测试服务器的CPU性能,命令如下:
#sysbench cpu –threads=`grep “processor” /proc/cpuinfo |wc -l ` --cpu-max-prime=200000 run
以上命令计算200000以内所有素数所需的时间,测试结果如下:
从CPU性能对比来看,Intel和海光的avg时间为鲲鹏ARM架构的3倍;95%占比Intel为鲲鹏的2.9倍、海光为鲲鹏的3.2倍。总体CPU性能上鲲鹏表现更优,和ARM架构的精简指令集RISC有关系。
2.2.2 内存性能
使用sysbench压测工具测试服务器的内存性能,命令如下:
memory --memory-block-size=8k --memory-total-size=8G run
以上命令测试内存中传输8G的数据量所需时间,测试结果如下:
从测试结果上看,三类服务器差别不大,鲲鹏表现更优。
2.2.3 磁盘IO性能
使用fio命令测试服务器磁盘IO性能情况,命令如下:
fio -direct=1 -iodepth=64 -rw=randrw -ioengine=libaio -bs=16k -size=10G -numjobs=8 -runtime=600 -group_reporting -filename=fiotest.txt -name=test
"-direct=1": "以直接I/O模式运行测试,绕过系统缓存。",
"-iodepth=64": "设置队列深度为64。",
"-rw=randrw": "随机读写模式。",
"-ioengine=libaio": "使用libaio作为I/O引擎。",
"-bs=16k": "设置块大小为16KB。",
"-size=10G": "设置测试文件大小为10GB。",
"-numjobs=8": "设置并发作业数为8。",
"-runtime=600": "设置测试运行时间为600秒。",
"-group_reporting": "汇总报告结果。",
"-filename=fiotest.txt": "设置测试文件名为fiotest.txt。",
"-name=test": "设置测试名称为test。"
从测试结果看,Intel服务器的磁盘IO性能最优、鲲鹏读写性能次之、海光表现相对差些,不排除虚拟机的影响。但整体上信创服务器的IO性能相较Intel_x86架构表现要差些。
混合业务压力测试使用sysbench脚本测试主键select、单insert和混合读写三种场景下在不同并发情况下的性能表现。
2.3.1 主键select性能对比
使用sysbench的oltp_read_only.lua进行主键查询性能测试,结果如下:
从TPS和时延指标来看,Intel服务器表现更优、海光次之、鲲鹏较差,但是海光和鲲鹏服务器在TPS表现上总体较Intel服务器还是有差距,性能上差40%。鲲鹏服务器的CPU表现更好,但是在高并发情况下CPU使用率上不去。
2.3.2 单insert性能对比
使用sysbench的oltp_insert.lua进行单insert性能测试,结果如下:
从TPS和时延指标来看,Intel服务器表现更优、海光次之、鲲鹏较差,在单insert插入场景下海光和鲲鹏服务器在TPS表现上总体较Intel服务器性能上差15%~25%。
2.3.3 混合读写性能对比
使用sysbench的oltp_read_write.lua进行混合读写性能测试,结果如下:
从TPS和时延指标来看,Intel服务器表现更优、海光次之、鲲鹏较差,在混合读写压力场景下海光服务器在TPS表现上总体较Intel服务器性能上差40%、鲲鹏服务器较Intel服务器差50%。鲲鹏服务器在高并发情况下CPU使用率上不去,业务TPS也上不去。
2.3.4 性能比对总结
通过对Intel_x86处理器、海光X86处理器以及鲲鹏ARM处理器三种服务器在主键select、单insert和混合读写测试场景下的性能对比,总体表现如下:
以上数据受限于测试服务器和测试环境,仅供参考。总结下来,国产服务器不论是海光X86还是鲲鹏ARM,和Intel处理器性能对比,存在明显的代差。不过信创服务器的CPU也在不断的迭代发展,从金融行业以及运营商信创服务器的采购中也能看出趋势,说明国芯在性能上还是受到业界肯定的。
补充说明:本文是针对国产数据库和信创服务器的适配性和性能对比测试,受限于实际的测试服务器配置和测试场景,仅供参考。比如测试海光服务器是2代CPU,实际上更高性能的3代也已经出来了。因此,在实际信创服务器选型的时候,以服务器厂商最小产品和测试案例为准。
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞8
添加新评论4 条评论
2024-03-22 17:23
2024-03-21 22:29
2024-03-21 21:44
2024-03-21 14:04