Web服务器容量是应用程序特定的。一般而言,Web服务器被看作网站服务器的前端机,它接收用户请求,调用后台资源(如数据库),然后使用调用结果产生响应。一些 应用程序做简单快速的数据库查询,其他的做少量但更复杂的数据库查询。一些网站大部分为静态页面服务,而另一些主要是动态内容。你需要根据系统和应用层的度量指标来长期观察使用量度量指标,该度量指标作为容量规划的基础。
Web服务器(静态或动态)的容量规划是峰值驱动的,因此是有弹性的,不像存储消耗量。服务器每天都消耗大量的硬件资源,在这些资源接近饱和时会有一个转换点。目标是发现周期性的峰值并利用它们驱动你的容量轨道。正如任何峰值驱动的资源,你需要找到什么时候是峰值,并深入进去发现在那段时间到底在发生什么。
一个真实示例:Web服务器测量
作为一个示例,让我们看看单个Apache Web服务器每小时、每天、每周的度量指标。我们将尽量从中挑选出高峰期。
毎小时的图显示没有特殊的模式,而每日的图显示了一个平滑的下降和上升。在容量规划方面,多数对毎周的图感兴趣,它显示出周一经受了最高的Web服务器流量。即:X 标记位置,所以让我们开始分析。
首先,对我们正使用的硬件资源缩小范围。我们可以,通过忽略那些在峰值期间仍然运行良好的资源,进一步削减这份清单,看看内存、磁盘I/O和网络资源(本章未涉及), 我们可以发现,在峰值期间,都没有接近它们的极限。通过从潜在的瓶颈名单中删除这些资源,我们已经知道对我们Web服务器容量至关重要的东西了。剩下的是CPU时间,我们可以假设它是关键资源。
在髙峰期,综合用户和系统CPU的使用量,仅略髙于总CPU容量的百分之五十。让我们对比Web服务器做的实际工作趋势,可以看看峰值CPU使用率是否对应用 程序层有任何明显的影响。显示了我们测量的每个时间单元内繁忙的Apache进程的数目。