服务器硬件选择是Linux性能调优的第一步。无论是购买服务器自己托管、租用服务器,还是购买云主机,都不得不面对一个问题:选择服务器的硬件配置。我们需要从不同的角度和方面来决定选择什么样的服务器,在满足技术需求、业务发展和成本控制之间找到最佳平衡点。然后,让我们谈谈如何进行硬件选择。服务器应该运行什么应用程序?我们需要根据服务器的用途来确定服务器的性能、容量和可靠性要求。这里我们讨论最典型的基础设施:Web服务器、数据服务器和应用服务器。1、Web服务器Web服务器对硬件要求不高,一般的硬件配置(2个4核,8G内存,1T硬盘)即可满足需求。如果后期Web服务访问量增加,只需要增加一台相同配置的新服务器,增加负载均衡集群即可实现Web服务的性能扩展。2、数据服务器数据服务器对硬件要求比较严格,主要特点是CPU要足够快,内存要足够大,磁盘IO要足够快和稳定。比如:MySQL、Oracle服务器,CPU配置要求好,最好是双路志强金牌,磁盘最好是SSD系列。Redis服务器主要是基于内存的应用,所以内存必须足够大且可扩展,而对磁盘和CPU的要求没有那么高。3.应用服务器应用服务器的一个典型特征是承担计算和功能实现。CPU的配置至少是双路XeonSilver系列。对于可靠性问题,如果你只有一台服务器,那么这台服务器必须足够可靠,将磁盘做成RAID1阵列是必不可少的。4.其他公共服务器还有一些公共服务器,例如:邮件服务器、DNS服务器、域控制服务器。稳定性要求高,一般建议至少两台主备部署。对于硬件,没有特殊要求,一般的硬件就够了。业务系统支持多少用户?硬件服务器是为了提供一定的服务,使用这些服务的用户数量也是我们需要考虑的因素。有几个具体问题需要我们评估:估计有多少用户同时在线?每天同时在线访问的峰值估计是多少?估计数据量有多大?估计占用多少网络带宽?应该使用多少空间来存储数据?我们需要从两个角度来考虑这个问题。一个角度是有什么类型的数据,另一个是数据的增长速度,比如:每天会增加多少数据,根据这个增长速度,未来1-3年的数据量可以计划。***我们可以得到一个更具体的数字,我们需要将计算出来的数字乘以一个1.5左右的系数。生意有多重要?服务器可以为不同的业务系统提供各种应用服务,这种重要性直接影响到我们对服务器的选择和配置。1、门户网站一台服务器,青铜单路CPU,4G内存,500GB就够了,不需要备机。即使服务器出现硬件故障,也会有几个小时甚至一两天无法提供访问。它将照常进行,天不会塌下来。对公司影响也不大。2.如果测试平台只是做功能测试,对硬件配置基本没有要求,虚拟机也能满足要求。如果是为了性能测试,那么根据性能测试的方向,选择一个比较强大的硬件。3、电商平台的CPU要够好,内存要够大,磁盘要RAID10。同时,还需要部署主备架构,数据需要实时远程备份,因为一旦重要业务系统出现故障,直接损失就是金钱。如何选择CPU?CPU主频越高,其性能越高;两个CPU优于一个CPU;就品牌而言,即英特尔和AMD,英特尔的服务器市场份额更高。常见情况:1、刚开始公司业务量不大的时候,这个时候预算可能不够,所以建议选择IntelXeonbronze单路CPU,但是记得留个扩展接口。2.运行apache+php+tomcat+mysql架构等多种服务,都运行在一台机器上,那么,推荐IntelXeonSilverDualCPU,这会是一个不错的选择。3、运行MySQL/Oracle,至少要选择一颗IntelXeonGold双路10核CPU,并预留CPU扩展接口。当负载越来越重时,可以选择将CPU增加到四路。需要多少内存?与CPU相比,内存(RAM)其实是影响性能最关键的因素。很多业务系统的CPU使用率一般在10%到50%之间,甚至更低。1、apache、nginx等Web前端服务器。不需要太大的内存,因为这些web服务器主要处理静态请求,每天有几十万的访问量,4GB的内存就够了。2.Tomcat、Resin、WebLogic、Websphere、jboss等Java重载应用服务器。配置的内存可以在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、网卡的速度是选择千兆网卡还是10G网卡,主要看我们对带宽流量的评价。在大多数情况下,千兆网卡足以对外提供服务。如果内部数据交换非常频繁,比如Hadoop业务,建议使用10G网卡。2、网卡的稳定性对网络稳定性要求高。推荐双网卡冗余,两块网卡连接不同的交换机。这样,任何一块网卡出现故障都不会影响业务的正常运行。
