论文部分内容阅读
随着Web的发展和Web复杂性的提高,越来越多的用户开始遇到诸如Web页面加载缓慢的Web性能问题。Web性能的好坏直接影响着业务的成败,对于提供商企业和用户都十分重要,因而有必要对Web服务性能进行实时准确地测量。Web性能测量分为客户端、服务器端与网络中间点测量,相比之下,网络中间点测量在准确性、全面性、扩展性以及开销成本等方面能达到更好的平衡。然而在网络中间点测量Web性能通常会遇到页面容器对象HTTP请求的识别和内嵌对象HTTP请求的关联这两个挑战点,现有的解决方法还存在各种不足,需要我们提出更好的方法。 本文首先对网络中间点Web性能测量方法进行了深入研究,重点研究了以上两个挑战点并提出了改进的解决方法。在测量方法研究成果的基础上,本文设计实现了完整的基于网络中间点的Web性能测量系统,具有较好的应用价值。本文的主要工作和贡献如下: (1)对于页面容器对象请求的识别问题,本文提出了一种结合超时机制与文件类型的改进识别方法,并且引入了请求的URL与Referer字段来协助进行识别。实验结果表明,该方法的识别正确率为97%、召回率为95%、F值为96%,比起已有方法均有不同程度的提高。 (2)对于页面内嵌对象请求的关联问题,本文改进了传统的基于请求的Referer字段关联的方法。针对Referer字段不存在的特殊情况,本文提出了一种启发式的关联方法。针对NAT机制存在时可能遇到的关联歧义问题,本文提出了使用请求的User-Agent字段对不同用户进行区分。对于以上提出的方法,本文通过实验证明它们是有效的。 (3)基于提出和采用的测量方法,本文设计并实现了完整的Web性能测量系统。系统由数据包捕获与分析模块、DNS测量模块、流表管理模块、HTTP预处理模块以及性能测量模块这五个模块构成。系统采用了基于HTTP-pair的测量方式,不仅能够测量页面加载时间来反映整体Web性能,也能够测量获取页面每一个对象的性能状况,生成的性能指标和信息较为全面。该系统的测量结果准确,实验证明系统对页面加载时间的测量误差不到4%。测量实时性强,每次页面加载完成后数秒内便可及时反馈性能信息。此外,该系统只需对数据包头部进行解析后便可将数据包丢弃,测量效率较高。无需对浏览器、服务器和Web页面进行任何配置,具有较好的扩展性。