【Apache Jmeter】 该应用程序是开源软件,旨在为负载测试功能行为和测量性能的100%纯Java应用程序。它最初设计用于测试Web应用程序,但后来扩展到其他测试功能。 【Jmeter可以做什么】 Apache JMeter可用于测试静态和动态资源,Web动态应用程序的性能。 它可用于模拟服务器,服务器组,网络或对象上的重负载,以测试其强度,或分析不同负载类型下的整体性能。 Apache JMeter的功能包括: 1. 能够加载和性能测试许多不同的应用程序/服务器/协议类型: Web - HTTP, HTTPS(Java,NodeJS,PHP,ASP.NET …) SOAP / REST Web服务 FTP 数据库通过JDBC LDAP 面向消息的中间件(MOM)通过JMS 邮件 - SMTP(S),POP3(S)和IMAP(S) 本地命令或shell脚本 TCP Java对象 2. 全功能的测试IDE,允许快速的测试计划记录(从浏览器或本地应用程序),建设和调试。 3. 从任何Java兼容的操作系统(Linux,Windows,Mac OSX,…)加载测试的命令行模式(非GUI /无头模式) 4. 一个完整的,准备呈现动态的HTML报告 5. 通过从大多数流行的响应格式,HTML,JSON, XML或任何文本格式提取数据的能力,轻松相关 6. 完整的可移植性和100%的Java纯度。 7. 完整的多线程框架允许通过多个线程同时进行采样,并通过单独的线程组同时采样不同的功能。 8. 缓存和离线分析/重播测试结果。 9. 高度可扩展的核心: 可插拔的采样器允许无限的测试能力。 可编写脚本的取样器(与Groovy和BeanShell 等JSR223兼容的语言) 可以使用可插拔定时器来选择多个负载统计信息。 数据分析和可视化插件允许很好的扩展性和个性化。 函数可以用来为测试提供动态输入或提供数据操作。 通过Maven,Graddle和Jenkins的第三方开源库轻松持续集成 【如何使用Jmeter】 一. 测试脚本录制(通过Jmeter自身设置进行录制) 1. 创建线程组(右击测试计划→添加→Threads(Users)→线程组) 2. 创建录制控制器(右键线程组→添加→逻辑控制器→录制控制器) 3. 创建HTTP代理服务器(右键工作台→添加→非测试元件→HTTP代理服务器) 4. 设置HTTP代理服务器的参数 5. 设置进行测试的浏览器 6. 启动录制 7. 在浏览器输入要测试的接口地址 8. 录制结果 二. 进行压测 1. 为线程组添加监听器(一般会选择查看结果树和聚合报告) 2. 配置线程组参数 3. 结果分析 上述图片结果大致意思是:5000个线程并发的情况下,99%的线程对这个请求的响应时间在72966毫秒内,但平均error为81.18%.