前言
在你的日常工作中, 你有没有测试过一个服务能支撑多少用户在线,用户并发?
有没有那么一天,突然跟你说,晚上系统上线你做下性能测试。
什么是JMeter
[本节内容来源百度百科_] Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试,它最初被设计用于Web应用测试,但后来扩展到其他测试领域。 它可以用于测试静态和动态资源,例如静态文件、Java 小服务程序、CGI 脚本、Java 对象、数据库、FTP 服务器, 等等。JMeter 可以用于对服务器、网络或对象模拟巨大的负载,来自不同压力类别下测试它们的强度和分析整体性能。另外,JMeter能够对应用程序做功能/回归测试,通过创建带有断言的脚本来验证你的程序返回了你期望的结果。为了最大限度的灵活性,JMeter允许使用正则表达式创建断言。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器、网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
为什么是JMeter
为什么选择JMeter,下面看看JMeter的特色。
- 开源许可: Jmeter是完全免费的,并提供了源码可供自定义开发
- 图形界面模式:提供了方便的图形界面来编辑和开发测试脚本
- 平台无关:可以轻易在windows、linux、mac上运行
- 多线程框架:通过线程组,能够轻易的设置不同测试的并发用户。
- 图形测试结果:提供了图表、表格、树、文件等格式的结果显示。
- 易于安装:jmeter不需要安装,下载解压即可用。
- 高扩展性:jmeter支持用户自定义测试脚本,同样还提供了各种插件。
- 多测试类型支持:支持性能测试、分布式测试、功能测试
- 仿真模拟:支持多用户并发测试
- 多协议支持:支持http、jdbc、ldap、soap、jms、ftp等等协议
- 录制&回放:支持用badboy或jmeter录制,不过笔者从来不用该模式,纯手工最佳。
- 脚本测试:jmeter支持beanshell和selenium
JMeter工作原理
JMeter基本工作原理如图:
JMeter完整的工作原理如图:
总结
本次对jmeter进行了简单的基本介绍,主要让大家对jmeter有个基本的了解。最近很多朋友都发消息说分享下基于jmeter做性能测试的一些经验。为了让大家能从零到有的掌握性能测试,决定从基础开始一点点的分享基于jmeter性能的一些经验,初步预计大概要分享篇。