【服务器】当我们对服务器进行测试,我们测试什么?

简介:    在今天 pc机越来越多承担了主要的角色。当我们购买服务器作为承担业务基础服务单元,如何保证服务器的高性能和高可靠性非常关键。 对于服务器我们要关注以下几点   1 与上一代相比,改进与优化的地方,。
   在今天 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小时

关于测试工具
   sysbench 工具  

模拟意外事件
  –断电(硬件冷重启)
  –RESET(硬件热重启)
  –阵列卡掉线
  –磁盘掉线
  –REBOOT(系统重启)
  –正常关闭服务(kill -TERM)
  –异常关闭服务(kill -9)
  –删除文件
  –破坏性修改已打开文件  
注意:
  –持续压力过大无法反应服务器真实最优表现
  –持续压力时间过短亦无法反应服务器真实最优表现
参考文章:
  http://imysql.com/2012/12/21/pc-server-benchmarking.html

目录
相关文章
|
3月前
|
人工智能 Java 测试技术
耐力测试
耐力测试
|
测试技术 定位技术 开发者
从测试看需求
从测试看需求
78 0
从测试看需求
|
测试技术
测试
测试
159 0
|
算法 Go Java
测试2
出于好玩的心态,我决定学习一下Go语言。我认为学习新语言最好的方法就是深入学习,并且尽可能多犯错误。这样做虽然可能会很慢,但是可以确保在后面的过程中再也不会出现编译的错误。 Go语言与我习惯的其他语言不同。
984 0