一、jmeter压测
1、如何压测
常规性能压测:10-15分钟
稳定性测试:一周、2天等
如果想要压测10分钟,勾选永远,勾选调度器,填写600秒。也可以使用固定启动时间。
2、tps、响应时间
(1)含义
tps:每秒钟处理的请求数,也就是指服务器的处理能力,tps越高说明服务器处理能力越好
响应时间:也就是每个请求的处理时间
(2)在jmeter中查看压测报告
jmeter-监听器-聚合报告,主要看以下几项
samples:总共发出多少请求
average:平均相应时间,单位毫秒
Error%:错误率
throughput:吞吐量(其实代表了tps)
二、jmeter操作数据库
1、下载jar包
使用mysql举例。其他的sqlserver等可以自行网络下载。导入jdbc的jar包,因为jmeter本身不能直接连接mysql,所以需要导入第三方的jar包,来连接mysql。
这里提供一个mysql的jar包
链接:https://pan.baidu.com/s/1dcp4IdbNa-bG9UXTmXp4Qw 密码:ba90
2、测试计划中添加jar包
3、添加JDBC Connection Configuration
4、配置数据库连接信息
(1)mysql的url:
jdbc:mysql://192.168.0.112:3306/bugfree?allowMultiQueries=true&characterEncoding=utf8
解释:在后面加上了allowMultiQueries=true&characterEncoding=utf8意思是可以执行多条sql、防止中文乱码
(2)数据库驱动:
com.mysql.jdbc.Driver
这里就是指定连接什么类型的数据库,mysql、oracle、SqlServer等等。
Jmeter数据库驱动列表:
数据库
|
驱动
|
数据库url
|
mysql
|
com.mysql.jdbc.Driver
|
jdbc:mysql://host:port/{dbname}?allowMultiQueries=true
|
oracle
|
org.postgresql.Driver
|
jdbc:postgresql:{dbname}
|
PostgreSQL
|
oracle.jdbc.driver.OracleDriver
|
jdbc:oracle:thin:user/pass@//host:port/service
|
MSSQL
|
com.microsoft.sqlserver.jdbc.SQLServerDriver
或者
net.sourceforge.jtds.jdbc.Driver
|
jdbc:sqlserver://IP:1433;databaseName=DBname
或者
jdbc:jtds:sqlserver://localhost:1433/"+"library"
|
(3)取名、账号、密码
5、添加JDBC Request
6、执行sql
三、jmeter分布式压测
1、有多台电脑,每台电脑上都有jmeter,而且这几台电脑都互相ping通。
2、在控制机的jmeter的配置文件里面添加了其他电脑的ip
在控制机jmeter的bin目录下找到jmeter.properties配置文件,找到下面这行,加上压力机ip,去掉前面的#号。
#remote_hosts=localhost:1099,localhost:2010,192.168.2.30:3306
3、windows机子作为压力机的话,运行jmeter-sever.bat,linux作为压力机的话,运行jmeter-server
4、在控制机上做好脚本就行
5、如果有参数化文件,也控制机和压力机上同样位置各放一份。
6、jmeter-运行-远程启动(单台运行)
-远程全部启动(所有机器都运行)
或者点击【绿色双箭头】图标
四、在linux下运行jmeter
(或者说不以图形化界面运行,其他的比如cmd窗口)
1、先把jmeter的bin目录加入到环境变量里面(可以在任何地方直接使用jmeter这个命令)
2、先win下用jmeter写好脚本
3、linux下,导入脚本,cd 脚本的地址
4、执行命令
jmeter -n -t test.jar -l res.jtl
-n 代表没有图形化界面去启动
-t 代表后面是测试脚本
test.jar 是我们的测试脚本
-l 代表测试结果
res.jtl 测试结果文件
5、导出res.jtl文件
6、查看结果报告:如何在win下的jmeter中添加聚合报告--浏览--打开res.jtl