百万级运维经验:服务器的选择和部署

对服务器的选择,我曾经盲目过。流量大了服务器顶不住怎么办,我那时候的想法就是加配置,4核变8核,8核变16核,内存也加,4GB变8GB变16GB,为什么不加服务器呢,麻烦嘛,觉得提高服务器配置的效果也是一样的。后来我才明白,这种想法是错误的,还是停留在个人电脑的思维。

我发现,增加了服务器配置并不能给我带来相应的性能提升,我对服务器和操作系统没有特别深的了解,我个人觉得原因如下:

首先,大部分软件没有针对多核CPU进行优化,即便有优化,也无法百分百的利用CPU的资源,软件或系统对多核CPU资源的调度应该没有特别完善。

第二,我猜测,CPU跟内存,CPU跟硬盘之间的总线带宽应该是固定的,就好比房间很大,但房门很小,还是需要一个个排队进来。

第三,一般网站程序对CPU要求不高,网站的主要性能瓶颈在于硬盘的IO,由于硬盘IO速度是固定的,增加CPU并不能提高硬盘的IO性能。

我的看法是,把一台8核8GB内存的服务器换成两台4核4GB的服务器会好很多,也就是1+1>2,根据木桶原理,硬盘IO就是那块短板。

为什么呢,因为两台服务器就相当于得到了两倍的CPU总线,两倍的硬盘IO,就好比一个房间开了两个门,客人进入房间的速度就会快很多,CPU和内存的资源也能得到充分的利用。

两台服务器,可以做负载均衡,也可以把网站分成两个应用分别放在不同的服务器上。通常我会这样分,一般的网站都会分为PC版和手机版,那么我就把PC版放在一台服务器,手机版放在另一台服务器,两边代码互不影响,然后通过nginx两台服务器互相反向代理,再加上负载均衡,不管哪台服务器出问题,都能快速定位到。

我对网站架构的设计思想是,把大网站打散,分成各个独立的应用,比如:用户中心、注册登录、PC端、手机端等等,实际情况实际分析,然后把不同的应用放在不同的服务器上,其它应用就通过反向代理链接到对应的服务器上,形成一个网,不管访问哪一台服务器,都能通过这台服务器访问到其它的服务器。
原文链接:http://www.2cto.com/os/201405/304402.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值