第一篇:什么是 JMeter和为什么选择Jmeter做性能测试
什么是 JMeter
Apache JMeter 是 Apache 组织开发的基于 Java 的压力测试工具。用于对软件做压力测试,它最初被设计用于 Web 应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter 能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter 允许使用正则表达式创建断言。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl 脚本,java 对象,数据库和查询,FTP 服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
为什么选择 JMeter
下面看看 JMeter 的特色。
1. 开源许可: Jmeter 是完全免费的,并提供了源码可供自定义开发
2. 图形界面模式:提供了方便的图形界面来编辑和开发测试脚本
3. 平台无关:可以轻易在 windows、linux、mac 上运行
4. 多线程框架:通过线程组,能够轻易的设置不同测试的并发用户。
5. 图形测试结果:提供了图表、表格、树、文件等格式的结果显示。
6. 易于安装:jmeter 不需要安装,下载解压即可用。
7. 高扩展性:jmeter 支持用户自定义测试脚本,同样还提供了各种插件。
8. 多测试类型支持:支持性能测试、分布式测试、功能测试
9. 仿真模拟:支持多用户并发测试
10. 多协议支持:支持 http、jdbc、ldap、soap、jms、ftp 等等协议
11. 录制&回放:支持用 badboy 或 jmeter 录制,不过笔者从来不用该模式,纯手工最佳。
12. 脚本测试:jmeter 支持 beanshell 和 selenium
JMeter 完整的工作原理如图