服务器硬件选型是性能调优的第一步。无论你是自行购买服务器进行托管,还是租用服务器,购买云主机,都要面临的一个问题:选择服务器的硬件配置。
我们需要从不同角度、多个方面来决定选择一台什么样的服务器,找到满足技术需要、业务发展和成本控制之间的最佳平衡点。
那么接下来,我们就来谈谈如何进行服务器硬件选型。
服务器要运行什么应用?
我们要根据服务器的用途,来决定服务器的性能、容量和可靠性需求。
这里我们按照最典型的基础架构:Web服务器、数据服务器、应用程序服务器来展开讨论。
1、Web服务器
Web服务器对硬件要求不高,甚至一般的硬件配置(2颗4核、8G内存、1T硬盘)即可满足需求,如果后期Web服务访问量上升,只需要新增同等配置的服务器加入负载均衡集群即可实现Web服务的性能扩展。
2、数据服务器
数据服务器对硬件要求最高,主要特征是CPU要足够快、内存足够大,磁盘IO足够快和稳定。比如:MySQL、Oracle服务器要求CPU配置一定要好,最好是双路志强金牌Gold,磁盘最好使用SSD系列。
而Redis服务器主要是内存型应用,所以要求内存一定要足够大,并且可扩展,而对磁盘和CPU要求就没那么高。
3、应用程序服务器
应用服务器的典型特征是承担了计算和功能实现。对CPU的配置,至少是双路志强银牌Silver系列。对于可靠性问题,如果你只有一台服务器的话,那么这台服务器必须足够可靠,磁盘做成RAID1阵列是必不可少的。
4、其他公共服务器
还有一些公用的服务器,例如:邮件服务器、DNS服务器、域控服务器。对稳定性要求较高,因此一般会推荐有至少两台进行主、备部署。对硬件来说,没有特殊的需求,所以一般的硬件即可。
业务系统要支持多少用户?
硬件服务器是为了提供某种服务,而使用这些服务的用户有多少,也是我们需要考虑的因素,有几个具体的问题需要我们做出评估:
预估有多少用户会同时在线?
预估每天同时在线访问最高峰值是多少?
预估数据量会有多大?
预估网络宽带会占用多少?
要用多大空间来存储数据?
我们需要从两个角度来考虑这个问题。一个角度是有哪些类别的数据,另一个角度是数据的增长速度,例如:每天大概会新增多少数据,根据这个增速,就可以规划出未来1-3年内数据量大小。
最后我们才能得到一个更具体的数字,还需要为计算出来的数字结果乘1.5左右的系数。
业务重要性有多高?
服务器可以为不同业务系统提供各种应用服务,这个重要性直接影响到我们对服务器的选型配置。
1、门户网站
一台服务器,铜牌Bronze 单路cpu、4G内存、500GB足够了,并且也不需要备机,就算服务器出现了一点硬件故障,导致几个小时甚至一两天不能提供访问,工作也会照常继续,天也不会塌下来。对公司也影响不大。
2、测试平台
如果仅仅做功能测试,那么对硬件配置基本没要求,虚拟机也可以满足要求,而如果是做性能测试,那么就根据性能测试的方向,选择某方面比较强劲的硬件即可。
3、电商平台
CPU要足够好,内存也要足够大,磁盘一定要做RAID10。同时,还要部署主、备架构,数据要做实时备份、异地远程备份,因为重要的业务系统,一旦发生故障,直接导致的损失就是金钱。
怎么选择CPU?
CPU的主频越高,其性能也更高;两个CPU要比一个CPU来得更爽;说到品牌,也就是Intel和AMD,Intel服务器市场份额更高一些。常见情况:
1、公司业务刚起步
量不大的情况下,此时预算可能也不是很充足,那么建议选择一个英特尔至强铜牌单路CPU即可,但是记得要留扩展接口。
2、跑多个服务
比如apache+php+tomcat+mysql架构,都运行在一台机器上,那么,推荐英特尔至强银牌双路CPU,这将是一个不错的选择。
3、运行MySQL/Oracle
那么至少应该选择一个英特尔至强金牌双路10核CPU,并且预留CPU扩展接口,当负载越来越大的时候,可以选择增加CPU到四路。
需要多大的内存?
相比于CPU,内存(RAM)其实是影响性能的最关键因素,很多业务系统CPU利用率一般都在10%~50%之间,甚至更低。
1、Web前端服务器
例如apache、nginx。不需要太大的内存,因为这些Web服务器主要是处理静态请求,一天几十万的访问量,4GB内存已经足够了。
2、java重型应用服务器
比如Tomcat、Resin、WebLogic、Websphere、jboss等此类。配置的内存在16GB-32GB之间即可,大于32GB的内存配置基本是浪费了。
3、内存型业务系统
例如:redis、Squid、Varnish、Memcached等,我们需要为服务器配置尽可能高的内存容量,因为这类应用主要消耗的就是内存。
需要怎样的硬盘存储?
硬盘存储系统的选择和配置是整个服务器系统里最为复杂的一部分,我们需要考虑硬盘的数量、容量、接口类型、转速、缓存大小,以及是否需要Raid卡,Raid卡的型号和Raid级别等问题。
1、磁盘类型
目前有SATA、SAS和SSD三种类型,SATA、SAS属于机械硬盘,转速低,读写速度慢,但是价格便宜,磁盘容量大。SSD硬盘属于固态硬盘,优点是读写速度快,缺点是价格昂贵。
2、RAID
主要分为软RAID、硬RAID二种。软RAID所有功能均有操作系统和CPU来完成,没有独立的RAID控制器处理芯片和I/O处理芯片,效率最低。硬RAID配备了专门的RAID控制器处理芯片和I/O处理芯片以及阵列缓冲,不占用CPU资源。
网卡如何选择?
网卡和服务器的网络带宽互相影响,这里我们从网卡的速率和网卡的冗余两个方面来进行分析。
1、网卡的速率
到底是选用千兆网卡呢,还是选择万兆网卡呢,这主要取决于我们对带宽流量的评估。大多数情况下,千兆网卡足够用来对外网提供服务,而内部数据交换如果非常频繁,例如hadoop业务,建议使用万兆网卡。
2、网卡的稳定性
对网络稳定性要求高,推荐双网卡做冗余,两个网卡连接到不同的交换机上,这样,任意一个网卡故障都不影响业务的正常运行。
选择一个确定的网络服务器配置来满足用户的需要,要求有一个对服务器有计划使用的正确理解。用户可以根据需求选择不同的网络服务器配置来满足各种的商务应用。
在选择网络服务器配置时,应根据以下几个方面进行考虑:
1.支持用户的数量
2.支持用户的类型一小企业,中型企业,大企业用户
3.数据量的大小/处理的文件数
4.处理的的数据/处理的文件
应用程序对网络传输的需求
1.CPU利用率
2.高速缓存的要求
一 数据库应用
服务器专门提供在线事务处理(OLTP),企业资源规划(ERP),和数据存储,这种应用需要:
1.相当可观的CPU处理能力
2.适合于数据高速缓存的巨大内存容量数据存储需要:
3.需要为大量数据进行目录编写、析取和分析而额外增加的CPU、内存、输入输出能力
4.简单的OLTP数据库应用程序(如:Basic SQL Server Oracle)
(1)系统配置推荐表
用户数量 CPU数量 内存数量(MB) 硬盘总容量 网卡数目及数量
10-50用户 1 256-512 小于等于50GB 100MB/1
50-1000用户 2 512-1GB 小于等于100GB 100MB/2-4
1000-3000用户 2-4 1GB-2GB 100GB-200GB 1000MB/1
3000-6000用户 4-6 2GB-4GB 200GB-500GB 1000MB/2
6000以上 8 4GB-8GB 大于等于50GB 1000MB/4
商用软件(如SAP , PeopleSoft,Bean Oracle Apps QAD)
(2)系统配置推荐表
用户数量 CPU数量 内存数量(MB) 硬盘总容量 网卡数目及数量
5-20用户 2-4 1GB 小于等于100GB 1000MB/1
20-100用户 4 2GB 小于等于200GB 1000MB/1-2
100-200用户 4-6 4GB-6GB 小于等于400GB 1000MB/1-2
200以上 6-8 8GB-16GB 500-1000GB 1000MB/4
二 基本构造应用
文件和打印服务器需要比数据库服务器少的CPU处理能力,但是有很高的I/O需求,处理往来于网络客户端的数据。
这类服务器的内存和I/O插槽的扩展性是具备最高优先权的。
域控制器需要对域名查找请求作出快速响应,并需要:
1.高速I/O
2.高速CPU
信 息/电子邮件服务器需要高速的存储I/O。磁盘I/O在这些类型的系统中是常见的瓶颈。为了实现更有效的存储和恢复信息数据,根据信息服务器文件类型选择 不同种类的RAID存储方案是非常必要的。处理器的能力只有在信息服务器作为一个网关或“连接器”连接——一个外部邮件系统时才作为一项更高的考虑因素。
3.文件、打印、域校验服务器
(1)系统配置推荐表
用户数量 CPU数量 内存数量(MB) 硬盘总容量 网卡数目及数量 备注
1-10用户 1 128-256 小于等于30GB 100MB/1
每增加25个用户 1 增加128M 增加50GB 100MB/1-2 200用户以上使用2个cpu
三 web和Internet服务
Web服务器为它的客户提供的数据类型通常是机密的。静态web目录页比大多数根据需要进行更新的动态页对CPU的处理能力要求少,例如象微软的 Active Server Pages(ASP)。优先部件包括:
1.多网卡
2.高速磁盘I/O是优先的
3.电子商务服务器通常提供商务逻辑和用户鉴定服务。
4.强大的CPU处理能力并且需要选择支持可扩展性的多路CPU
5.内存容量和扩展性的选择同样是非常重要的因素。
因特网服务提供商(ISP)经常为个别的公司提供专用服务器完成电子邮件或WEB服务.对于这类需要尽可能为每个数据中心机房提供最多数量服务器的ISP来说,服务器密度是首要因素。
1.物理尺寸
2.I/O速度
3.内存容量
4.单路或多路处理器通常都可接受
防火墙服务器需要选择高速CPU并且代理服务器需要足够的内存来存储并缓存Web地址.高速缓存代理服务器额外需要:
用来存储目录的内存和海量存储器
服务器的尺寸是一个需要考虑的因素,以便使有限的可用空间容纳最多数量的服务器。
Web和Internet服务器系统配置推荐表
用户数量 CPU数量 内存数量(MB) 硬盘总容量 网卡数目及数量
只有静态网页 1 128-256 小于等于40GB 100MB/1
生成动态网页 2 256-1GB 小于等于100GB 100MB/2-4
局域网200次访问/秒 1 256-512 小于等于50GB 100MB/2
局域网500次访问/秒 2 512-1GB 小于等于100GB 100MB/4
局域网100次访问/秒 2-4 1GB-8GB 小于等于500GB 1000MB/2
四 应用服务器
在一个三级的客户机服务器结构中,作为第二级的应用服务器提供的“商务逻辑”功能,就象在一端是客户机、另一端是数据库服务器之间的通信一样。
CPU和内存的容量是主要因素
协作和群件服务器,例如 Lotus Notes,己创建的规则和群件需要:
中等的CPU,内存和I/O资源
终端服务器,或基于计算的其他服务器,所有硬件和软件资源都在终端服务器上,并且对所有用户共享。应用软件在终端服务器上运行,包括面向客户端的图形用户界面(GUI)。
存储容量是一个终端服务器的鉴定指标
多路CPU通常也是一个高优先级的指标,小应用和许多直接应用通常不强调需要一个多处理器服务器。
内存和I/O需求是基于用户访问请求数量之上的。
(1)应用服务器系统配置推荐表
用户数量 CPU数量 内存数量(MB) 硬盘总容量 网卡数目及数量
10-500个用户 1 256-1GB 小于等于50GB 100MB/1
500-1000个用户 2 1GB-2GB 小于等于100GB 100MB/2-4
1000个用户以上 2-4 2GB-4GB 100GB-200GB 1000MB/1
域控制服务器
域控制器是网络、用户、计算机的管理中心,提供安全的网络工作环境。域控制器不但响应用户的登录需求,而且还负责在戴尔服务器间同步和备份 用户帐号、WINS、DHCP数据库等,另外,主域控制器还做DNS服务。超过2000个用户以上的企业网,还需要一个备份域服务器来保证网络的安全。域 控制器的系统瓶颈是内存,除了操作系统占用的内存外,每增加一个用户需占用1KB内存用于存储用户帐号。
Web服务器
Web服务器是运行Web服务器端软件来为用户提供各种Web应用的设备,对服务器性能的要求也主要取决于网站的内容。如果网站多以静态页 面构成,那么在选择服务器时候就要优先考虑磁盘系统的性能。通过采用高转速SAS硬盘以及RAID卡,服务器可以更好的为用户提供静态页面传输。如果网站 所提供的服务多为动态页面,那么在选择服务器时就要注意配备高性能的处理器以及大容量内存。这样才能使戴尔服务器及时响应用户的请求并做出相应的计算反 应。
FTP服务器
如果你的FTP服务器拥有很高的网络接口速率,那么对戴尔服务器的负载就主要集中在磁盘系统上。FTP操作不会消耗很多的处理器资源,而由 于FTP数据传输通常都会持续很长时间,此时对硬盘的性能和稳定性都会有更多要求。如果你的FTP服务器不想配备RAID卡,那么也最好选择SAS规格的 硬盘。不是说SAS硬盘会比现在流行的S-ATA硬盘性能好很多,而是SAS硬盘在长时间工作环境下的故障率会更小一些。此外,在非RAID系统中,硬盘 的缓存容量也比较重要。更大容量的缓存可以减少对磁盘的访问,从而在提升数据查找、传输速度的同时减轻硬盘的负载。
文件服务器
如果你想得到一台性能出色的文件服务器,那么你首先需要注意的就是戴尔服务器的存储系统。现在的服务器都配备了千兆以太网接口,其网卡能够 提供的数据带宽在700Mbps左右。相对于网络速率,磁盘更容易成为影响文件服务器性能发挥的瓶颈。对于一台文件服务器,RAID系统是必备的。如果您 的采购资金充足,那么就选择SAS RAID系统吧,如果想节省经费则可以考虑S-ATA RAID系统。
数据库服务器
数据库服务是对服务器负载比较大的一种应用模式。无论是处理器子系统还是磁盘子系统,如果面对的是多用户、高负载的数据库应用,那么你都应 该为戴尔服务器配备最好的配件。对于一台数据库服务器,首先你需要考虑的是多处理器。大型的数据库软件都可以支持多线程运算,通过采用多处理器就可以在很 大程度上提升数据库的运算效率。在保证内存容量的前提下,磁盘系统也是需要你额外注意的。无论内存容量有多大,在数据库运算过程中的磁盘读写操作是必有 的。面对多I/O指令,SAS RAID系统在性能上会远远超越任何单一硬盘存储模式,而且从数据安全存储的角度上考虑,RAID系统也非常值得投资。
在采购戴尔服务器前,我们还要考虑网络的规模和用户的数量。显然,在一个对应用服务器要求不高的小型网络中和在一个有数百客户使用共享文件 和打印机的大型网络中,后者文件服务器的性能通常要高出前者的应用服务。小型应用环境因为网络规模小,任务关键程度低,任务负载集中,因此对服务器的价格 较为敏感,对于服务器的性能要求较为宽松。一般要求服务器有一定的扩展能力,能与老的系统保持兼容,对安全性要求不高,要求数据备份,对容错要求不多,对 服务器的可管理性要求也不高。
中型用户的网络规模较大,任务关键程度中等,任务负载较分散,因此对戴尔服务器性能的要求较高。从保护投资角度出发,要求服务器有较好的扩 展能力,以便将来业务扩大、网络规模扩展时,已有的投资能满足更高的要求。另外,中型应用对服务器的安全要求较高,既要求有数据备份,也要求有数据容错, 对其管理性要求较高,需要一些专用的管理和配置软件。
大型用户的网络规模很大,任务关键程度很高,且负载分散,网络管理工作繁重,因此对服务器的要求也非常高,同样要求戴尔服务器具有良好的扩 展能力以保护已有的投资和满足业务增长后的需求。大型应用对数据存储和传输要求也很高,要求服务器不但应具有高速的I/O能力,而且应具有良好的容错能 力。对服务器的可管理性和负载平衡要求也非常高,服务器厂商也都会提供专用的管理和配置软件。综上所述,用户应根据本身应用需求和将来的业务发展选择适当 的服务器产品,以达到最优的性能价格比。
戴尔服务器处理器的选择实际上就是服务器平台的选择。现在我们最常见的服务器通常采用Intel平台或者AMD平台,而这两大阵营的产品的确是各有优势。
Intel Xeon系列处理器在中高端戴尔服务器里是最为常见的,而很多低端服务器则采用了Intel Pentium4处理器。相对于英特尔的处理器产品,AMD Opteron称得上是后起之秀,从其面市之初就凭借着较为先进的结构和出色的性能获得了很多用户的青睐,而且也是AMD最早将64位运算带入x86体系 中档服务器市场。
终端服务器
Windows Server 2003终端服务可以让各种台式电脑通过终端仿真访问Windows应用程序。实质上,应用程序是运行在终端服务器上的,只是屏幕输出被转发到客户端上。因此重要的是先要了解影响终端服务器性能的因素:
你的应用程序
– 应用程序内存需求
– 可分享的应用程序内存
– 应用程序屏幕刷新速度
– 应用程序输入需求
你的用户
– 输入速度
– 保持应用程序打开
– 登陆时间
– 是否全天登陆
– 是否大多数登陆发生在一天中的特定时间
你的网络
– 用户输入速度
– 应用程序是否对图形显示有较高要求
– 客户端工作站显示分辨率
– 应用程序网络带宽需求
对文件服务器的性能影响最大的几种设备是:
– 内存
– CPU
– 网络
由于在终端服务器上运行应用程序,并把结果发送到客户端工作站上,全部数据处理负载都在服务器上。因此终端服务器需要强大的CPU和足够的内存。这些服务器要同时支持很多客户端,所以网络是另外一个很重要的子系统。
大 容量的二级缓存对终端服务器的影响很小,主要因为终端服务器会有非常大量的工作区。工作区是一定数量的被CPU频繁访问的指令和数据。因为这个工作区太大 了,由终端服务器应用程序产生的地址比大多数服务器应用程序更随机的分布在这个很大的地址空间中。结果是大多数终端服务器配置从大容量二级缓存上得到的性 能提升很少。
通常用户数量加倍的话,需要CPU的性能和内存的容量也加倍。CPU和内存的需求增长是线性的,因此应该使用有SMP能力的服务器。
以下因素也会影响性能:
– 磁盘吞吐量(需要更高的性能,使用RAID设备)
– 高带宽的网络适配器
– 智能拨号通讯适配器(减少中断和增加吞吐量)