《大型网站服务器容量规划》——3.4 通过回归方程规划容量

3.4 通过回归方程规划容量

回归方程是统计学里面的知识,是一种应用数学,通常属于数学专业同学研究的方向,运维人员很少用这种方法评估系统容量。下面花点时间引出回归方程在服务器容量规划中的应用,这也是本书介绍的重点。

容量规划的关键就是找出系统可承载的最大压力,然后根据极限压力再做部署规划,话说的容易,其实这往往是最困难的部分,因为它不像杯子那种容器,其容量是很直观的、可以提前确定。而服务器的性能是不好估量的,看不到摸不着,其容量只能通过实际测试才能得到。再说,我们所运维的系统可是由数以千计的机器组成的,这么多机器对系统的容量都起到决定性的作用,而且大多数情况下各个机器的性能是不一致的,一台机器的容量数据不能作为其他机器的标准,总之各服务器都有自己的极限容量。就像电池一样,有的电池容量较大,2600毫安,有的容量较小,2000毫安,因此,它们各自的续航时间是不同的。

容量评估就是用现在的数据预估未来的变化,用什么方法来预估呢?在正式回答之前,咱们还是用数据说话,先看几张监控图,也许大家就明白是怎么回事了,如图3.3所示。

图3.3中显示的是流量与整体cpu_idle之间的关系,上面的access_log_pv是每分钟的访问日志,下面的cpu_idle是每分钟的cpu_idle,大体趋势上这两张图是对称的,这两张图表明:访问量越大,CPU利用率就越高。其实不说大家也会这么想,访问量越大,相应的CPU使用率当然就越高了。其实这是在正常时的情况,在某些情况下,访问量越大,CPU使用率越低,您信不?后面我们再讲。

下面再看图3.4,这是流量与流量之间的对比,注意并不是流量与CPU利用率。

https://yqfile.alicdn.com/8155a2df502d5c7375606d3de5af5dfd817ff2bf.png" >

一般的网站都会有前端模块和后端模块,前端模块则是实际的流量访问入口,图3.4中的下图lighttped_log是入口模块的访问日志,上面的图front_ms_log则是后端模块的访问日志,这两个日志的时间统计粒度是一样的,都是每分钟内的访问量。front_ms_log每分钟是15个左右,lighttped_log大概是每分钟1000个,虽然这两个日志数量级差别很大,但它们在总体上的趋势是一样的,front_ms_log随lighttpd_log的变化趋势而变化,因此,这两张图中的曲线依然相似。

以上的两张大图虽然一定程度上说明了问题,但似乎还不够明显,毕竟它们展现的是入口流量与整体CPU的关系或前后端模块的流量关系,也就是监控粒度是整体。下面再看图3.5,这里的监控粒度是模块,也就是某个Server,如nginx。

图3.5中,front_ms.log是php-cgi的日志,php-cgi_proc_CPU是php-cgi的使用率,从图3.5上看这两者的关系确实明朗了很多,几乎完全是一样的趋势。这是模块pv与模块消耗的CPU对比,针对的是模块。另外说明一下,由于系统中任何一个模块的CPU使用率、或者整机的CPU利用都是由其流量驱动的,入口流量又以一定的比例分流到后端,因此,几乎是系统内的任意流量都与系统内的任意模块CPU利用率之间保持某种关系,简而言之,未必是模块自身的流量与模块自身的CPU利用率之间才呈现关联关系,也许只是这种关联关系比较明显而已。有关这一点可以通过监控图来验证,把所有机器、模块的流量和CPU监控放到一起对比,会发现趋势线是类似的。

从上面3个大图来看,这些流量都是相关的,即保持某种依赖关系,流量越大,CPU消耗、后端流量等都跟着增加,如果把这一关系用函数y=f(x)来表示的话,其中的x表示流量,y便是CPU消耗或者后端流量等相关的因素,找出x与y的关系就是容量规划设计的思想。以上图中的监控信息可以用来生成样本数据,这种由已知的样本去预估未来的变化趋势,是典型的回归应用,容量规划的核心思想就是曲线拟合。

时间: 2024-09-08 13:18:44

《大型网站服务器容量规划》——3.4 通过回归方程规划容量的相关文章

《大型网站服务器容量规划》一导读

前 言 大型网站服务器容量规划当今社会已经进入信息时代,人们足不出户,从网络上就可以获取自己需要的信息.为了满足正常的业务需求,任何一个网站都要有硬件支持,无论日访问量是一个百万级的中型网站还是上亿级的大型网站.为了正常响应用户请求,都必须提前规划好业务容量.互联网的快速发展使得网站的流量无法预估,因此,网站的运维人员必须随时监控流量,随时扩容以应对大流量带来的压力.目前业内容量规划的方法有以下几种. 一种方法是凭经验.根据以往的运维经验和目前系统的监控信息来判断是否需要扩容.这种方法明显的缺点

《大型网站服务器容量规划》一3.4 通过回归方程规划容量

3.4 通过回归方程规划容量 回归方程是统计学里面的知识,是一种应用数学,通常属于数学专业同学研究的方向,运维人员很少用这种方法评估系统容量.下面花点时间引出回归方程在服务器容量规划中的应用,这也是本书介绍的重点. 容量规划的关键就是找出系统可承载的最大压力,然后根据极限压力再做部署规划,话说的容易,其实这往往是最困难的部分,因为它不像杯子那种容器,其容量是很直观的.可以提前确定.而服务器的性能是不好估量的,看不到摸不着,其容量只能通过实际测试才能得到.再说,我们所运维的系统可是由数以千计的机器

《大型网站服务器容量规划》——1.3 容量研究的目标

1.3 容量研究的目标 目标是实现单入口流量预估,具体包括以下内容. (1)判断现有系统规模还可以再承载多少流量. 大家应该有这样的经验,一到假期,大家花费在网络上的时间会很多,也许会发现网站的响应有可能会变慢.对于网站来说,假期的流量比一般时候的流量要大,因此,在节假日的流量会有所上涨.我们可以估计出新的流量来判断现有的系统是否可承受. (2)对于新增的流量,采购设备时给予指导,花最少的钱办同样的事. 公司一般会在每个季度做一次预算,因此,要提供一套理论公式支持部门的预算申请.对于运维部门来说

《大型网站服务器容量规划》——第2章 容量规划简介2.1 什么是容量

第2章 容量规划简介 2.1 什么是容量 容量意指容量规划,从经济学到工程领域都有其应用,容量规划听起来是个高大上的概念,本质来说,其实就是资源利用率的管理,一个较典型的例子就是容器,例如我们是用水杯来接水喝,水杯总是有一个最大容量,我们所接的水肯定都在杯子容量之内,超过这个容量水就会溢出,这个道理还是很易懂的.其实在接水这个动作发出之前,我们通过观察就已经知道了杯子的最大容量是多少,所接的水必然会控制在杯子容量之内,如果一个杯子容量不够,口渴的同学可能会选择更大的杯子或者同时用两个杯子.因为这

《大型网站服务器容量规划》一2.1 什么是容量

2.1 什么是容量 容量意指容量规划,从经济学到工程领域都有其应用,容量规划听起来是个高大上的概念,本质来说,其实就是资源利用率的管理,一个较典型的例子就是容器,例如我们是用水杯来接水喝,水杯总是有一个最大容量,我们所接的水肯定都在杯子容量之内,超过这个容量水就会溢出,这个道理还是很易懂的.其实在接水这个动作发出之前,我们通过观察就已经知道了杯子的最大容量是多少,所接的水必然会控制在杯子容量之内,如果一个杯子容量不够,口渴的同学可能会选择更大的杯子或者同时用两个杯子.因为这是潜意识里的行为,尽管

《大型网站服务器容量规划》一1.3 容量研究的目标

1.3 容量研究的目标 目标是实现单入口流量预估,具体包括以下内容. (1)判断现有系统规模还可以再承载多少流量. 大家应该有这样的经验,一到假期,大家花费在网络上的时间会很多,也许会发现网站的响应有可能会变慢.对于网站来说,假期的流量比一般时候的流量要大,因此,在节假日的流量会有所上涨.我们可以估计出新的流量来判断现有的系统是否可承受. (2)对于新增的流量,采购设备时给予指导,花最少的钱办同样的事. 公司一般会在每个季度做一次预算,因此,要提供一套理论公式支持部门的预算申请.对于运维部门来说

架设某大型网站服务器全部详细过程(郁闷少年)

郁闷少年架设某大型网站服务器之全部过程  *版权所有  所有:郁闷少年&&二娃家园  网站:http://www.mingfor.com  发布:mingfu  联系:msn:linux@mingfor.com  日期:2006-04-04  首发:2006-04-04 00:00:00  修改:2006-04-04  欢迎转载,  本程序为 GPL 授权,任何人皆可传播本文档.  但请勿直接用于商业用途,否则将追究其相关责任.  *网站服务器  主要任务:  根据开发设计需求架设大型的网

《大型网站服务器容量规划》——第1章 容量概述1.1 容量规划背景

第1章 容量概述 1.1 容量规划背景 如今人们已经习惯从互联网上获取信息,因此,几乎任何一家公司都要有自己的网站.引入了一个新的事物后,必然会随之带来新的问题.网站是放在服务器上的,一般来说网站的访问量越大,服务器的压力就越大.为保证网站的正常运营,网站的运维人员有必要了解当前系统是否工作正常.系统的处理能力是否接近极限,以及需要新增多少台服务器来承载新增的压力.作为一名合格的运维工程师,对于以上这些必须要做到心中有数. 一般的公司在网站扩容方面都是采用"凭经验+逐步尝试"的方法,这

《大型网站服务器容量规划》一1.1 容量规划背景

1.1 容量规划背景 如今人们已经习惯从互联网上获取信息,因此,几乎任何一家公司都要有自己的网站.引入了一个新的事物后,必然会随之带来新的问题.网站是放在服务器上的,一般来说网站的访问量越大,服务器的压力就越大.为保证网站的正常运营,网站的运维人员有必要了解当前系统是否工作正常.系统的处理能力是否接近极限,以及需要新增多少台服务器来承载新增的压力.作为一名合格的运维工程师,对于以上这些必须要做到心中有数. 一般的公司在网站扩容方面都是采用"凭经验+逐步尝试"的方法,这样通过逐渐逼近的方