性能调优第一步:如何搞定服务器硬件选型?

服务器
无论你是自行购买服务器进行托管,还是租用服务器,购买云主机,都要面临的一个问题:选择服务器的硬件配置。

 服务器硬件选型是Linux性能调优的***步。

无论你是自行购买服务器进行托管,还是租用服务器,购买云主机,都要面临的一个问题:选择服务器的硬件配置。

我们需要从不同角度、多个方面来决定选择一台什么样的服务器,找到满足技术需要、业务发展和成本控制之间的***平衡点。

那么接下来,我们就来谈谈如何进行硬件选型。

服务器要运行什么应用?

我们要根据服务器的用途,来决定服务器的性能、容量和可靠性需求。

这里我们按照最典型的基础架构:Web服务器、数据服务器、应用程序服务器来展开讨论。

[[269438]]

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.网卡的稳定性

对网络稳定性要求高,推荐双网卡做冗余,两个网卡连接到不同的交换机上,这样,任意一个网卡故障都不影响业务的正常运行。

责任编辑:武晓燕 来源: 安徽思恒信息科技有限公司
相关推荐

2009-01-18 08:49:04

Java入门JDK

2018-02-10 11:24:39

Python数据程序

2021-01-15 18:17:06

网络协议分层

2011-03-08 09:57:53

2012-03-09 09:51:35

2012-06-01 09:54:03

2024-09-18 14:54:53

2010-01-21 10:29:54

java认证

2012-07-11 16:43:14

飞视美

2013-01-15 09:17:11

2021-09-30 16:05:04

显卡虚拟货币芯片

2021-08-24 05:07:25

React

2015-06-02 11:42:00

Cloud FoundAzure

2019-11-20 10:54:46

无密码身份验证网络安全

2020-11-17 14:55:36

亚马逊云科技迁移

2009-02-02 23:18:25

虚拟化VMware整合评估

2022-09-21 09:09:49

数据库选型

2011-07-25 14:17:46

BSMIT运维北塔

2010-07-01 13:44:12

点赞
收藏

51CTO技术栈公众号