防范未然:如何避免服务器基准测试错误运营维护

2010-07-06    来源:TechTarget中国    编辑:王霆/译
服务器基准测试对于保持系统性能而言相当关键,对容量规划也很有用。不论你是否使用Windows内置的基准测试工具或是其它商用产品,服务器基准测试结果都很有意义。借此机会我们来

  服务器基准测试对于保持系统性能而言相当关键,对容量规划也很有用。不论你是否使用Windows内置的基准测试工具或是其它商用产品,服务器基准测试结果都很有意义。借此机会我们来讨论一下常见的基准测试错误,以及这些错误会对系统产生什么危害。

  基准测试必须找对位置

  在我刚从事IT行业时,我参加过一个微软认证培训,其中的一节课让我终生难忘。早上的时间,老师讲了性能监控的手段和常见问题。午饭过后,老师告诉我们他已将一些客户端计算机连入我们的实验服务器,要求我们使用性能监控工具来测试终端用户是否能够获得满意的用户体验。

  借助我刚刚学到的知识,我开始使用性能监控工具来检查各种硬件瓶颈。我检查了CPU、硬盘和内存的性能,然后得出结论说连接到服务器的终端用户可以获得比较满意的用户体验。

  问题的关键是,我的方法没有任何问题,但我没有找对位置。老师的问题是终端用户能否获得满意的用户体验,而不是服务器负载性能如何。尽管说这两个问题提出来似乎都一样,但实际上是完全不同的结果。终端用户体验不够好主要是受网络瓶颈的影响,而后者也可能是受服务器性能的影响。如果我能够花点时间去测试一下客户端设备,而不是只测试服务器,我可能就能知道答案。这节课的目的在于告诉大家基准测试工具可以提供有价值的信息,但只有你正确地去使用这种工具,才能利用好这些信息。

  切莫混淆服务器基准测试工具

  当然除了上述问题之外关于基准测试还有很多需要注意的地方。保证你测试的统一性也是相当重要的。

  例如,如果你老板告诉你一台文件服务器平时业务时间内的硬盘利用率达到了97%(有些太高了)。为了减缓这台服务器的压力,公司最近新布署了一台一样的服务器。在两台服务器间对数据进行了备份,还采用负载均衡方案来对两台服务器上用户的访问需求进行分配。IT部门在这个项目上花了不少钱,现在老板受上级指示要求考察这个项目的效果。因此,你被告知对两台服务器进行基准测试,看看它们的硬盘利用率都有多少。

  这是需要考虑测试统一性的一个问题。有数十种服务器基准测试工具可以告诉你服务器硬盘的利用率如何(包括Windows内嵌的Performance Monitor)。问题在于任意两种测试工具都几乎不可能给你提供一致的数据。

  在这方面有一个法则——你不可能在不对其造成影响的情况下对其进行测试。这条法则来源于物理或化学领域,但同样适用于服务器基准测试。无论效率如何,任何基准测试工具都会给待测试系统带来一定负载。这些负载会影响测试结果的准确性,因为它会将自己对系统的负载影响包含到结果中去。这就是为什么说统一测试工具非常重要的原因。

  因此,考虑一下以上提到的文件服务器。设想一下,如果你随意选择一个服务器基准测试工具,将硬盘即时数据写入测试结果。这种工具会导致服务器硬盘使用量上升(工具同时运行),就会影响结果的准确性。如果该工具对服务器硬盘资源的影响很大,或者说它是用不同的运算法则来测试服务器应用状况,可能导致测试结果较高。如果真是这样的话,就会影响到这个项目的继续实施和运行,不仅仅是报告错误。

  在这样的情况下,只有一个办法可以获得可靠的数据——找到之前一直在用的衡量工具,继续用同样的工具进行测试。你可能注意到我用的是“可靠”二字而不是“精确”。这是因为每个基准数据给你提供的结果都要受测试工具的影响。然而,重要的是你要保持测试的统一性,以至于每个工具的误差率是一样的。

  保持服务器基准测试工具的统一性

  当然,单单是保持测试工具选择的统一性并不能确保你得到可靠的结果。你必须确保你一直在以同样的方式使用测试工具。例如,如果你在负载高峰期间使用一款工具而在负载较低时使用另一款的话,你得到的肯定不是同样的结果。即使使用的是同一款工具也不一定。同样的情况,如果你改变了服务器基准测试工具的取样频率或是选择不同的角度,你就会改变该工具在系统上的负载,因此无法确保得到可靠的数据。

  使用虚拟化服务器基准测试工具

  最后一个要讲的技巧是将物理服务器测试数据和虚拟服务器测试结果分开。由于硬件间的呼叫都是通过(系统)管理程序来完成的,因此要想准确地对虚拟服务器进行测试是很难的。市场上也有一些专门测试虚拟服务器性能的工具,比如说VMmark或VMbench。问题是这些工具都是专门为虚拟服务器设计的,并不适合测试物理服务器。类似于Windows Performance Monitor这样的工具既可测试物理机也可测试虚拟机,但是你会发现从虚拟服务器那里得到的数据和物理服务器不一样。目前而言,你没有任何办法去改变这种差异,只能在测试报告中将其分开处理。

  结论

  有很多不同因素和常见疏忽会影响服务器基准测试的准确性。由于这些问题很难或者根本不可能解除,在基准测试过程中保持一定的统一性就显得非常重要。换句话说,你每次都应该使用同样的测试工具,确保每次都对其进行统一的配置。如果可能的话,你还应该试图在同样的时间点或是负载情况下进行测试,因为终端用户放置在服务器上的负载也会影响数据中心准确性。
 

 

1
3