无论是企业自己投建IT资产还是选用IDC托管。或者采用云主机。我们都要面临一个问题。那就是选择服务器的硬件配置。选购硬件配置时要根据服务器的应用需求而定。因为只通过一台服务器是无法满足所有的需求。并解决所有问题的。以下是选购租用服务器主要考虑的一些因素:
服务器要运行什么应用
需要支持多少用户访问
需要多大空间来存储数据
业务有多重要
服务器网卡方面的考虑
安全方面的考虑
机架安排是否合理化
服务器价格是否超出预算
1.服务器运行什么应用?
应用类型决定服务器的性能。容量和可靠性要求。
负载均衡端:除了网卡要求。其它方面要求低;LVS方案。会将所有连接要求转给后端web应用服务器;Haproxy负载均衡器。由于它的运行机制跟LVS不一样。流量必需双向经过HAproxy机器本身。对CPU运行有要求
缓存服务器:主要是Varnish和redis,对CPU及其他方面要求一般。但在内存方面要求尽量多谢。
应用服务器:承担了计算和功能的双重责任。需要为基于web架构的应用程序服务器选择足够快的服务器。另外应用服务器可能要用到大量的内存。尤其是基于windows基础架构的Ruby/Python/Java服务器。
特殊应用:用于除了web架构的应用程序外。如果服务器还要出来流媒体视频编码/服务器虚拟化/媒体服务器。或者游戏服务器(逻辑/地图/聊天)运行。那么同样对CPU和内存的需求比较高;
公共服务:邮件服务器/文件服务器/域控服务器/DNS服务器。通常都会部署两台互相备份。所以对于可靠性。无须过于苛刻。邮件服务器至少具备足够的硬件可靠性和容量大小。这主要是对邮件数据负责。
数据库服务器:足够快的CPU。足够大的内存。足够稳定可靠的硬件。如果预算充分。建议用固态硬盘做RAID10。因为数据库对服务器磁盘I/O要求很高。
2.服务器需要支持多少用户访问?
服务器就是用来给用户提供某种服务访问的。所以使用这些服务的用户同样是我们必须考虑的因素。可以从下面几个具体的方面进行评估:
有多少注册用户
正常情况下有多少用户会同时在线
每天同时在线访问的最高峰值大概多少
3.需要多大空间来存储数据
关于这个问题需要从两个方面来考虑。一方面是有哪些类别的数据。包括:操作系统本身占用的空间。安装应用程序所需要的空间。应用程序所产生的数据。数据库。日志文件。邮件数据等。如果网站是web2.0的。还要计算每个用户的存储空间;另一方面是从时间轴上来考虑。这些数据每天都在增长。至少要为未来两三年的数据增长做个准确的预算。这就需要软件开发人员和业务人员一起来提供充分的信息了。最后将计算出来的结果乘上1.5左右的系数。以方便维护的时候做各种数据的备份和文件转移操作。
4.我的业务有多重要
根据自身的业务领域来考虑。举个领子。有助于理解这些服务器对可靠性。数据完整性等方面的要求:
如果服务器运行一个WordPress博客。那么一台酷睿处理器的服务器。1GB内存。外加160GB的硬盘就够了。就算服务器出现一点硬件故障。导致几个小时不能提供访问。生活也会照常继续;
如果服务器是用作测试平台。则不会如生产系统那样对可靠性有极高的要求。做需要的可能只是做好例行的数据备份即可。若服务器宕机。只要能够在当天解决问题即可;
如果是一家电子商务公司的服务器。运行电子商务网站平台。当硬件发生故障导致宕机时。你需要对以下“危言耸听”的后果做好心理准备:投诉电话被打爆。顾客大量流失。顾客要求退款。市场推广费用打水漂。员工无事可干。公司运营陷入瘫痪状态。数据丢失。
如果是大型广告类或者门户类网站。那么建议选择CDN系统。由于他们具有较高的响应速度。负载均衡。有效抵御DDoS攻击等特点。相对而言。每个节点都会有大量的冗余。
这里其实只是简单地讨论下业务对服务器硬件的可靠性要求。要全面地解决这个问题。不能只考虑服务器的硬件。还需要考虑系统架构的规划设计。
(1)选择什么CPU
如果业务刚刚起步。预算不是很充足。建议选择一款经典的酷睿服务器。这可以帮你节约大量的成本。而且。以后还可以根据业务发展的情况。随时升级到更高配置的服务器。
如果需要在一台服务器上运行多种应用服务。例如基于LNMP架构的Web网站。那么一个单核至强或新一代I5(双核四线程)讲师最佳的选择。虽然从技术角度来说。这并不是一个好主意。但至少能节省一大笔成本。
如果服务器要运行MySQL或者Oracle数据库。而且目前有几百个用户同时在线。未来还会增长。那么至少应该选择安装一个双四核服务器。
(2)需要多大的内存
相比于CPU。内存(RAM)才是影响性能的最关键因素。因为在很多正在运行的服务器中。CPU的利用率一般都在10%-30%之间。甚至更低。但由于内存容量不足而导致服务器运行缓慢的案例比比皆是。如果服务器不能分配足够的内存给应用程序。那么应用程序就需要通过硬盘接口缓慢地交换读写数据了。这将导致网络慢的令人无法接受。
无论是Apache还是Nginx服务器。一般情况下Web前端服务器都不需要配置特别高的内存。尤其是在集群架构中。4GB的内存已经足够了。如果用户数量持续增加。我们才会考虑使用8GB或更大的内存。单个Apache Web机器。在配置了16GB的内存后。可以抗6000个并发连接。
对于运行Tomcat。Resin。Weblogic的应用服务器。8GB内存应该是基准配置。
数据库服务器的内存有数据库实例的数量。表大小。索引。用户数量等来决定。一般建议配置16GB以上的内存;
诸如Postfix和exchange这样的邮件服务器对内存的要求并不高。1GB-2GB就可以满足了。
还有一些特殊的服务器。需要为之配置尽可能大的内存容量。比如配置有Varnish。Memcached的缓存服务器。
事实上。由于内存技术不断进化。价格不断降低。因此才得以近乎奢侈地讨论4GB。8GB。16GB这些曾经不可想象的内存空间容量。
(3)需要怎样的硬盘存储系统
硬盘存储系统的选择和配置时整个服务器系统里最复杂的一部分。需要考虑硬盘的数量。容量。接口类型。转速。缓存大小。以及是否按照RAID卡。RAID卡的型号和RAID级别问题。甚至在一些高可靠性高性能的应用环境中。还需要使用怎样的外部存储系统(SAN。NAS。DAS)。
如果用作缓存服务器。比如Varnish或Redis。可以考虑使用RAID0;
如果是跑Nginx+FastCGI或Nginx等应用。则可以考虑用RAID1;
如果是内网开发服务器或存放重要代码的服务器。则可以考虑用RAID5;
如果是跑MySQL或Oracle等数据库应用。可以考虑用固态硬盘做RAID5或RAID10;
5.网卡方面的考虑
如果基础架构师多服务器环境。而且服务器之间有大量的数据交换。那么建议为每台服务器配置两个或更多的网卡。一个用来对外提供服务。另一个用来做内部数据交换。如果在项目外端都置于防火墙内。许多时候单网卡就足够了。建议大家选用万兆网卡。另外。建议交换机也要选择千兆网卡级别的。如果经常使用AWS EC2机器。AWS将机器的网卡分成了3个级别:Low(20Mbit/s)。Moderate(40Mbit/s)。High(80~100Mbit/s)。
6.服务器安全方面的考虑
目前国内的DDoS攻击还是比较普遍的。因此建议给每个项目方案和自己的电子商务网站配置硬件防火墙。虽然这些问题是网站后期运营维护需要考虑的。这里只是让大家有个概念性的认识。此外。建议租赁CDN服务。这样万一不幸遭遇恶意的DDos流量攻击。CDN还能帮助抵挡部分恶意流量。核心机房的业务不至于在很短的时间内就会崩溃。
7.根据机架数合理安排服务器的数量
选择服务器时应该明确服务器的规格。即到底是1U。2U还是4U的。到底有多少台服务器和交换机。应该如何安排。毕竟机柜只有42U的容量。
8.成本考虑:服务器的价格问题
无论公司采购。还是项目实施过程中。成本都是非常重要的问题。笔者的方案经常退回。理由是超出预算。我们经常面对的问题是。客户给出的成本预算有限。而实际应用又需要比较多的服务器。这时候。就不得不另外设计一套最小化成本预算方案来折中处理。有需要服务器的朋友请联系渲大师客服!
本文地址:https://gpu.xuandashi.com/37110.html,转载请说明来源于:渲大师
声明:本站部分内容来自网络,如无特殊说明或标注,均为本站原创发布。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。分享目的仅供大家学习与参考,不代表本站立场!