在今天 pc机越来越多承担了主要的角色。当我们购买服务器作为承担业务基础服务单元,如何保证服务器的高性能和高可靠性非常关键。
对于服务器我们要关注以下几点
1 与上一代相比,改进与优化的地方,。
2 横向比较,与其他厂商产品的优劣。
3 服务器本身的性能表现。
4 性价比。
5 设计能耗。
通常我们主要针对第三点进行稳定性和性能方面的基准测试。
何为 基准测试 (Benchmark Test, 即BMT)
基准测试是指通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和可对比的测试。
测试的关键点
cpu : 运算、尤其是浮点计算
a 检查整数计算,复杂的浮点计算,关注cpu的计算能力
b 进程分配数量 关注多线程的并发处理能力。
c mutex 锁的处理性能
内存 : 数据访问的带宽,吞吐量
a 总带宽
b 读写效率
c cpu对内存的管理分配
测试内存时要关注读写效率,内存越大越好,可有效减少磁盘物理IO。
磁盘 : IOPS ,响应时间。
a 读写性能
b 随机写性能
关注信息
a 不同内核,文件系统下的iops,内核,文件系统对io操作的算法有所不同,会导致磁盘io性能的差异。
b 不同raid 级别,条带配置场景下的IOPS
c 与内存结合时IOPS表现
d sar -d svctm ,%util
通常,磁盘物理IO是这个计算机体系里最容易成为瓶颈的环节,也是最难优化的,因此最需要关注。随着SSD、Fusion-IO出现,磁盘IOPS获得了巨大提升,和内存相比,差距在不断缩小。
数据库: OLTP,响应时间
a QPS,TPS
b 响应时间,吞吐效率
关注信息
a 不同内核、文件系统下的TPS
b 不同阵列级别、条带场景下的TPS
c 和内存结合时的TPS性能拐点
d 达到同样TPS情景下,IO负载差别
e TPS满负荷、低负荷情景下,各自IO利用率差别
f sar -d:tps、svctm、%util
当数据总量超过物理内存后,OLTP的TPS性能和磁盘IOPS成正比关系。因此,只有不断提高内存,减少物理IO,并且不断提升IOPS性能。
性能基准测试的关键点
硬件
cpu,内存,阵列卡(BBU,CACHE,条带,读写策略) 硬盘
系统
内核参数,文件系统,IO调度算法
文件
块大小,访问方式
其他
a 网络环境对over lan请求测试影响大
b 每完成一轮测试后要净化环境
c 每轮测试一般至少持续1小时
关于测试工具
模拟意外事件
–断电(硬件冷重启)
–RESET(硬件热重启)
–阵列卡掉线
–磁盘掉线
–REBOOT(系统重启)
–正常关闭服务(kill -TERM)
–异常关闭服务(kill -9)
–删除文件
–破坏性修改已打开文件
注意:
–持续压力过大无法反应服务器真实最优表现
–持续压力时间过短亦无法反应服务器真实最优表现
参考文章:
http://imysql.com/2012/12/21/pc-server-benchmarking.html