论文部分内容阅读
Web系统已成为当前主流的互联网应用模式,其性能能否满足服务质量约束(ServiceLevelAgreement,SLA)的需求至关重要,否则将导致客户流失,收益受损等严重后果。基于性能模型的保障方法可预先分析系统在不同负载和不同配置下的性能,通过事先规划的资源供给,避免可能的性能恶化与系统频繁调整,同时该方法还可以针对Web系统的运行特征进行长期的资源规划。
但是已有的建模方法需要大量人工参与,建模代价高昂。随着Web系统部署模式变得日益开放和动态,平台管理者仅能获得应用的执行码,人工参与的难度也大大增加。此外,软硬件更新升级等因素也使得模型的维护非常困难。为了降低建模过程的人工参与度,本文关注动态构造Web系统性能模型的方法与技术,利用运行时监测数据,从应用、平台和物理资源层自顶向下层次化地构造性能模型,主要研究内容包括:
首先,提出了一种基于轨迹合成的应用层模型构造方法。应用层模型主要关注用户与应用的交互过程,如何通过分析应用运行状态获取交互过程的结构特征是建模的重点所在。本文通过分析运行轨迹,将应用的执行序列构造成带权重的执行图,并通过负载模型转换算法对用户行为进行去时序状态的等价转换,解决了黑盒构造应用层模型的问题。
其次,提出了一种基于AOM的平台层动态性能建模方法。相比于应用层,平台的性能影响更为复杂,但是模式却相对固定。该方法将平台刻画为多个可复用的性能模板,建模时再依据运行状态对模板进行实例化,使其可体现运行时的资源状态,然后通过AOM技术将其与应用层模型自动编织,构成完整的性能模型,实现平台性能特征的自动引入。
最后,提出了一种基于滤波的服务时间估算方法。由于Web应用的服务时间短、访问密度高,现有的直接监测方法难以准确度量,基于回归分析的间接估算方法的精度也并不理想。而Kalman滤波提供了一种近似最优的利用可度量值估算不可度量值的方法,本文将其引入服务时间的估算,并系统地给出了迭代过程中滤波所需参数的设置方法。实验表明该方法可有效提高估算精度。
综合上述研究成果,本文实现了一个动态性能建模原型系统,并应用于Web应用服务器系统OnceAS。基准测试TPC-W测试结果表明,模型预测平均误差在10%以内,可有效地指导Web系统的性能剖析和容量规划。最后,本文给出了一个应用案例,说明本方法在多承租应用中剖析租户资源占用和搜索最佳配置方面的作用。