Jmeter 是比较轻便的性能测试工具,下面根据一个实例演示下jmeter的常见用法
一、前期准备,在使用之前,先分析测试需求,比如:需不要登录?需不需要监视服务器性能?多线程还是多循环?需不需根据流量回放设计不同接口的请求数?有了目标后,可根据需求设计对应的测试方案。
1、 为了简单展示jmeter的使用,本实例设计如下:需求登录,登录一次即可
2、 需同时监控服务器性能
3、 需查看接口的性能,比如响应时间,吞吐量等
4、 线程数设置为1,循环数为10
二、实例演示
1、启动jmeter,添加-Threads-线程组,线程数设为1,循环数设为10,因为所测接口都是同一个域名,可添加HTTP请求默认值
2、登录
因为所测接口需要登录后才可以访问,所以需要先登录,而登录接口并不是我们要压测的目标接口,所以只需要一次就好
2.1 添加HTTP Cookie管理器
2.2 添加-逻辑控制器-仅一次控制器
2.3 在仅一次控制器中添加HTTP请求
3、添加所测接口,添加HTTP请求,与仅一次控制器平级
4、添加监听器
4.1 查看结果树,可方便的查看每次请求的情况
4.2 聚合报告,可查看本次结果的响应时间,吞吐量等性能
4.3 监视器结果,可查看服务器性能(jvm)
5、监视器结果的使用
5.1 tomcat配置
进到服务器tomcat所在目录,打开conf/tomcat-users.xml 文件,查看tomcat-users中是否有在用的账号,如果没有,添加如下几行
<tomcat-users> <!-- NOTE: By default, no user is included in the "manager-gui" role required to operate the "/manager/html" web application. If you wish to use this app, you must define such a user - the username and password are arbitrary. --> <!-- NOTE: The sample user and role entries below are wrapped in a comment and thus are ignored when reading this file. Do not forget to remove <!.. ..> that surrounds them. --> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/> </tomcat-users>
5.2 jmeter配置
添加HTTP授权管理器,用户名和密码为tomcat中配置的账号
添加一个新的HTTP请求,作为监视器,内容如下:
Advanced中勾选“用作监视器”
三、至此,配置完成,启动,即可看到结果