就如测验需要考卷,竞赛需要裁判一样,服务器或任何计算机系统要展现性能,也离不开软件。我们此前曾提到:要评估计算机系统的性能,我们必须通过运行应用软件或计算任务的方法来考察它。这种考察的过程,就是系统性能评测的关键环节,而期间使用的软件,则是评测中必不可少的工具,也是检验计算机系统性能强弱的"裁判"。
那么,有哪些软件可以用于服务器系统的评测、来充当这个裁判的角色呢?从理论上来说,几乎所有应用软件都可担当这一重任,只不过其中对用户的系统采购和应用环节最具指导意义和最为可靠的,还是那些他们在日常环境中使用频率最高的应用。
这种基于实际应用的评测方法,被业界称为"实际测试"(Measurement),凡是拥有一定技术实力和条件,并愿意支出一定时间成本的用户,都越来越倾向于采用这种方法来挑选服务器。毕竟,他们采购服务器的目的,就是为了运行一些常用的实际应用,而能够在运行这些应用时体现出最佳性能、并且稳定可靠的产品,自然就是他们的理想之选了。
与实际测试并列,计算机系统的评测方法还有基准程序测试(Benchmarking)、原型测试(Prototyping)和监测 (Monitoring)等。后两种方法主要是用在系统的研究和开发环节,很少为媒体朋友和服务器用户所采纳,而基准程序测试,则就是媒体评测工程师们最常用的方法了。
基准程序测试不同于实际测试,它虽然也是使用软件对计算机系统进行评测,但是它使用的软件却并非用户日常使用的实际软件,而是专门为评测而生的基准程序(Benchmark)或基准程序体系,如SPEC、Linpack和HPCC等。它们都是从某一类或多个种类的实际应用中提取抽象出来的、或综合这些应用的特征合成的一种具备典型负载特性和代表性的程序代码。
或许我们可以这样理解实际应用与基准程序的差别:如把待测的服务器比作一辆新车,那么利用实际应用来测试它,就好比将它直接开到我们最熟悉、最常走的路段上去,来观察它在真实路况下的表现;而用基准程序测试它,则如同其制造商在出厂前对它进行的各种基本指标的测试一样,其目标是为了给消费者了解其性能提供一种参考。
一个输出的是直观精准的结果,另一个提供的是大致的参考数据,从结果上来看,实际测试似乎要比基准程序测试优越得多,可从媒体评测工程师的角度来看,后者操作起来却更加容易、测试效率也更高。这是因为要摸拟用户、尤其是那些拥有大规模数据中心或超级计算环境的高端用户的真实应用环境,对媒体的评测实验室而言可是一件非常困难的事情,而且一次实际测试得出的成绩,或许也只能反映系统运行一个或几个实际应用的性能表现。相比之下,基准程序测试的准备过程不仅简单,而且其结果都具备一定的"通用"性,即可以一次反映出服务器对一类甚至数类应用软件的支持情况。
在这种情况下,为什么我们还要强调评测应向实际应用靠拢呢?可能有朋友会提出这样的建议–我们用基准程序进行评测不就够了么?实际测试的工作可以完全交给用户啊。
其实,我们提出这样的观点,主要原因就是现阶段一些基准程序的"典型性"和"代表性"已渐趋于弱。在服务器日渐普及、服务器应用软件日益丰富的情况下,同类或不同类应用之间的差异化越来越明显,很多基准程序已难以兼顾它们对于硬件平台需求的不同之处。例如在国内,重要的行业和应用领域中就正有越来越多的用户开始自行开发应用软件,但业界使用的基准程序却多是在美国定制,其考虑的多是大洋彼岸企业用户的运作方式和欧美软件公司产品的应用特征,国内专业媒体如仅仅基于它们进行服务器的评测和推荐,难免就会出现偏差。
为减少这种偏差,我们希望媒体对服务器产品的评测要向实际应用靠扰,但这并不是说要忽略或放弃基准程序测试,而是要从用户的实际环境的特点和应用需求出发,有针对性地综合、灵活利用各种基准程序和部分实际应用,再通过它们运行结果的认真比较和深入分析,来尽量准确地探明不同服务器产品在真实应用环境中可能具备的优势和可能面临的问题,并找到应对这些问题的方案。在这一过程中,一些权威基准程序的测试结果对于我们摸清服务器平台的综合性能还是非常有帮助的,况且少数源于实际应用的基准程序,如SAP 和Oracle的基准测试工具,在反映服务器平台运行相关应用的性能方面也是比较精准的。
通过以上论述,相信大家不难看出:我们所说的评测要向应用靠扰,并不是要建议大家将评测时使用的软件工具全部从基准程序换为实际应用,它的核心在于评测出发点和思路的变化,顺应这种变化,这些性能"裁判"的效用就将被发挥得更为充分、更具现实意义。
在接下来的几篇文章里,我们将就告别"纸上谈兵"的阶段,开始本着评测向应用靠拢的核心思想,来尝试分析探讨一些典型应用领域及环境下的服务器评测策略。