写在前面:大约4年前在中科院软件所,为评估国产兆芯CPU性能,我接触到一些benchmark,涉及CPU指标的就有ubench、sysbench、c-ray、SPEC和unixbench等。
工具在手,不要动脑,跑起来就行。后来情况变了,每个月都有数个系统性能调优的kpi压在身上,你不光要知道这些性能怎么测,还得分析瓶颈在哪,最后还要不断实验去提升性能。
能力有限,很多就不会去关注,像sysbench也是个老掉牙的benchmark了,诞生到现在有15年历史,一个工具走到现在,还有它使用的场景,那肯定有它的价值。
正巧最近又需要验证虚拟化下CPU的性能,仍然利用sysbench去测试,这次既然测了,就不单单只看跑分,看看数据背后的意义。
一、sysbench测试CPU的过程
使用benchmark前,不妨先看下readme,sysbench在CPU上是这样自我定义的:
`cpu`: a simple CPU benchmark
划重点:simple。工具设计之初,就不是为CPU考虑的,它最常使用场景基本在mysql等数据库评测上。所以自评为simple benchmark,必然有原因,这个后面详说。
回归正题,sysbench在大多数Linux下建议yum或apt-get安装,万一需要手动编译,需要注意2点:
如果你的sysbench是运行在64位CPU上,请先确保编译的是64位二进制文件;
万一你的环境是32位CPU,要知