步骤 2. 评测当前站点的性能
您在规划未来时必须了解现在。您需要以下站点指数:容量(点击数、网页流量、交易、搜索)、抵达率、分类响应时间、用户会话时间、并行用户数量以及处理器和磁盘的利用率。如果您正在规划新站点,则可利用您编写站点概要的相关经验进行评估,或者基于资深顾问(如我们的 HVWS 小组)的站点概要进行评估。
我们对多种工作负荷模式下电子商务基础结构性能的分析说明了以下这一点:工作负荷模式的复杂性(例如突增抵达模式)可极大地影响资源需求、吞吐量和用户请 求的延迟时间,具体表现在更高的平均响应时间和更大的响应时间差异。如果没有非常好的的适应性资源管理和控制,基于响应时间的服务级协议 (SLA) 就无法实现。站点的容量要求不断提高,而其提供可接受的性能和可用性的能力却在降低。
在分析您的当前站点时,要记住将网页的设计考虑在内。IBM 的研究表明您可以遵照许多惯例来减少您的网页的下载时间。网页都具有相同的组件和指数,如页面大小和项目数,因此,您可以而且应该着眼于将其下载时间降至 最低程度。做“正确”的事并不是总能成功,而且有些组件或指数是网页设计员无法控制的。另外,对站点性能感兴趣的人员都应该了解这些因素以及其相关的负面 影响。表 1 汇总了 15 个不同网站的页面设计。设计各不相同,但都强有力地表明网页设计是一个重要的性能成分;如果管理得当,则它们可以提高网站的容量。在这个彩色的表中,良好 或优秀的设计标为绿色;稍差的设计标为琥珀色,而很差的设计标为红色。有关优化您的网页以便加快下载的详细信息,请参阅我们小组的前一篇论文," Design pages for performance"。
表 1. 网页设计范例。绿色表示良好;红色表示很差;琥珀色表示勉强。
网页 网页装载时间(秒) 网页大小
了解工作负荷评量方法
合理确定您的工作负荷模式,为评测和了解站点复杂性做好准备。每一种工作负荷模式都有一类相关的用户需求。图 2 显示了与在线购物工作负荷模式相关的用户需求类别范例。
每个类别是按照请求抵达网站的方式以及满足请求所需的资源来划分的。影响抵达的主要因素包括标准(临界)分布、相关性结构和季节性。总之,IBM 的分析表明,复杂行为包括短尾和长尾分布、短距离和长距离的相关性、强季节性和周期性以及地理效应。在这些条件下,站点请求的独立指数输入时间间隔这一典型假定不成立,所以必须采用非传统假定来解决问题,这需要复杂的数学算法。IBM 对这些指数的数学研究使人们能够开发更好的模型,以便了解并预测这些关系和行为的影响。
图 2. 每种工作负荷模式都有相关的一类用户请求
分布和相关性
Web 流量显示了突增、长尾和相关的抵达模式。流量突增指请求的随机到达,其高峰期的流量远远超过平均水平。这种突增现象由不可预测的事件(如股市动荡)或特殊 事件(如圣诞节和情人节)引起。这些事件会产生请求间的相关性(例如,更大的突增易于在邻近的地方发生)、长尾分布(例如,流量增长的波动幅度极大)以及 相关性和长尾分布的结合。随机变量的长尾分布是指分布曲线的尾端呈指数下降。对于这些分布,会产生极大一个值。成批抵达过程显示了这种长尾行为,并且成批 请求的大小趋向于密切相关。在容量规划中,获得流量突增、长尾和相关抵达的实际结果并非易事。
突增和变化极大的点击率是影响站点性能和可用性的最显而易见的工作负荷模式复杂性之一。在传统模型中,各个请求相互独立,流量突增幅度的变化相对较小。这些分布属于短尾分布类。HVWS 的流量突增引起了长尾分布和强相关性结构。1998 年长野奥运会的流量模式恰好说明了这一点,如图 3 所示。这种请求突增是由某些特殊事件引发的,例如,在这次奥运会上,日本获得了跳高滑雪项目的金牌。请比较亚洲的长尾分布和当日欧洲的短尾分布之间的差异。另外,请注意每天、一天中以及不同地点间的独立性结构。
图3. 1998 年长野奥运会流量模式
IBM 的 Wimbledon 2000 网站也在最忙碌的一天,2000 年 7 月 7 日,显示出极度突增现象。
图 4 绘制了那天的破记录站点流量,当时的每分种峰值点击次数达到 963,948 次,且每天峰值点击次数总计达到 281,605,872 次。
图 4. 破记录那天 IBM 的 Wimbledon 网站
非传统请求流量对 Web 服务器造成压力。长尾分布的流量突增所产生的性能下降要比短尾分布所产生的性能下降大几个数量级。与短尾模型相比,长尾分布发生极端流量突增的情况更频 繁。另外,相关性结构可导致在邻近的地方发生流量突增现象。对于这种输入流量特性,性能评测结果,尤其是响应时间,与输入流量具有相似的指数。这有助于解 释为什么一些体育和电子商务网站比相对简单的网站(例如只提供静态内容的大学网站)更难维护。
就 SLA 而论,长尾分布的同级服务比独立的短尾请求流量要求具备更为强大的一组服务器。为了确保获得优良的性能,您必须注重流量的高峰期,因为请求的巨增是导致性能降低的首要元凶。这有些繁忙站点需要更多的峰值储备空间(空闲容量)来处理这些容量,例如大容量在线贸易站点用 3:1 的比例来保留空闲容量。