论文部分内容阅读
随着Internet的飞速发展,越来越多的信息和服务通过Web发布,使得Web上的业务服务应用日趋复杂、访问量骤增。由于Web用户请求具有高并发、强突发的特点,对Web服务器的处理性能、可靠性和安全性等提出了很高的要求。多阶段事件驱动架构(SEDA)是一种支持大规模并发操作,具有高吞吐和良好峰值应对能力的服务器软件架构,能够有效提高单机处理能力,成为当前Web服务器性能调优领域的研究热点。本文回顾了服务器性能调优技术的发展历程和各个阶段的应用成果,阐述了SEDA对提高Web服务器性能的重要意义,同时也指出了SEDA在应用中存在的主要问题:一方面,SEDA采用了对阶段进行阻塞的多种操作,但其中关于异步API的设计对同步Java I/O库的支持不够完善,容易阻塞整个阶段并造成系统性能瓶颈;另一方面,SEDA性能调节机制缺乏有力的系统全局控制角色,导致阶段内各种控制策略之间难以实现有效的相互协调。本文针对SEDA在性能控制机制方面的不足进行了改进,设计了一套自适应调优机制,主要完成了以下工作:1)研究了SEDA的设计原理、系统结构,深入分析了SEDA的资源控制机制,通过与其它服务器软件架构的比较,指出了SEDA在优化服务器性能方面的优势和不足。2)提出了一种服务器自适应调优机制。以负载均衡和反馈控制为核心,在阶段性能调节层面中综合运用启发式寻优算法及网络环境下请求分级、主动队列管理等算法实现阶段控制策略,包括:调节工作线程运载事件数量的批处理控制,避免阶段间拥塞的服务降级处理,自反馈调节性能参数和阶段线程资源等。在系统控制层面中采用区分等级的准入控制防止系统超载,通过集群负载均衡思想管理和协调阶段请求的线程资源和吞吐性能。最后通过反馈控制将两个层面有机结合了起来。3)将自适应调优机制应用于SEDA的服务器软件架构,通过改进系统控制模块和阶段工厂模块的资源调配算法,弥补了原架构中薄弱的系统调控和阶段协调性能。4)基于自适应调优机制的SEDA服务器架构,实现了一个Web服务器原型系统OptiStage Server。与当前主流Web服务器相比,性能测试结果表明OptiStageServer在高并发、高负载的环境下具有更好的自适应调节和吞吐性能。