广义的讲,可以把性能测试过程中使用到的所有工具都称为性能测试工具,性能测试工具分为两大类,服务端性能测试工具和前端性能测试工具;服务端性能测试工具需要支持产生压力和负载,录制和生成测试脚本,设置和部署场景,产生并发用户和向系统施加持续的压力;而前端性能测试工具则不需要关系系统的压力和负载,只需要关心浏览器等客户端工具(目前的前端性能测试工具主要是Web前端性能测试工具)。
服务端性能测试工具架构
1.虚拟用户脚本产生器
虚拟用户脚本生成器通过Proxy方式实现,具体来说,就是由一个Proxy作为客户端和服务器之间的中间人,接收从客户端发送的数据包,记录并将其转发给服务端,接收从服务端返回的数据流,记录并返回给客户端。这样,无论是客户端还是服务端都以为自己在一个真实的运行环境中。
2.压力产生器
压力产生器用于根据脚本内容产生实际的负载。在性能测试工具中,压力产生器扮演者“产生负载”的角色。例如,如果一个测试场景要求产生100个虚拟用户,则压力产生器会在调度下生成100个进程或线程,每个线程对指定的脚本进行解释执行
3.用户代理
用户代理是运行在负载机上的进程,该进程与产生负载压力的进程或线程协作,接收调度系统的命令,调度产生负载压力的进程或线程,从这个意义上看,用户代理业可以被看作是压力产生器的组成部分
4.压力调度和监控系统
压力调度和监控系统是性能测试工具中直接与用户交互的主要内容。压力调度工具可以根据用户的场景要求,设置各不同脚本的VU数量、设置同步点等,而监控系统则可以对各种数据库、应用服务器、服务器的主要性能计数器进行监控
5.压力结果分析工具
压力结果分析工具可以用来辅助进行测试结果的分析。
参考资料《软件性能测试过程详解与案例剖析》