对于服务器性能方面的考察,我们主要分为子系统测试和应用性能测试。在子系统测试中我们按处理器、内存以及磁盘等各个子系统进行了分项测试,当然各子系统的测试成绩也是相辅相成,也需要其它子系统的支持,并非是完全独立的,只是对考察的子系统有所偏重而已。
处理器子系统测试
对服务器处理器子系统的考察,我们主要采用的是业界公认的SPEC CPU 2006测试,该项测试通过对数十个典型应用程序的运行,来测试系统处理器子系统在应用中的整、浮点运算效率。SPEC CPU 2006测试具有很好的开放性,因此在业界为广大用户所接受,可以利用这一公开的测试结果进行系统间运算性能的比较。
此外SiSoftware Sandra也有测试子项可用于处理器运算性能测试,其结果通常以每秒完成的指令数来表现。也可以用作不同处理器间运算效率的比较。
SPEC CPU 2006 v1.1
SPEC是标准性能评估公司(Standard Performance Evaluation Corporation)的简称。SPEC是由计算机厂商、系统集成商、大学、研究机构、咨询等多家公司组成的非营利性组织,这个组织的目标是建立、维护一套用于评估计算机系统的标准。
SPEC CPU 2006是SPEC组织推出的CPU子系统评估软件最新版,我们之前使用的是SPEC CPU 2000。和上一个版本一样,SPEC CPU 2006包括了CINT2006和CFP2006两个子项目,前者用于测量和对比整数性能,后者则用于测量和对比浮点性能,SPEC CPU 2006中对SPEC CPU 2000中的一些测试进行了升级,并抛弃/加入了一些测试,因此两个版本测试得分并没有可比较性。
SPEC CPU测试中,测试系统的处理器、内存子系统和使用到的编译器(SPEC CPU提供的是源代码,并且允许测试用户进行一定的编译优化)都会影响最终的测试性能,而I/O(磁盘)、网络、操作系统和图形子系统对于SPEC CPU2006的影响非常的小。
SPECfp测试过程中同时执行多个实例(instance),测量系统执行计算密集型浮点操作的能力,比如CAD/CAM、科学计算等方面应用可以参考这个结果。SPECint测试过程中同时执行多个实例(instances),然后测试系统同时执行多个计算密集型整数操作的能力,可以很好的反映诸如数据库服务器、电子邮件服务器和Web服务器等基于整数应用的多处理器系统的性能。
我们在被测服务器中安装了Intel C++ 11.1.034 Compiler、Intel Fortran 11.1.034 Compiler这两款SPEC CPU 2006必需的编译器,通过最新出现的QxS编译参数,Intel Compiler 10版本开始支持对Intel SSE4指令集进行优化(假如只支持SSE3,则使用QxT编译参数)。我们另外安装了Microsoft Visual Studio 2005 SP1提供必要的库文件。按照SPEC的要求我们根据自己的情况编辑了新的Config文件,使用了较多的编译选项。我们根据被测系统选择实际可同时处理的线程数量,最后得到SPEC rate base测试结果(基于base标准编译,SPEC base rate测试代表系统同时处理多个任务的能力)。
和其它测试部件不同,SPEC CPU 2006需要大量的系统物理内存,我们的SPEC测试在64位的Windows Server 2008 R2 下完成,对于每个运算核心,最低配置1.5GB内存。
内存子系统测试
对于内存子系统的考察,也是利用SiSoftware Sandra来实现,在该软件中有相应组件可进行内存带宽、内存延迟等方面的测试。
SiSoftware Sandra v2011
SiSoftware Sandra是一款可运行在32bit和64bit Windows操作系统上的分析软件,这款软件可以对于系统进行方便、快捷的基准测试,还可以用于查看系统的软件、硬件等信息。从2007开始,Sandra的Arithmetic benchmarks增加了对SSE3&SSE4 SSE4的支持,在Multi-Media benchmark中增加了对于SSE4的支持,另外还升级了File System benchmark和Removable Storage benchmark两个子项目。对于新的硬件的支持当然也是该软件每次升级的重要内容之一,SiSoftware Sandra 2011对NUMA架构以及最新的Windows 7/Windows Server 2008 R2提供了更好的支持,此外测试项目和测试结果也有了略微的变化。SiSoftware Sandra所有的基准测试都针对SMP和SMT进行了优化,最高可支持32/64路平台。
存储子系统测试
对存储子系统的考察,是利用IOMeter这一软件来完成。
IOMeter 2006.07.27
IOMeter是一款功能非常强大的IO测试软件,它除了可以在本机运行测试本机的磁盘IO性能之外,还提供了模拟网络应用的能力。为了大家能更好的通过我们的测试数据进行不同系统之间的对比,我们在测试中都使用相同的脚本。其中的最大IO能力的测试中我们所采用的了数据块大小为512B,100%读取操作,随机率为0%。而另一测试数据块大小则选择了64KB,100%读取操作,随机率为0%,用于检测磁盘系统的最大吞吐量。
网络应用性能测试
应用性能测试则利用IT168的网络测试环境,模拟大量的客户端来实现对服务器进行访问,来测试服务器在提供文件服务器时的性能表现。
NetBench 7.03性能测试
NetBench是针对文件服务器的性能测试软件,影响NetBench性能的主要是服务器的磁盘子系统,这里所使用的磁盘RAID卡对于测试结果将会有明显的影响。测试中我们在被测服务器上设立了文件服务器,NetBench通过网络实验室中60个客户端来模拟网络中的PC向文件服务器所发出的文件传输请求,文件服务器则将存储在磁盘上的文件数据发送给相应的客户端。同Webbench测试一样,NetBench测试开始后客户端会以每四台一组依连接到服务器并发送文件传输请求。测试结束后控制台收集数据并绘制出服务器能够达到的数据传输变化曲线。