《2022年读懂服务器性能指标 .pdf》由会员分享,可在线阅读,更多相关《2022年读懂服务器性能指标 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、读懂服务器性能指标用户总希望有一种简单、高效的度量标准,来量化评价服务器系统,以便作为选型的依据。但实际上,服务器的系统性能很难用一两种指标来衡量。包括TPC、SPEC、SAP SD、Linpack 和 HPCC 在内的众多服务器评测体系,从处理器性能、服务器系统性能、商业应用性能直到高性能计算机的性能,都给出了一个量化的评价指标。在如此多的标准中,用户该如何选择最适合自身应用环境的评价体系呢?这里,我们选择了应用面较广泛的TPC 和SPEC,作一个深入介绍。 走出误区深入 TPC-C 指标TPC 体系是影响最大的评测基准之一,尤其近两年,国内媒体对TPC 指标的报道可谓海量。但有多少用户真正
2、了解其中的含义呢?本文以TPC-C 为例,让用户深入了解这项基准测试。tpmC 值在国内外被广泛用于衡量服务器系统的事务处理能力。但究竟什么是tpmC 值呢?笔者曾向一些用户、专业媒体记者乃至某些国外大公司的技术人员问过这个问题,但回答的精确度与tpmC 值的流行程度差异甚远。不少人将之误写为TPMC , 甚至与 TPC 组织混为一谈。TPC(Transactionprocessing Performance Council ,事务处理性能委员会)是由数十家会员公司创建的非盈利组织,总部设在美国。TPC 的成员主要是计算机软硬件厂家,而非计算机用户, 其功能是制定商务应用基准程序的标准规范、性
3、能和价格度量,并管理测试结果的发布。TPC 不给出基准程序的代码,而只给出基准程序的标准规范。任何厂家或其他测试者都可以根据规范,最优地构造出自己的测试系统(测试平台和测试程序)。为保证测试结果的完整性,被测试者(通常是厂家 )必须提交给TPC 一套完整的报告(Full Disclosure Report) ,包括被测系统的详细配置、分类价格和包含5 年维护费用在内的总价格。该报告必须由TPC授权的审核员核实(TPC 本身并不做审计)。TPC 在全球只有不到10 名审核员, 全部在美国。TPC 推出过 11 套基准程序,分别是正在使用的TPC-App 、TPC-H 、 TPC-C、TPC-W
4、,过时的 TPC-A 、TPC-B 、TPC-D 和 TPC-R,以及因为不被业界接受而放弃的TPC-S(Server专门测试基准程序) 、TPC-E(大型企业信息服务测试基准程序)和TPC-Client/Server 。而目前最为“流行”的TPC-C 是在线事务处理(OLTP)的基准程序,于1992 年 7 月完成,后被业界逐渐接受。TPC-C 使用三种性能和价格度量,其中性能由tpmC( transactions per minute , tpm)衡量, C 指 TPC 中的 C 基准程序。它的定义是每分钟内系统处理的新订单个数。TPC-C 还经常以系统性能价格比的方式体现,单位是/tpm
5、C,即以系统的总价格(单位是美元)/tpmC数值得出。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 解读 tpmC 从 TPC-C 的定义不难知道,这套基准程序是用来衡量整个IT 系统的性能,而不是评价服务器或某种硬件系统的标准,而且tpmC 数值的高低直接受到各个环节的影响,右表大概可以说明系统设置对tpmC 测试的影响。 此处的“IT 系统”包括服务器、外设 (如硬盘或 RAID) 、服务器端操作系统、数据库软件、客户端及
6、其操作系统、数据库软件和网络连接等。因此,如何解读tpmC 数值会因不同的采购需求有非常大的差异。tpmC 测试指标与硬件的关联度交易类型复杂程度发生频率访问表的数量 (内存、磁盘 IO 相关)平均逻辑 IO 数目 CPU 的负载(%)新订单复杂交易45% 8 46 53 付款复杂交易43% 4 8 11 交货4% 4 70 8 订单查询简单交易4% 3 12 1 库存查询复杂交易4% 3 401 27 上述 5 种交易中, 除付货交易是事后批处理,其余 4 种皆为联机交易。要注意的是,在处理新订单的同时,系统还要处理其他4 类事务请求。通常而言,新订单请求不可能超出全部事务请求的45% ,因
7、此,当一个系统的性能为1000tpmC时,它每分钟实际处理的请求数是2000 多个。以服务器为例。在很多厂家的TPC 测试系统中,服务器的价格只是系统总价格的25或更小,而硬盘的价格有可能占到总价格的30以上,因为TPC-C 要求被测系统必须保存180 天的事务记录(这一趋势从一些最新的TPC-C 测试结果来看,会愈演愈烈)。如果同样的服务器被用到用户的环境中,厂家报的tpmC 值就意义不大,因为用户的实际系统与厂家原来用于 TPC 测试的系统大不一样。当同样的主机用在不同的系统中时,tpmC 值可能有相当大的变化,现在许多用户还没有意识到这一点。尤其需要服务器采购用户注意的是,tpmC 指标
8、更多的是衡量从Client 到终端网络的性能区域(如左图所示) ,而不是通常误认为的服务器到企业端网络的性能。由此可见,如果名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 用户是建立一套全新的业务系统,那么无妨多借鉴tpmC 的性能指标,如果只是采购某种或某些硬件设备,则需要参考更多的指标。对于 tpmC 数值着迷的用户而言,一个现实问题是,实现高tpmC 指标的代价是否能够承受,毕竟TPC-C 都是很复杂的基准程序,做一个严格
9、的测试非常消耗资源,厂商通常不会给 TPC 报告出全部花费的金钱和时间。实际上,正因为tpmC(其他评测指标也大都一样)受系统优化影响较大,业界对于是否应该在测试中进行优化向来争议颇多。在1993 年, 当时三大IT 公司的专家就对OLTP 性能测试的优化提出过反对意见DEC 的Jim Gray (现为TPC-C 委员会专家) 与Walt Kohler 、天腾公司 (TANDEN )的 Charles Levine 和 IBM 的 Steve Kiss 共同发表了对OLTP性能测试指标是否应该进行人为优化的看法: “一个好的性能测试指标是不会依赖于特殊情况下的优化。最理想的情况应该是:一个测试
10、指标在测试过程中所表现出的性质和能力, 以及对测试所做的优化能够确实提供对现实世界中用户实际应用的性能改进。然而, 事与愿违, 某些厂商迫于标准测试指标所带来的巨大市场压力, 他们花费巨大的精力在如何改进测试结果的同时还能降低价格比率,而全然不顾所做的这一切优化究竟是否给用户带来了真实的利益。”相信实践:最佳检验方式众所周知,成熟的企业从不相信任何“国际通用标准”,而是花相当精力,比如预算的5,使用自己的应用来测试系统,从而决定选型。“国际通用标准” 的度量可以作为参考值,而不应作为必要条件。尤其是一定要弄清这些流行度量有什么含义,是在什么样的系统环境中测得的,以及基准程序是否符合企业真实的业
11、务流程和运作模式。下面就是三种不同的检测模式。在真实环境中运行实际应用这是最理想的方式。要求制造商或系统集成商配合将系统(含平台、软件和操作流程)在一个实际用户点真正试运行一段时间。这样,用户不仅能看到实际性能,也能观察到系统是否稳定可靠、使用是否方便、服务是否周到、配置是否足够、全部价格是否合理。使用用户定义的基准程序如果第一种方式不可行,用户可以定义一组含有自己实际应用环境特征的应用基准程序。业内有两个典型的例子:其一是,近年来由于层应用模型的风靡,SAP SD 基准获得了众多厂商和用户的认可,于是在很多地方都能看见对SAP 测试数据的引用;其二是,国家税务总局曾经开发自己的基准程序,以帮
12、助税务系统进行服务器选型。这种方式在中国尤其重要,因为中国的信息系统有其特殊性。使用通用基准程序名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 如果前两种均难实行,那么使用如TPC-C 之类的通用基准程序未尝不可。但用户应当尤其注意实际应用是否与基准程序相符?绝大多数基准程序都是在美国制订的,而中国的企事业单位与美国的运作方式常常不一样,在使用TPC-C 时,用户应该清楚地知道:自己的应用是否符合批发商模式?事务请求是否与测试模
13、式近似?对响应时间的要求是否那么高?如果都不是,则tpmC 值的参考价值就不太大了。那么不妨看看其他的更合适的测试指标,例如SPECweb2005 等。主流基准测试概览基准名称基本描述侧重点TPC-C 单位为 tpmC , 对系统在线事务处理能力进行评价,含义为每分钟内系统处理新订单的个数。主要是服务器OLTP ,主要是模拟企业MIS 、ERP 系统来考验服务器联机业务处理能力TPC-H 单位为 QphHsize , 表示系统在处理特定资料量的数据库时,系统在一小时之内能完成查询的数量。主要目的是考验基于特定查询的决策支持能力,强调服务器在数据挖掘、分析处理上面的能力。SPEC CPU2000
14、 单位为比值,是系统执行测试程序的时间与参考系统的比值。考察系统 CPU 运算能力和内存性能。SPECweb 2005 指标为整数,含义为系统能同时相应的最大Http 连接数。侧重 CPU 、内存、系统I/O 和网络的整体性能。SPECjAppServer 2004 单位为 jops 配置,即基于java 平台的应用服务器每秒能执行的java 操作数。衡量 JIEE 1.3 应用服务器的性能Linpack 指标为实数, 指 HPC 采用高斯消元法求解一元 N 次稠密线性代数方程组的每秒处理次数。衡量 HPC 单机或集群的浮点性能。HPCC 包括 7 个子项,为HPL 、双精度矩阵乘法、内存带宽
15、、并行矩阵转置、随机存储、傅立叶变换与通信带宽延迟。全面衡量 HPC 系统性能,缺陷是比较复杂,测试时间较长。SAP SD 指标涵义为一定数量规模的SAP SD 客户端发出 SAPS 请求,系统的响应时间与每小时能完成的订单数量。衡量单一系统同时执行应用程序与数据库的能力。主流基准测试概览基准名称基本描述侧重点TPC-C 单位为 tpmC ,对系统在线事务处理能力进行评价,含义为每分钟内系统处理新订单的个数。主要是服务器OLTP ,主要是模拟企业MIS 、ERP 系统来考验服务器联机业务处理能力TPC-H 单位为 QphHsize ,表示系统在处理特定资料量的数据库时, 系统在一小时之内能完成
16、查询的数量。主要目的是考验基于特定查询的决策支持能力, 强调服务器在数据挖掘、分析处理上面的能力。SPEC CPU2000 单位为比值, 是系统执行测试程序的时间与参考系统的比值。考察系统 CPU 运算能力和内存性能。SPECweb 2005 指标为整数,含义为系统能同时相应的最大Http 连接数。侧重 CPU 、内存、系统I/O 和网络的整体性能。SPECjAppServer 单位为 jops 配置,即基于java 平台的应用衡量 JIEE 1.3 应用服务器的性能名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理
17、- - - - - - - 第 4 页,共 6 页 - - - - - - - - - 2004 服务器每秒能执行的java 操作数。Linpack 指标为实数,指HPC 采用高斯消元法求解一元 N 次稠密线性代数方程组的每秒处理次数。衡量 HPC 单机或集群的浮点性能。HPCC 包括 7 个子项, 为 HPL 、双精度矩阵乘法、 内存带宽、并行矩阵转置、随机存储、傅立叶变换与通信带宽延迟。全面衡量 HPC 系统性能,缺陷是比较复杂,测试时间较长。SAP SD 指标涵义为一定数量规模的SAP SD 客户端发出 SAPS 请求,系统的响应时间与每小时能完成的订单数量。衡量单一系统同时执行应用程序
18、与数据库的能力。 突出重点SPEC 关注 CPU 和 Web 与 TPC 体系注重在线处理能力和数据库查询能力不同,SPEC 体系中最广为人知的两个子项,是衡量CPU、内存性能的CPU2000 和 Web 服务器性能的web2005。除了TPC 家族, SPEC 家族也是广为人知的一大体系。SPEC 指标体系由Standard Performance Evaluation Corp.制定,目前主要包括针对CPU 性能的 SPEC CPU2000(已有CPU2006,但尚无数据) 、针对Web 服务器的SPECweb2005、针对高性能计算的SPEC HPC2002 与 SPEC MPI2006
19、、 针对 Java应用的 jAppServer2004 与 JBB2005 以及对图形系统、网络和邮件服务器的测试指标。其中 CPU2000 和 web2005 两类是被引用最广泛的指标。CPU2000 注重 CPU SPEC CPU2000 是一组针对CPU 和内存的测试,它主要测试的对象是CPU、内存,不测试硬盘、 I/O 效率和网络等部分。SPEC CPU2000 由许多源代码程序组成,这些程序都从实际的应用(主要来自配置14 颗 CPU 的工作站应用)中取出来的,例如164.gzip 就是 gzip 压缩程序。这些程序区分成“整数”和“浮点数”两组。SPECint2000 就是“整数”
20、部分,而SPECfp2000 则是“浮点数”部分。 “整数”部分有12 个程序,使用C 或 C+ 语言,它们不使用CPU 的浮点单元; 而 “浮点数” 部分有14 个程序,使用 FORTRAN 77/90 和 C 语言,这些程序的主要运算是浮点数的。SPECint2000 和 SPECfp2000 的结果,以执行时间为准。每个程序的执行时间和一个参考平台( Sun Ultra5/10 300MHz )相比,计算出其倍数。如果执行时间和参考平台相同,结果就是100。如果只花了一半时间完成,结果就是200。 “整数”的12 个程序的结果,取其平均值,得到的就是SPECint2000 的测试结果。“
21、浮点数”的14 个程序也是一样。由于 SPEC CPU2000 的测试程序都是源代码形式(以保证跨平台测试),所以编译器效率就显得十分重要。SPEC CPU2000 规定, 测试结果有 “Base”和“Peak”两种结果。“Base”测试中, 对于编译时的最佳优化参数有所规定(所有的程序都需使用同样的参数,且参数数目不能超过四个) ,而“ Peak”测试则比较宽松。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 另外,因为SPE
22、C CPU2000 的程序都是针对单CPU 的系统设计,因此,在多CPU 系统上,如果要测试多CPU 系统的效率,则是采取同时执行多个相同程序的方法,这个结果就是 “Rate” 。 因此, 同样有SPECint_rate 和 SPECfp_rate 的测试结果。 需要说明的是, “Rate”测试同时执行多个相同的程序,但程序之间并不会有关联,所以这是一种理论计算能力测试,并不代表实际并行计算能力。Web 服务参考 Web2005 SPEC web2005 测试的原理是,通过多台客户机向服务器发出Http Get 请求,请求调用Web 服务器上的网页文件,这些文件从数千字节到数兆字节不等。在相同
23、的时间里,服务器回答的请求越多,就表明服务器对客户端的处理能力越强,系统的Web 性能就越好。目前 SPECweb2005 测试榜上, 性能最高的是2005 年 11 月发布的Sun Fire T2000 系统,此系统的基本配置为1 颗 8 核心的 UltraSPARC T1(1.2GHz)/32GB内存 /373GB 万转 SAS硬盘 /Solaris 10/UFS 文件系统 /Java2 Runtime Environment , 能够同时响应14001 个 Http 请求。这一性能比排行第二的系统高出77。如果用户知道两套系统的价格接近,那么就可轻易得知,采购Fire T2000 作为 Web 服务器,性价比将比采购第二名的系统高出许多。不过 SPECweb2005 的缺陷也正在于此, 它不像 TPC-C 那样要求厂商提供测试环境的总成本,对于实际采购的指导意义有所削弱。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -
限制150内