论文部分内容阅读
为了高效使用服务器资源,云中心(如阿里云)会部署大量应用,尤其是多层Web应用,如淘宝网等大型电子商务网站。对于多层Web应用,系统的性能会极大的影响用户体验和服务提供商的收益。一项亚马逊的报告显示系统每增加100毫秒的延迟就会损失1%的收益。提升Web系统性能的传统方法是增加服务器数量或者更新硬件设备。但是,这种传统方法不仅会增加成本,而且无法有效提高服务器的资源利用率。而软资源是一系列可以决定系统性能的软件配置,例如Web服务器中的线程,可以通过调节软资源配置来优化系统性能。因此,在有限的硬件资源情况下,如何调节软资源配置来保证系统性能和提高资源利用率是一项巨大挑战。同时,云中心里不同Web应用的工作负载不同,不同的工作负载包含不同类型和比例的请求且在不同时间段内变化较大。因此,如何针对混合负载进行精细化分析,进而准确评估与优化系统性能同样是一项巨大挑战。针对以上两个挑战,本文从软资源配置和混合负载建模两个角度对多层Web应用的性能进行分析与优化。主要内容概括如下:1、研究了软资源配置对多层Web应用性能的影响。对于多层Web应用,从每层服务器中选取一种软资源,通过对单一软资源配置和多种软资源配置两类情况进行实验和性能分析研究,发现各层服务器的软资源之间相互依赖,相互影响,只有合理的调节各层的软资源配置,才能改善系统的整体性能。2、针对软资源配置问题,提出了一种基于排队论和模拟退火算法的方法来优化软资源配置。该方法通过使用M/M/N排队模型和Jackson排队网络对多层Web应用进行理论建模,用于求解性能指标,然后在保证系统性能的前提下,通过采用模拟退火算法来对软资源配置进行优化。3、针对混合负载下的性能评估问题,首先分析了混合负载对多层Web应用性能的影响;然后通过使用离散时间的马尔可夫调制的泊松过程(Discrete-time Markov-modulated Poisson Process,DMMPP)对混合负载进行建模,分析了多层 Web应用中每种请求的访问比例;最后通过使用排队论模型评估系统在混合负载情况下的整体性能。本文搭建了 RUBiS benchmark系统作为研究多层Web应用性能的实验环境。通过使用自动化测试框架,运行大量实验采集了足够的实验测量数据,主要包括服务器的CPU利用率、服务器的数据包传输速率、服务器的日志记录、系统的性能指标如吞吐量和平均响应时间等。通过采用基于排队论和模拟退火算法的软资源配置优化方法,针对不同的工作负载,我们可以通过优化软资源配置来保证系统的性能,如保证系统的平均响应时间在1秒之内。通过采用DMMPP对混合负载建模,所求的请求访问概率与实际结果相比,最大误差在2%之内。在评估系统性能(响应时间)方面,通过采用DMMPP/M/1队列对多层Web应用的服务器进行建模,模型分析结果比直接使用M/M/1队列建模的准确度提升了一倍。