论文部分内容阅读
近年来,跟随全球信息化建设的浪潮,Web应用系统(基于浏览器和后端服务器)已经逐渐替换原有的传统信息系统(基于客户端和后端服务器)成为当令信息系统架构和构建中最流行的方式。Web应用系统不但具有易于开发、使用和维护的特点,而且易于和其他系统及接口协同工作,是一种同时向下和向上兼容过去及将来的运行模式。随着Web2.0出现和移动互联网的发展,越来越多的信患系统选择通过Web的方式来进行部署。 然而随着Web应用系统的流行,越来越多的系统可靠性以及性能问题也随之出现,如何保障这些Web应用系统的稳定运行以及如何进一步提升这些系统的性能成为产业界、学术界的一个热门研究领域。尽管软件性能二程(SoftwarePerformanceEngineering)能够在一定程度上解决部分Web应用的性能问题,然而对于遗留Web应用系统,尚无系统性、条理性的性能提升解决方案。本文从如何为Web应用系统构建真实的负载测试开始,提出了一系列可以明显改善Web应用系统性能的优化技术,并对其中的一些关键性技术进行了研究。 为Web应用系统构建真实的负载测试,不仅是Web应用系统性能优化的前提,同时也可以为决策者提供一些性能等关键信息的决策支持。本文提出的用户行为模型RUM,以及相关的负载特性分析方法SLM能够很好的模拟用户行为,并从遗留Web应用系统的日志中分析并提取负载特性信息。同时基于该模型及分析方法研发了自动化负载测试工具LTAF,不仅提升负载测试的准确性,同时提升了负载测试的测试效率。 此外,缓存技术作为一项可以明显改善Web应用系统性能的关键性技术,我们对其中应用最为广泛的Memcached进行了深入研究,并从多个方面对Memcached协议进行了改良。改进后的Memcached扩展协议不仅能够很好的支持大容量数据对象存取,而且对于一些OOP数据对象也能够很好的操纵,从而拓宽了Memcached在产业界的应用领域。 复制技术以及负载均衡技术作为另外两项Web应用系统性能优化的关键技术,我们提出了基于复制度定制的负载均衡优化方法,该方法给基于复制的分布式Web应用系统带来了明显的性能改进,同时也提升了系统资源利用率。 在完成科研工作的同时,我们还维护着几个开源项目,为我们的科研以及实践提供支持,同时也为产业界做出了应有的贡献。此外,根据平时生产实践及研究工作中的累积经验,我们也总结概括了其他一些能够为Web应用系统带来性能改进的重要技术。