前 言
大型网站服务器容量规划
当今社会已经进入信息时代,人们足不出户,从网络上就可以获取自己需要的信息。为了满足正常的业务需求,任何一个网站都要有硬件支持,无论日访问量是一个百万级的中型网站还是上亿级的大型网站。为了正常响应用户请求,都必须提前规划好业务容量。互联网的快速发展使得网站的流量无法预估,因此,网站的运维人员必须随时监控流量,随时扩容以应对大流量带来的压力。目前业内容量规划的方法有以下几种。
一种方法是凭经验。根据以往的运维经验和目前系统的监控信息来判断是否需要扩容。这种方法明显的缺点是不可靠,即使是操作人员自己也会觉得没把握,一旦失误,造成的损失比较大。
另一种方法就是投入更多的硬件支持。足够冗余的硬件可以大幅度地提升服务的稳定性,但硬件的成本是很高的,不能通过无止境地硬件采购来保证服务质量。
以上的“凭经验”和“大量硬件投入”的方法暴露了这样一个问题:业内需要一套科学地容量规划策略,需要找到服务器容量量化的方法。为解决这个问题,本书给出了一种能够将服务器容量“量化”的方式。
将服务器容量“量化”的核心技术是资源监控与回归分析,因此,本书提出的容量管理系统是计算机资源监控系统与统计学的应用结合,将监控信息制作成样本数据、对其建模,找出访问量与资源消耗的公式是本书的中心思想。与一般的服务器容量监控系统不同,为了使样本数据精确匹配,在本书实现的监控系统中,有关访问量的监控信息必须和CPU的采样时间及采样周期吻合。
互联网公司是用计算机来支撑业务的,业务必然会消耗计算机中的资源,这些资源包括CPU、内存、存储、网卡等。不同业务主要消耗的资源是不同的,存储型业务,如百度网盘,其主要业务就是存储用户的文件,计算机资源的度量就是存储空间;对于计算型业务,如游戏行业,其主要业务就是游戏引擎的计算,主要用CPU支撑;对于流量型业务,如优酷,它的主要业务就是通过网卡传输视频文件,主要就是消耗网卡及网络带宽。所以,可以用计算机的物理资源来衡量业务量。而无论哪种业务,都少不了CPU的消耗,因此,本书采用CPU利用率作为一般业务的度量,这对于其他方面的容量管理具有抛砖引玉的作用。
掌握了容量管理技术后,运维人员便能够掌握系统还可以再承载多少流量的压力、对于新增加了的流量需要添加多少台服务器、冗余机房是否可以承载全部流量、为节省公司资源应当下架多少台服务器,以及待上线的项目是否会给线上服务带来压力等,过去凭经验完成的工作将变得可“量化”,这样会使运维工作更加透明和科学。
最后,感谢我的家人对我的支持和理解,感谢我的女友王小兔(我对女友的爱称)对我的照顾,在今后的日子里我会更加努力来回报你对我的关心。
目 录
第1章 容量概述
1.1 容量规划背景
1.2 容量研究的意义
1.3 容量研究的目标
第2章 容量规划简介
2.1 什么是容量
2.2 服务器容量规划的源由
2.3 容量规划的对象
2.4 容量管理的目标与收益
第3章 容量规划的常用方法
3.1 通过监控规划容量
3.2 通过压力测试规划容量
3.3 其他容量规划方法
3.4 通过回归方程规划容量
第4章 回归分析简介
第5章 容量规划的思路
第6章 获取CPU利用率
第7章 容量规划的需求分析
第8章 容量管理系统设计
第9章 核心模块的实现
第10章 容量规划系统的验证
第11章 结论及展望