初学者如何选择适合自己的服务器
在如今大数据流量剧增的网络应用时代,服务器租用越来越成为众多企业和运营商的首选。而性能和配置不达标的服务器选择只会给企业带来诸多运营问题;但不经过实际需求的评估,轻率的选择一台性能强劲、价格昂贵的服务器,无疑是会带来成本上的浪费;因此,不能一味的为了省钱而选择一台很容易称为计算瓶颈,或者没有充分考虑数据冗余的服务器,都是会影响正常的业务运行,你需要从不同的角度来决定选择一台什么样的服务器,找到满足技术需要、业务发展和成本控制之间的*佳平衡点,为了做到这一点,*对还是需要一点智慧。
下面为大家介绍一些易于理解,尽可能全面的建议,并帮助你做出决定。
先不要急于决定需要怎样的CPU,几个硬盘,几个G内存,需要多少兆带宽这样的问题,那些是我们*后需要得到的答案。在这之前,先一起梳理几个问题。在下面,我们列出了一些”多少”或”什么样”的问题,拿起你的笔或在Windows记事本里新建一个文件,尝试根据下面四个问题来评估自己的需求:
服务器运行什么应用?
需要支持多少用户访问?
需要多大空间来存储数据?
我的业务有多重要至于性能问题,我们认为需要评估用户数量才能决定。
服务器运行什么应用?
这是首先需要考虑的问题,在这里你要根据服务器的应用类型,也就是用途,来决定服务器的性能、容量和可靠性需求。我们按照前端服务器+应用程序服务器+数据服务器的常见基础架构来讨论:
1**Web前端:**正常情况下,我们认为大多数Web前端服务器(Front-end)对服务器的要求不大,例如静态Web服务器、动态Web服务器、图片服务器等等,因为在现有的技术框架中,我们有很多方案可以解决前端服务器的性能扩展和可靠性问题,例如LVS、Nginx反向代理、硬件负载均衡(F5,A10,Radware)等。
2**应用服务器:**由于承担了计算和功能实现,我们需要为基于Web架构的应用程序服务器(Application Server)选择足够快的服务器,另外应用程序服务器可能需要用大量的内存,尤其是基于Windows基础架构的Ruby,Python,Java服务器。这一类服务器至少需要使用单路至强的配置。对于可靠性的问题,如果你的架构中只有一台应用服务器,那肯定需要这台服务器足够可靠,RAID*对是不能忽视的选项。但如果有两台或更多的应用服务器,并设计了负载均衡机制,具有冗余功能,那我们则不必将每台服务器武装到底。
3**特殊的应用:**除了作为Web架构中的应用程序服务器之外,如果你的服务器是用来处理流媒体视频编码、服务器虚拟化、媒体服务器(Asterisk之类),或者作为游戏服务器(逻辑、地图、聊天)运行,则同样对CPU和内存需求比较高,我们至少要考虑单路至强的服务器,其中服务器虚拟化对存储的可靠性的要求都非常高。
4**公共服务:**我们指的是邮件服务器、文件服务器、DNS服务器、域控服务器这类服务器。通常情况我们会部署两台DNS服务器作为互相备份,域控主服务器也会拥有一台备份服务器(专用的或非专用的),所以对于可靠性,无需达到苛刻的地步。至于邮件服务器,至少需要具备足够的硬件可靠性和容量大小,这主要是为了对邮件数据负责,因为很多用户没有保存和归档邮件数据的习惯,当他们重装系统后,总会依赖重新下载服务器上的数据。关于性能问题,需要评估具体用户数量来*终决定。
5**数据库:**我们*后讨论的应用,也是要求*高,*重要的服务器。无论你使用的是MySQL、SQLServer还是Oralce,一般情况下,我们认为它需要足够快的CPU,足够大的内存,足够稳定可靠的硬件。单路至强CPU/4GB内存/Raid1*对是入门配置。关于准确的配置我们需要再讨论业务需求后才能作决定。
需要支持多少用户访问?
服务器需要支持多少用户访问?服务器肯定是为了提供某种服务,而使用这些服务的用户同样是我们必须考虑的因素,有几个具体的问题你需要做出评估:
有多少注册用户?
正常情况下有多少用户会同时在线访问?每天同时在线访问的*高峰值大概是多少?
这些问题,对我们决定采用什么样的CPU,多大的内存有着至关重要的影响。建议你的技术人员和业务部门坐在一起来讨论这几个问题,*后甚至需要按照特定的技术模型和算法,将这些数字转化为一些更具体的技术数字,例如并发多少个连接(很多时候,用户数与连接数不是一个概念)。同时,你还要对未来的用户增长做一个尽可能准确的预测和规划,你的服务器需要支持越来越多的用户。
需要多大空间来存储数据?
需要多大空间来存储数据?我们需要从两个角度来计算这个问题,一个角度是有哪些类别的数据,包括:操作系统本身占用的空间、安装应用程序所需要的空间、应用程序所产生的数据、数据库、日志文件、邮件数据等等,如果是Web2.0类的网站,你还要计算每个用户的存储空间;另一个角度是从时间轴来考虑,这些数据每天都在增长,你至少要为未来1年(我们建议2~3年)的数据增长做个准确的测算,这可能仍然需要你的软件开发人员和业务人员一起提供足够的信息。*后你仍然需要为计算出来的数字结果乘1.5左右的系数,方便维护的时候做各种数据备份和文件转移操作。
参考:
云服务器主要有下列几项参数: 1、 CPU 2、内存 3、硬盘 4、带宽 5、线路 6、操作系统 7、地区
CPU就代表了云服务器的运算能力,如果网站流量较大,如果网站流量较大,动态页面比较多,建议选择2核以上CPU。
内存是数据的中转站,也是决定网站打开速度的重要因素,内存越大,可用缓存越大,打开速度也就越快。根据你网站的规模选择合适配置的空间,假如是一般的个人博客,或者企业展示网站类,就可以选小一点的,若是商城类,新闻类就要相对大一点的空间。
硬盘是存储数据的地方,硬盘的大小要根据网站的数据大小决定,在选择时应该考虑到剩余空间。另外硬盘的I/O读取速度直接决定文件读取的快慢,云服务器硬盘的读取速度比其他网站快很多,一般情况下都够用。
根据网站的性质选择合适的带宽,看你的网站类型、结构和访问量等指标或者预计,一般新的网站,图片不多,也做了处理的,有2M足够了。带宽只要真实,不用多,够用,合适就好;或者,先选择2M,不够再加,这样比较稳妥。如果是普通的网站。比如文字网站,图片网站,论坛等,占用的带宽非常小。5000的访问量可能也占用不到2M的带宽.如果是视频,下载等为主的网站。可能几百个人同时在线都需要占用10M以上的带宽。
操作系统的选择和个人的熟悉情况和网站具体情况有关,对哪种操作系统比较了解就选择哪种操作系统,另外windows系统对asp程序支持较好,不过占用内存较多,而Linux系统对php程序比较友好,更省内存,并且有的程序可能只支持某个操作系统。
线路的选择对于我们来说有的时候十分纠结。如果我们是针对于本地用户,那么我们本来可以选择单线路的服务器,但是双线服务器的优势一般在于双IP,并且对于一个城市来说,宽带有电信、网通不同的。就拿大连这个城市来说,虽然处于北方,但是电信的用户也十分多,所以这个时候果断选择双线可能是更好实现用户体验的好方法。
地区,即云服务器所在地区,*好选择在你目标用户所在的区域内,这样网站等打开速度更快。
*后总结,云主机也好,独立服务器也好,卡住预算的前提下,性能要素的优先排序取决于具体的应用。如高计算需求,则优先内存CPU;高访问需求,则优先带宽内存。等等。