Apache JMeter
Apache JMeter是一个开源软件,它是一个100%纯Java应用程序,专门用于进行功能行为的负载测试和性能测量。最初,它的设计目的是为了测试Web应用程序,但随后也扩展到其他测试功能。通过使用JMeter,开发人员可以模拟多种负载情况,并测量系统在压力下的性能表现。该工具可以模拟多种协议和技术,如HTTP、HTTPS、SOAP、REST、FTP、数据库和消息队列等,以评估系统的承载能力和稳定性。
功能[ ]
1、能够对各种应用程序/服务器/协议类型进行负载和性能测试,如Web(HTTP,HTTPS),SOAP/REST Web服务,FTP系统,通过JDBC的数据库,LDAP,通过JMS的消息中间件,邮件(SMTP,POP3,IMAP),本机命令或shell脚本,技术合作计划(TCP),以及Java对象等。
2、提供功能齐全的测试IDE,允许快速记录测试计划,从浏览器或本机应用程序进行构建和调试。
3、支持CLI模式(以前称为非GUI或无头模式),可以从任何兼容Java的操作系统(如Linux、Windows、Mac OSX等)进行负载测试。
4、提供完整的、动态HTML报告,随时可以呈现并查看测试结果。
5、能够从各种流行的响应格式(如HTML、JSON、XML或任何文本格式)中提取数据,并轻松进行关联。
6、具有完全的可移植性和100%的Java纯度,可在不同环境中进行部署和运行。
7、提供多线程框架,可以同时对不同功能进行并发采样,并通过单独的线程组进行管理。
8、支持缓存和离线分析/重放测试结果,方便进行结果分析和性能优化。
9、高度可扩展的核心,可以通过可插拔的采样器无限扩展测试功能。
10、可编写脚本的采样器,支持使用JSR223兼容的语言(如Groovy和BeanShell)进行自定义脚本编写。
11、可插拔计时器,可以选择多个负载统计信息。
12、数据分析和可视化插件具有出色的可扩展性和个性化定制能力。
13、支持函数,可以提供动态输入或进行数据操作,增加测试的灵活性。
14、轻松支持持续集成,通过适用于Maven、Gradle和Jenkins等第三方开源库实现自动化集成和测试。
性能测试指标[ ]
- Label:这是定义的HTTP请求名称,用于标识在测试计划中每个请求的唯一标识符。
- Samples:表示在整个测试期间发送的请求数量,即发出的HTTP请求的总数。
- Average:平均响应时间是所有请求的响应时间的平均值,表示访问页面的平均速度。
- Min:最小响应时间表示在整个测试期间访问页面的最低响应时间。
- Max:最大响应时间表示在整个测试期间访问页面的最长响应时间。
- Error%:错误的请求百分比,即在所有请求中发生错误的请求的数量与总请求数的比例。
- Throughput:表示每秒完成的请求数,即每秒发出的HTTP请求的数量。
- KB/Sec:表示每秒从服务器端接收到的数据量,即服务器每秒传输给客户端的数据量。