从底层到上层应用进行排序
一、芯片
在核数相同的情况下,x86芯片性能高于arm
二,操作系统性能测试
操作系统作为连接硬件和软件的接口,不同的操作系统能发挥的硬件和软件性能也不尽相同,参考测试工具:unixbench
优化手段:待补充
三,CPU
和芯片相关,参考测试工具:stress、speccpu2006、speccpu2017,speccpu测试工具需要付费购买
优化措施:一般通过调整BIOS参数,选择更适合当前场景的参数
四,磁盘
磁盘的性能和磁盘类型和带宽相关,通常固态硬盘性能优于机械硬盘,带宽越大性能越好,参考测试工具:fio、iozone
优化措施:更换磁盘、调整磁盘预取参数
五,内存
内存性能和内存条的带宽、类型,还可能和插法有关(比如鲲鹏服务器就需要隔一个槽插一根内存条才能发挥最佳性能),参考测试工具:stream、Lmbench
优化措施:待补充
六,网络
网络性能和网卡以及网络带宽等因素相关,参考测试工具:iperf3、netperf
优化措施:待补充
除了上述工具,greenplum自带的测试命令gpcheckperf也可以测试磁盘网络内存的性能
七、java
参考测试工具:specJBB、jmeter、jmh
八、数据库
参考测试工具:tpc-h、tpc-b、sysbench、benchmarksql
其他
性能命令:perf、iostat、sar、numactl、tashset、ethtool、top、free、lspci、nmon、mpstat、dstat等
参考vmtouch,可以查看缓存中的文件或者将文件加载进缓存提高进程启动速度
常用的构建工具
c/c++:cmake、make
java:maven、gradle、ant