论文部分内容阅读
软件性能测试在软件开发过程中具有十分重要的地位,在软件性能测试中,一般借助性能测试工具对软件进行性能测试,进而可以发现系统性能瓶颈。一款优秀的稳定易用的性能测试工具可以帮助企业提高测试效率,缩减测试成本。随着微服务及分布式的技术的盛行,软件的技术栈变得越来越复杂,这对性能测试系统提出更高的要求。性能测试系统需要支持多协议及多种场景的测试,并且提供测试管理及预测性能瓶颈的支持以减少测试人员的负担。目前已经有一些商业的性能测试工具在企业中广泛使用,如LoadaRunner、Apache Jmeter、Apache Bench等,但这些性能测试工具都存在某些不足:LoadRunner价格昂贵,学习成本较高;Apache Jmeter不提供对脚本的管理功能,管理不方便;Apache Bench只支持对web服务器的性能测试。本文针对目前市面上已有的性能测试工具存在的问题,设计开发了一款基于Netty框架的性能测试系统。本论文中设计实现的系统以Netty高并发框架为基础,利用Netty的异步、事件监听等优点提供了异步请求的压力产生机制,并通过配置多种压力模型及并发模式满足了不同的测试场景。利用Netty提供的编解码机制,本系统可以支持对不同协议服务器进行测试。此外,本系统提供了对测试脚本、测试任务等管理功能,并采用基于遗传算法改进的BP神经网络算法预测系统可能的性能瓶颈。本论文先介绍了性能测试系统涉及的背景知识,重点介绍了Netty框架的相关技术,然后介绍了性能测试系统的功能性及非功能需求,在概要设计中介绍了系统的系统环境及静态和动态结构设计,并讨论了本系统的关键问题及解决方案;然后重点介绍了关于预测系统性能瓶颈的算法研究。在详细设计及实现中具体介绍了各模块的详细设计及实现方案。最后对本性能测试系统进行的测试,并提出本系统的不足及改进方案。