选择服务器

 我们抛开 租用服务器还是自行购买服务器进行托管的问题,在这篇文章里,我们讨论的是无论租用或托管都要面临的一个问题,那就是选择服务器的硬件配置。因为上帝不会给你一台服务器来满足所有需求,解决所有的问题。尤其是我们身处在这样一个飞速变化的时代,当你还在为最新款最强劲的CPU乍舌不已的时候,Intel、AMD却已经在密谋下一次洗劫你钱包的时机了,其实,他们早已经将未来10年的CPU演进道路设计妥当,布好一个又一个的坑在等着你跳进去,简直就像阴谋一般。没错,这一切就是阴谋!


不成功的服务器选择会给企业带来很多运营问题:如果不经认真仔细的评估,轻率的选择一台性能超级强劲让你高枕无忧但价格昂贵的服务器,毫无疑问会带来成本上的极大浪费;但如果一味为了省钱,而选择一台很容易成为计算瓶颈,或没有充分考虑冗余措施的服务器,就会极大影响业务的运行,客户投诉网站速度超慢,硬盘出现故障导致数据丢失,因为这些,你从此没有了美好的睡眠,每日提心吊胆,更要命的是,公司因此丢失了几十万元的订单。


你需要从不同的角度来决定选择一台什么样的服务器,找到满足技术需要、业务发展和成本控制之间的最佳平衡点,为了做到这一点,绝对还是需要一点智慧。51IDC将在下面为大家介绍一些易于理解,尽可能全面的建议,并帮助你做出决定。


先不要急于决定需要怎样的CPU,几个硬盘,几个G内存,需要多少兆带宽这样的问题,那些是我们最后需要得到的答案。在这之前,先一起梳理几个问题。在下面,我们列出了一些“多少”或“什么样”的问题,拿起你的笔或在Windows记事本里新建一个文件,尝试根据下面四个问题来评估自己的需求:


服务器运行什么应用?


需要支持多少用户访问?


需要多大空间来存储数据?


我的业务有多重要?


1 服务器运行什么应用?这是首先需要考虑的问题,在这里你要根据服务器的应用类型,也就是用途,来决定服务器的性能、容量和可靠性需求。我们按照前端服务器+应用程序服务器+数据服务器的常见基础架构来讨论:


1.1 Web前端:正常情况下,我们认为大多数Web前端服务器(Front-end)对服务器的要求不大,例如静态Web服务器、动态Web服务器、图片服务器等等,因为在现有的技术框架中,我们有很多方案可以解决前端服务器的性能扩展和可靠性问题,例如LVS、Nginx反向代理、硬件负载均衡(F5,A10,Radware)等。甚至在很多访问量不高(几百个用户同时在线)的应用中,51IDC的经典酷睿服务器就可以满足需求。


1.2应用服务器:由于承担了计算和功能实现,我们需要为基于Web架构的应用程序服务器(Application Server)选择足够快的服务器,另外应用程序服务器可能需要用大量的内存,尤其是基于Windows基础架构的Ruby,Python,Java服务器。这一类服务器至少需要使用单路至强的配置。对于可靠性的问题,如果你的架构中只有一台应用服务器,那肯定需要这台服务器足够可靠,RAID绝对是不能忽视的选项。但如果有两台或更多的应用服务器,并设计了负载均衡机制,具有冗余功能,那我们则不必将每台服务器武装到底。


1.3 特殊的应用:除了作为Web架构中的应用程序服务器之外,如果你的服务器是用来处理流媒体视频编码、服务器虚拟化、媒体服务器(Asterisk之类),或者作为游戏服务器(逻辑、地图、聊天)运行,则同样对CPU和内存需求比较高,我们至少要考虑单路至强的服务器。其中服务器虚拟化对存储的可靠性的要求都非常高,因为一个篮子里有十几个鸡蛋,篮子一定要足够牢靠才是。


1.4公共服务:我们指的是邮件服务器、文件服务器、DNS服务器、域控服务器这类服务器。通常情况我们会部署两台DNS服务器作为互相备份,域控主服务器也会拥有一台备份服务器(专用的或非专用的),所以对于可靠性,无需达到苛刻的地步。至于邮件服务器,至少需要具备足够的硬件可靠性和容量大小,这主要是为了对邮件数据负责,因为很多用户没有保存和归档邮件数据的习惯,当他们重装系统后,总会依赖重新下载服务器上的数据。至于性能问题,我们认为需要评估用户数量才能决定。


1.5数据库:我们最后讨论的应用,也是要求最高,最重要的服务器。无论你使用的是MySQL、SQLServer还是Oralce,一般情况下,我们认为它需要足够快的CPU,足够大的内存,足够稳定可靠的硬件。单路至强CPU/4GB内存/Raid1绝对是入门配置。关于准确的配置我们需要再讨论业务需求后才能作决定。

选择服务器