blog » 架构设计 » 服务器的选型与选购

服务器的选型与选购

服务器的选购考虑
服务器是一个非常复杂的网络设备,所涉及的技术非常复杂,所以很难在一篇内全面介绍清楚。尽管如此,笔者还是在此为各位提供基本的服务器选购方面的注意事项。

1.适当的处理器架构

这对于服务器来说是一个非常关键的注意事项。因为目前就服务器来说,存在多种处理器架构,有主要用于中低档的Intel IA架构和AMD的x86-64架构,还有主要应用于中高档的RISC架构。IA和x86-64架构很明显分别是由Intel和AMD公司开发、生产的,而RISC 架构处理器目前则有多家,主要有IBM Power系列、HP的HP-PA系列和Sun的UltraSPARC 系列。

不同的处理器架构在相当大R程度上决定了服务器的性能水平和整体价格。对于一般的中小型企业通常选择的是Intel的IA架构和AMD的x86-64架构。这类处理器一般只具有较低的可扩展能力,并行扩展路数一般在8路以下,且基本上是采用常见的微软Windows服务器系统。而对于那些在性能、稳定性和可扩展能力上要求较高的大中型企业和行业用户,则建议选择基于RISC架构处理器的服务器,所采用的服务器操作系统一般是UNIX或者Linux,当然绝大多数也支持微软的Windows服务器系统。

2.适宜的可扩展能力

服务器的可扩展能力主要表现在处理器的并行扩展和服务器群集扩展两方面。一般的中小型企业通常是采用前者,因为这种扩展技术容易实现,成本低。处理器的并行扩展技术中最常见的就是SMP(对称处理器)技术,它允许在同一个服务器系统中同时安插多个相同的处理器,以实现服务器性能的提高。低档入门级的服务器通常只具有2路以内,而工作组级则可以达到4路,中、高档的部门级和企业级服务器则可达到8路、16路,甚至100多路。其实这也要区别于不同的处理器架构,IA和x86-64架构的扩展能力比较低,通常在8路以下,达到8路的即称之为企业级,而RISC架构的工作组级的也有可达到8路的,企业级的更是高达100多路,如Sun的UltraSPARC系列处理器。

至于服务器群集扩展技术,现在在一些国外品牌的企业级,甚至部门级服务器中已开始普及,它通过一个群集管理软件把多个相同或者不同的服务器集中起来管理,以实现负载均衡,提高服务器系统的整体性能水平。不过配置起来非常复杂,在中小型企业建议不要采用。

另外,在服务器扩展能力还表现在诸如主板总线插槽数、磁盘架位和内存插槽数等方面,这些也非常重要。一般来说,服务器上安装的各种插件比一般的PC机要多许多,所以要求所提供的PCI、PCI-X或者PCI-E插槽数量要多一些,至少应在5个以上。磁盘架位更是如此,在服务器中,通常需要非常大的磁盘容量,所以可能需要安装多个磁盘,或者磁盘阵列,这时如果没有适当的磁盘架位就会使得磁盘安装受限。内存插槽也是如此,而且更重要。因为我们知道内存是决定计算机性能的一个关键因素,而服务器因为所承担的负荷要远比一台普通PC 机高,所以服务器内存通常比较大,至少在1GB以上,常见的都在4GB或4GB以上。通过简单地提高内存容量可以实现大比例的性能提高,而内存容量的提高除了可以采用高容量的内存条外,更多的还是采用插入多条内存,所以内存插槽数的多少对服务器性能的提高非常重要。

3.适当的服务器架构

这里所指的服务器架构主要是从服务器的整体结构上来讲的,它分为塔式、机架式和刀片式3种。它们各自具有不同的优点。塔式结构是最传统的服务器架构,就像我们平常所用的立式PC机一样,不过服务器的塔式机箱一般比较大,因为它要容纳更多的接插件,并需要更大的空间来散热。所以塔式架构的优点就是可扩展更多的总线、内存插槽,提供更多的磁盘架位,还可以更好地散热。它的不足就在于它的体积太大,对于机房空间比较宝贵的企业用户来说,可能不是最佳选择。

而机架式架构就像我们平常所见到的交换机一样,呈盒状,重量也比较轻,可以轻易地安装在桌面上,这就是它的优点。但同时,因为它的空间非常有限,所以它的扩展能力一般比较有限,而且对服务器配件的热稳定性要求也比塔式的要高,因为它的空间小,散热不易,所以它的优点也带来了相应的缺点。

至于刀片式架构则是一种新型的服务器架构,它比机架式架构更小,但它具有非常灵活的扩展性能,因此它可通过安装在一个刀片机柜中实现类似于多服务器群集的功能。因为刀片式服务器本身体积非常小,就像其他设备的模块化板件一样,所以在一个机柜巾可以安装几个,甚至几十个这样的刀片式服务器,实现服务器整体性能的成倍提高。

目前刀片式服务器技术发展非常迅速,它既可以满足中小型企业的业务扩展需求,又可以满足大中型企业高性能的追求,还有智能化管理功能,是未来发展的一种必然趋势。

4.新技术的支持

服务器也与常见的PC机一样,主板在很大程度上决定了主机的整体性能和所采用的技术水平。而主板性能的决定同样是由相应的芯片组决定的。芯片组可以决定的主要包括支持的处理器类型和主频、总线类型(PCI、PCI-X或PCI-E等)、内存类型和容量、磁盘接口类型和磁盘阵列支持等。而这些对于服务器来说都是非常重要的。具体可以根据实际应用需求进行选择。

5.合适的品牌

品牌似乎永远与产品质量、产品价格和服务水平联系在一起,所以在此注重强调品牌,是要把品牌、质量(包括产品质量和服务质量两方面)和价格三者联系在一起综合考虑,而不是单纯谈品牌。基本上是好的品牌才有好的产品质量,也才有好的服务保证,但相应的产品价格都比一般的要贵些,这就要求用户均衡利弊来选择了。

在几年前,服务器产品主要是以国外品牌为主,如IBM、HP、Sun(称为国际服务器市场的“三甲”)等,但近几年国内服务器品牌发展迅速,服务器产品的技术水平和性能都得到了极大的提高。如国内有联想、浪潮和曙光(称为国内服务器市场的“三甲”),其服务器技术水平已比较接近国外著名品牌。在市场占有率方面,在中高档市场上已接近,甚至超过国外品牌。所以,现在选购服务器并不一定要求硬是非国外品牌不选,就像现在我们平常选购家电一样。国内品牌服务器同样具有非常高的技术水平和性能,而且采用的是本土化服务,更加贴近实际需求,服务也可能更到位。

在国内市场中,目前除了联想、浪潮和曙光三甲的产品外,还有像方正、宝德、网新易得等都是不错的品牌,在国内市场上占有率也较高。

服务器处理性能估算(参考方案)

服务器处理性能估算

系统的建设,必须满足未来5年业务发展和管理的需求,所以下面对服务器性能指标的估算,将以满足未来5年的需要为基准。

1. 数据库服务器

1.1. TPCC值估算

约定:
系统同时在线用户数为100人(U1);
平均每个用户每分钟发出2次业务请求(N1);
系统发出的业务请求中,更新、查询、统计各占1/3;
平均每次更新业务产生3个事务(T1);
平均每次查询业务产生8个事务(T2);
平均每次统计业务产生13个事务(T3);
一天内忙时的处理量为平均值的5倍;
经验系数为1.6;(实际工程经验)
考虑服务器保留30%的冗余;
服务器需要的处理能力为:
TPC-C=U1*N1*(T1+T2+T3)/3*3*经验系数/冗余系数
则数据库服务器的处理性能估算为:
TPC-C= 100*2*(3+8+13)/3*5*1.6/0.7= 18,285 TPM

1.2. 内存估算
该服务器内存主要由*作系统占用内存、数据库系统占用内存、并发连接占用内存等几部分组成。

约定:
*作系统占用约400M内存空间;
数据库系统占用内存0.8G ;
每个并发连接占用5 M;
考虑服务器内存保留15%的冗余;
则服务器的内存估算为:
Mem =(400M + 0.8GB + 100*5M) /(1-15%) = 2 GB

1.3. 存储容量估算
预算管理系统中存储着预算编制数据等资料信息以及日志等管理信息。
在已经考虑了数据冗余的前提下,约定:
每月有100个分局或部室编制预算;
每月每个分局或部室编制1次预算;
预算模板共含6000个预算指标;
每个预算指标含5条明细项目;
每条记录占用空间300B;

每月的预算数据存储容量需求:6000*5*100*500B=1.5G
每月的日志数据存储容量需求:0.1G
每月进行数据备份一次,数据存储容量需求:12*9G=108G
整年总共需用存储容量:12*1.5G+1.5G+12*0.1G+12*9G=20.7G+108G=128.7G

约定系统中预算编制数据等资料信息以及日志等管理信息在线保存5年(备份数据每年进行清除),则预算管理系统的存储容量估算为:

5*20.7G+108G =103.5G+108G=211.5G

1.4. 服务器安装软件
该服务器中将需要安装的软件如下:
*作系统为:Windows 2000 Server
数据库:Oracle

1.5. 建议配置
根据以上的性能指标建议数据库服务器标准配置如下:
应用名称 功能描述 数量 说明
数据库服务器 CPU: TPCC值应大于18,285 TPM
内存:2G及以上
硬盘:211.5GB以上(建议通过RAID5或镜像等方式进行数据备份)
以太网卡:100M及以上

计算原则: 以单台服务器性能进行计算,即确保单台服务器工作的时候可以满足系统正常运行的需要;

假设每天有1万人次来窗口办理业务,每人次办理一项业务。即以每日1万笔前台交易为例进行综合系数的推导:

1. 假设每月前台交易数(未来5年内的设计指标)为220,000 (有些业务在月初、月末的处理量比较高,按月统计可以平衡此项差异);
2. 每日前台交易数=220000/22=10,000 ,即每日 1万笔;
3. 忙时处理能力:每日交易的80%在4个小时内完成,即10000*80%/4=2000(笔/小时)
4. 峰值处理能力:2000*2=4000(笔/小时),即峰值处理能力为每小时4000笔,或 67笔/分,假设业务人员同时在线为100人,即每人每分钟处理0.7笔)
5. 假设每笔交易对应数据库事务数=20,基准TPC指标值对应的比例=8,cpu保留30%的处理能力冗余,计算值与公布值(最优值)的偏差经验值为4 (这几个参数估算的依据不足,更多的是经验值)

则 tpmC值为:
tpmC= 67*20*8*4/(1-30%)= 61257
倒算出 综合系数 = 61257/10000=6.1
即数据库服务器tpmC= 每日前台交易数 * 6.1 (实际计算值应不高于该值)
应用服务器的 tpmC = 数据库服务器 tpmC *50% (一般)
应用服务器的 tpmC = 数据库服务器 tpmC *70% (涉及大量计算的,如社保、税务)

建议:

不管是TPC-C还是SPECjbb2000,计算结果都只能作为一个横向比较的参考。在实际应用中,决定系统性能的因素除了硬件、系统软件外,与应用软件的设计也是有很大关系的,此外,基于系统可扩展性的考虑,更多时候也倾向于一次性的采购。

从长远考虑,以政府信息化主管部门的角度考虑,建立一套评估机制是非常有用的,这其中包括:

1、 通过对各单位业务系统运行情况的调查,进行历史数据的收集分析,按分类建立基准指标库。收集的信息包括:服务器的配置、并发用户数(每天业务量)、CPU负荷等;
2、 由厂商定期提供基准值,更新基准指标库;
有了基准指标库的信息参照,不仅可以用于评估项目建设方案中服务器选型,也可以对各部门进行系统架构设计的优化提供指导。如以下是一些指导原则:
1、 数据库服务器选型:采购两台相同配置的小型机,进行虚拟分区和并行处理,以提高系统资源的利用率;日后扩容时采取垂直扩展的方式进行升级;
2、 应用服务器:采用负载均衡的方式提高并发处理能力,一般可配置2台以上,每台的硬件配置完全可以不同,应首先考虑使用旧的数据库服务器(利旧),如需采购新的服务器,应采用水平扩展的方式逐步升级;
3、 WEB服务器,可以考虑采用刀片服务器,提高扩展性和可管理性。

参考一:

金保工程建设中服务器选型建议:

http://www.molss.gov.cn/gb/zt/2005-12/14/content_98163.htm(中华人民共和国劳动和社会保障部网站)

参考二:某项目计算实例

为了方便计算数据库服务器的造型,我们约定:
” 系统同时在线用户数为1500人(U1);
” 平均每个用户每分钟发出2次业务请求(N1);
” 系统发出的业务请求中,更新、查询、统计各占1/3;
” 平均每次更新业务产生3个事务(T1);
” 平均每次查询业务产生8个事务(T2);
” 平均每次统计业务产生13个事务(T3);
” 一天内忙时的处理量为平均值的5倍;
” 经验系数为1.6;(实际工程经验)
” 考虑服务器保留30%的冗余;
服务器需要的处理能力为:
TPC-C=U1*N1*(T1+T2+T3)/3*3*经验系数/冗余系数
则应用服务器的处理性能估算为:
TPC-C= 1500*2*(3+8+13)/3*5*1.6/0.7= 274,285 tpmC

数据库服务器关系到整个系统的稳定运行,考虑到高可靠性和高可用性,并注重设备的可扩展性和性价比,系统将配置两台TPC-C值不小于28万的高性能数据库服务器。

link:

TPC基准程序及tpmc值 http://datum.studyget.com/200603/20060312_17206.shtml
读懂服务器性能指标:拨开服务器评测体系迷雾 http://net.yesky.com/263/2278263.shtml
深入解读TPC体系 http://cnw2005.cnw.com.cn/store/detail/detail.asp?articleId=49970&ColumnId=11541&pg=&view=

如何实施Benchmark标准测试-问题的提出及Tpc-C标准 http://www.eygle.com/archives/2004/10/howto_implement_benchmark_test01.html

转自:http://blog.donews.com/ionway/archive/2007/09/02/1205749.aspx

服务器内存主要由操作系统占用内存、数据库系统占用内存、并发连接占用内存等几部分组成。
约定:
操作系统占用约400M内存空间;
中间件用户服务器占用内存0.8G ;
每个并发连接占用5 M;
考虑服务器内存保留15%的冗余;
则服务器的内存估算为:
Mem =(400M + 0.8GB + 100*5M) /(1-15%) = 2 GB
存储容量估算
主要系统中间件应用服务器和操作系统本身至少5G以上。
其中操作系统约占2G,应用服务器约占3G。
服务器安装软件
服务器中将需要安装的软件如下:
操作系统为:Windows 2000 Server
中间件应用服务器:系统中间件应用服务器
建议配置
根据以上的性能指标建议服务器标准配置如下:
应用名称 功能描述 数量 说明
应用服务器 CPU: TPCC值应大于18,285 TPM
内存:2G及以上(建议3G以上)
硬盘:5GB以上
以太网卡: 100M及以上 1台

数据库服务器性能TPC-C测算

每秒峰值:6,000个连接/秒,即主机处理峰值应能达到6,000连接/秒;
每个连接平均需要10个数据库访问,按照经验,每个数据库访问相当于服务器3-4tpm的处理能力。

峰值连接: 6,000连接/秒
每个连接: 10个数据库访问
每个访问: 3—4 tpm (transaction per minute)
则应用要求服务器的TPC-C为:
6000 x 10 x 4 = 240,000tpm
? 系统本身要消耗30%的系统资源,则应用与系统要求服务器的TPC-C为:
240,000tpm / 70% = 342,857tpm
? 而服务器的实际资源占用即“系统忙”不应大于70%,则实际要求数据库服务器的处理性能TPC-C为:
342,857tpm / 70% = 489,796tpm。
? 因此,数据库双机系统TPC-C要求大于或等于500,000tpm,考虑实现Oracle 9i RAC后,双机性能是单机的确1.8倍,因此单机TPC-C不能小于
500,000/1.8=278,000tpm。

应用服务器性能TPC-C测算

每秒峰值:10,000个连接/秒,即主机处理峰值应能达到10,000连接/秒;
应用服务器的连接,相当于5—6个数据库访问,按照经验,每个数据库访问相当于服务器3-4tpm的处理能力。

峰值连接: 10,000连接/秒
每个连接: 5—6个数据库访问
每个访问: 3—4 tpm (transaction per minute)
? 则应用要求服务器的TPC-C为:
10000 x 6 x 4 = 240,000tpm
? 系统本身要消耗30%的系统资源,则应用与系统要求服务器的TPC-C为:
240,000tpm / 70% = 342,857tpm
? 而服务器的实际资源占用即“系统忙”不应大于70%,则实际要求服务器的处理性能TPC-C为:
342,857tpm / 70% = 489,796tpm。

Web服务器性能测算

Web服务器:建议采用中低档UNIX服务器,可以采用多台低档UNIX服务器并行,实现均衡负载、抵御不友好访问。
SPECweb99是衡量Web服务器处理能力的主要指标,是服务器可以承受的同时“点击”的次数,数值越高处理能力越强。
WEB SERVER集群所支持的并发访问量不少于5万,如果响应时间在1-2秒,则要求SPECweb99为:50,000/1.5 = 33,333

请问怎么通过TPC值来确定需要多少内存、几个CPU、什么样的主机?那怎么根据应用类型和系统规模来估算这个TPC值呢?

以一下例子来回答下你的问题吧。

假定我要选一台数据库服务器,数据库服务器主要运行Oracle数据库软件,系统需求如下:

目前,每天的交易笔数大约为125,000笔,预计将来每天的交易数大约会扩展1倍:125,000*2=250,000笔。

由此,以平均每天8小时计算,我们可计算出在峰值时系统的平均交易负载: 平均峰值负载 = 250000/8/ 60 = 521笔/分钟
同时,考虑到交易不可能平均分布在网点营业的8个小时内,我们考虑系统运行高峰将会超过平均值的3-4倍,因此我们认为系统的最大峰值负载为:521*4=2084笔/分钟。

我们再提供一定的冗余空间,保证CPU充分发挥能力,提供可靠保证。一般认为系统冗余在 30% 左右,即保证性能的同时又保护投资的平衡点,即:CPU的性能要求 = (最大峰值负载)*(1+30%) =2709笔/分钟根据cpu的性能要求,再考虑到不同机器的处理能力,可以推出系统所需的cpu个数。

因此,可以估算对系统处理性能(tpmC)的需求:性能需求=峰值分钟业务量×每笔业务性能开销=2709*9=24381 tpmC
由于考虑数据库服务器要同时处理1000个连接,系统繁忙时如果全部使用则每秒峰值为1000笔/秒,一般冗余20%,则要求的这部分内存为:1000*(1+20%)*10MB=12G,考虑系统的开销,推荐内存配置为12G-16G。

同时即使在满负荷的情况下,系统也应保证70%的主机CPU处理余量,因此,对应计算得标准TPC-C估值为:24381/70%=34830。
如何衡量服务器性能

要估算硬件处理能力,选购硬件,首先从业务性能估算做起。
业务性能估算
业务数量–>申请成为系统客户数量(系统用户数)–(5%)–>同时在线客户数量–(5%)–>系统并发使用量, 一般估算未来三年的增长量为选购依据
同时在线用户数:
平均并发数:
并发用户数峰值:
在实际的性能测试工作中,测试人员一般比较关心的是业务并发用户数,也就是从业务角度关注究竟应该设置多少个并发数比较合理,因此,在后面的讨论中,也是主要针对业务并发用户数进行讨论,而且,为了方便,直接将业务并发用户数称为并发用户数。
(1) 计算平均的并发用户数: C = nL/T
即:平均并发数=总用户数*用户在线时长/总工作时间
(2) 并发用户数峰值: C’ ≈ C+3*SQRT(C)
即:峰值并发数=平均并发数+3*(平均并发数^1/2)
公式(1)中,C是平均的并发用户数;n是login session的数量;L是login session的平均长度;T指考察的时间段长度。
公式(2)则给出了并发用户数峰值的计算方式中,其中,C’指并发用户数的峰值,C就是公式(1)中得到的平均的并发用户数。该公式的得出是假设用户的login session产生符合泊松分布而估算得到的。
实例:
假设有一个OA系统,该系统有3000个用户,平均每天大约有400个用户要访问该系统,对一个典型用户来说,一天之内用户从登录到退出该系统的平均时间为4小时,在一天的时间内,用户只在8小时内使用该系统。
则根据公式(1)和公式(2),可以得到:
C = 400*4/8 = 200
C’≈200+3*根号200 = 2421
估算处理能力,通常用TPCC值,即每分钟处理请求。每个服务器也把TPCC值作为指标。这与以下因素有关:
1,并发用户数?(U1)
2,用户访问模式:每分钟每个用户发出的业务请求个数,例如0.2个(N1)
3,这些业务请求中,
如果是数据库服务器,就统计查询、更新、统计占比,
如果是Web服务器,可统计,例如连接跳转、添加操作、删除操作、更新操作,查询操作除各占1/5
4,业务请求引起的事务数量
例如, 平均每次页面跳转操作产生6个事务(T1),平均每次添加操作产生8个事务(T2);平均每次删除操作产生8个事务(T3);平均每次更新操作产生14个事务(T4); 平均每次查询操作产生10个事务(T5);
5,忙时数量是平均值几倍,例如5倍
6,经验系数,例如1.8
7,服务器保留多少冗余,一般是30%
TPC-C=U1*N1*(T1+T2+T3+ T4+ T5)/5*3*经验系数/冗余系数

[整理自网络]

This post has already been read 1517 times!

Related posts

RSS 2.0 | leave a response | trackback

发表评论