服务器在政府信息化项目中的作用不言而喻。政府信息化需求的内在特性,决定了政府采购服务器须考虑特定的性能依据,由此在实践中衍生出不同的服务器性能评测方法。
政府采购服务器时,通常会从应用系统的基本需求、服务器的性能和价格等方面进行综合考虑。首先,服务器的性能必须满足系统的基本需求,如海量数据的高速存取、对事务要求的快速响应、以及系统的稳定性等。其次,考虑服务器的基本指标,如结构、CPU、内存、缓存、通道、磁盘、接口、操作系统、实用软件。再次,服务器还应当具有较好的性价比。而且在政府采购中,经常要求对服务器的性能评估有明确的数值要求。
关于服务器性能的评估有一些通常的方法(见下一页),但这些方法在实际操作中都存在着比较大的困难。首先,政府采购时往往是应用系统还没建立,因此无从在实际环境中进行测试实施;即使目前有实际的运行环境,也由于考虑到风险性和成本,无法使用新机器进行代替运作。其次,目前还只有一两个垂直部门有能力建立自己的基准测试程序。而且由于各政府部门的业务性强,大多数政府部门的用户基准测试程序跟本身的业务关联紧密,一般商用的评测平台也不太适合。而且基准测试程序又经常与应用系统的设计和编程等密切相关,需要给出一些经验估值。而政府采购当中对服务器的性能要求有比较明确的数值规定。那么,如何在实际操作中解决问题呢?
1.比较同类型项目的服务器选型
对于本地系统还没有建立,而外地同类型系统已经建立的情况,通过比较同类型项目的同系列服务器选型不失为一种简单快捷的方式。由于各地的各政府部门的业务基本类似,如广州市某系统,可以比照同类型项目,如北京、上海、深圳、武汉、重庆、沈阳、天津等地的同类系统的服务器性能,比较这些同类型项目的服务器的TPCC值及CPU的实际占用率等,按相应比例(通常可以根据业务量、人口量)可估算出项目的服务器性能的具体参数。
计算公式
已知A市某系统的数据服务器的TPMC值为K1,而参加A市该系统的人数为P1,而B市同类型系统的参加人群为P2,那么B市该系统的数据服务器的TPMC值为 (P2/P1)×K1。
2.将真实需求与基准测试程序结合
在本地系统已经建立的情况下,可以根据历史使用情况和真实的比较明确的需求,结合基准测试程序进行评估。在有比较明确的业务需求或已经有相应的历史数据的情况下,可以确定整个系统在一个长时间范围内,如1天、1周、或1个月的业务需求,如有x人次的真实OLTP运算(或者逻辑运算,或者复杂数据挖掘查询响应)。然后把这些长时间内必须完成的宏观真实业务需求,转化某一个特定的时间段内的真实业务需求(如1个小时或1分钟),目的是为了让这些真实需求和基准测试标准对应起来。这些真实业务处理请求在具体的信息系统实施中可以折算成若干个具体的计算机应用处理。这些处理根据复杂程度不同,可以和具体的第三方基准测试进行比照,折算成若干个基准测试基本单位。然后把这些子系统分别对应的基准测试单位需求加起来,就可以得到这些真实的应用所需要的基准测试的需求。
这些真实业务需求和具体计算机应用处理需求的转换,还有具体计算机应用处理需求和第三方基准测试标准单位之间的转换,都需要具体的业务开发部门根据自己的应用代码、应用模式和网上公布的基准测试的测试代码或者数学模型进行比较,以得到转换的参数。这样才可以根据不同的业务系统,针对不同的专门基准测试进行比照,得出所需要的以专门基准测试标准单位为单位的服务器处理能力需求。
计算公式
在需要处理的各个业务中,选择一项或几项业务量比较大的业务,假设这些业务占总业务量的A%。对于这些业务,假设每天服务器约处理X人次的业务,每次业务换算成后台业务处理,则大约为Y笔交易,假设每天业务集中在B小时内完成(因早晚业务量较小),而在这段时间内业务量的分布并不均匀,根据经验,确定峰值业务量通常为平均值的C倍。且根据系统设计和实际经验,估算每个交易相当于D个基准测试程序。考虑系统的扩展性,平常只使用到系统的E%,因此该服务器的TPMC值为(X×Y×C×D)/(A%)/(E%)/B/60。
3.将设定需求与基准测试程序结合
而对于一些新兴的应用系统来说,基本上没有历史数据和业务量进行参考,而且国内也基本没有同类型项目。在这种情况下,通常采用设定需求和基准测试程序相结合的方法。而设定需求可以通过设定业务需求,再根据上述的第2种方法进行计算。但往往也很难估算具体的业务需求。我们还可以采用估算连接服务器的终端个数,以及对连接终端可能所作的操作进行分类和统计,从而估算到系统的性能。
计算公式
假定对于某系统,选取连接终端数比较集中的1小时内进行计算,而在这段时间的峰值量为平均值的F倍。在这1小时内,假定有A、B和C类操作,其中有N1台终端连接进行A操作,一个A操作需要耗时T1分钟;N2台终端进行B操作,一个B操作需要耗时T2分钟;N3台终端进行C操作,一个C操作需要耗时T3分钟。且根据系统设计和实际经验,A操作的一个操作相当A1个基准测试程序,B操作的一个操作相当B1个基准测试程序,C操作的一个操作相当C1个基准测试程序。考虑到系统的扩展性,平常只使用到系统的E%,因此该系统的TPMC=(N1×A1/T1+N2×B1/T2+N3×C1/T3)×F/(E%)。
服务器性能常规评估方法
1.在真实环境中运行实际应用
最理想的方式是通过一个试点,要求制造商或系统集成商配合将系统(含平台、软件和操作流程)在一个实际的环境中真正试运行一段时间。这样,不仅能看到服务器系统的实际性能,也能观察到系统是否稳定可靠、使用是否方便、服务是否周到、配置是否完备、价格是否合理。如果一个部门或委局需要购买一批同类的系统,可以考虑采用这种方式,用户还可先租一套系统作为试点。用这种方式得到的度量值比理论推算或摸拟测量更加符合实际,更加可信。
2.使用用户定义的基准程序
用户可以定义一组含有自己实际应用环境特征的应用基准程序。这对于政府垂直行业应用的服务器有比较好的借鉴作用。如中国税务总局开发了自己的基准程序,以帮助税务系统进行计算机选型。
3.采用通用基准程序
一般来说,常用的基准测试程序为TPC基准测试程序和SPEC基准测试程序。TPC(Transaction Processing Council,事务处理委员会)成立于1988年,已有40多个成员,用于评测计算机的事务处理、数据库处理、企业管理与决策支持等方面的性能。1989年以来相继发表的TPC基准测试程序包括TPC-A、TPC-B、TPC-C、TPC-W、TPC-R和TPC-H等。其中TPC-A用于在线联机事务处理下更新密集的数据库环境下的性能测试,TPC-B用于数据库系统及运行它的操作系统的核心性能测试,TPC-C则用于在线联机事务处理测试,TPC-D用于决策支持系统测试,TPC-H是基于TPC-D基础上决策支持基准测试,还有TPC-W是用于电子商务应用软件测试。
SPEC(Standard Performane Evaluation Corporation,标准性能评估公司)是由30个左右世界知名计算机大厂商所支持的非盈利的合作组织,其成员包括IBM、AT&T、BULL、CDC、DG、DEC、富士通、HP、Intel、MIPS、摩托罗拉、SGI、SUN、Unisys等。SPEC能够全面反映机器的性能,具有很高的参考价值,当前主要的基准测试程序有SPEC int_base_rate 2000、SPEC fp_base_rate 2000和SPEC JBB 2000等。还有基于某种数据库运行环境下的测试,也是可以参考的数值。在采用通用基准测试程序时,要注意真实的业务流程和使用环境与通用测试基准的业务流程和使用环境的异同,这样,基准测试值才有参考价值。