JMeter:事务等
Posted 花醉红尘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JMeter:事务等相关的知识,希望对你有一定的参考价值。
1、断言结果
如果用了检查点,并且需要知道请求结果正确率的时候,使用断言结果,查询结果树很耗性能,在正式压测的时候,会禁用。
2、思考时间
3、集合点
4、事务
5、查看聚合报告
执行请求:
单个请求相当于lr中的事务,lr中的事务是计时时间,在图中,单个请求里边有请求计时
事务控制器:可以对多个请求计时
字段说明:
Average → 平均响应时间 事务控制器的平均响应时间=request1+request2 总体时间=(request1+request2+事务控制器)/3
#Samples → 取样次数
Median → 50%的响应时间小于 对应的90%Line,95%Line,99Line
Min/Max → 最小/最大
Error% → 错误率,请求没有得到正确的http响应
Throughput → tps
Received → 吞吐量
6、JMeter分布式负载
1)在JMeter安装目录下的bin目录下,查找jmeter.properties文件;
2)在jmeter.properties文件中,搜索host:
# Remote Hosts - comma delimited
remote_hosts=127.0.0.1
#remote_hosts=localhost:1099,localhost:2010
如若要进行分布式负载:
# Remote Hosts - comma delimited
#remote_hosts=127.0.0.1
remote_hosts=localhost:1099,localhost:2010,192.168.11.17:1099
说明:多台负载机的添加,使用逗号分隔,端口号为1099
3)保存修改好的jmeter.properties文件,再次打开JMeter:
4)在配置作为负载机的机子上,解压JMeter安装文件;
5)其它负载机及本机,配置好服务器的环境变量,保证可以在任何路径下打开jmeter-server.bat,classpath参照JMeter的第一篇博文;
5)其它负载机上,在JMeter安装目录的bin文件夹下打开 jmeter-server.bat。
7、JDBC请求
JDBC Connection Configuration中的Variable Name 和 JDBC Request中的Variable Name要一模一样
①数据库连接池
数据库本身的对外的连接池(在数据库配置文件中进行配置)
代码中进行连接池的配置
可以这么理解在不超过数据库设置连接池的情况下,在代码中,设置的数据库连接池越大,在进行压测时测试数据库的性能会更加准确些
在此处JMeter中的配置,默认是应用程序对连接池的连接数
[root@besttest ~]# cd /opt/lampp/
[root@besttest lampp]# ls
apache2 docs img libexec manual phpmyadmin share xampp
bin error include licenses modules proftpd temp
build etc info logs mysql properties.ini uninstall
cgi-bin htdocs lampp man pear RELEASENOTES uninstall.dat
ctlscript.sh icons lib manager-linux.run php sbin var
[root@besttest lampp]# cd mysql
[root@besttest mysql]# ls
README.txt scripts
[root@besttest mysql]# cd ..
[root@besttest lampp]# find / -name my.cnf
/opt/lampp/etc/my.cnf
/etc/my.cnf
[root@besttest lampp]# vi /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
maxconnection=1000 → 在数据库配置文件中对数据库连接池数进行配置
②请求最长等待时间
③多长时间清理没用的连接池
④是否开启自动提交,mysql默认自动提交是打开的,oracle默认自动提交是关闭的
⑤事务隔离级别
⑥有空闲连接的时候是否进行连接数据库的测试
⑦最小空闲时间,多长时间测试一次
⑧对数据库进行测试的sql
⑨⑩是固定格式的,不同数据库的写法不同:
mysql:
Database url: jdbc:mysql://192.168.58.128:3306/test?allowMultiQueries=true (allowMutiQueries=true → 允许一个请求里边同时提交多条sql)
JDBC Driver class: com.mysql.jdbc.Driver
添加查询结果树:
此处报了:Response message: java.sql.SQLException: Cannot load JDBC driver class \'com.mysql.jdbc.Driver\' → 没有加连接mysql数据库的jar包
下载连接mysql数据库的jar包:mysql-connector-java-5.1.18-bin.jar
将下载好的jar包放到JMeter安装文件的:D:\\apache-jmeter-3.2\\lib\\ext 目录下,重启JMeter,再次运行:
在jdbc request中新增一条sql:
再次发送请求:
可以看到id为7的记录已经被删除,查看数据库对应表中的记录,id为7的记录也被删除了。
8、soap请求
9、http请求
1)新建线程组
2)新建httpcookie管理器
3)新建http请求,在http请求中,进行如下设置:
主要关注web服务器、http请求和参数的设置,http请求可以通过抓包实现
4)添加参看结果树,发送请求:
由上边两图可以看到http请求已发生跳转,且相应数据也跳转到了下一个页面。
5)说明:使用chrome浏览器抓包
对比可以知道,在url中,%5B对应的是"[",%5D对应的是"]",如果使用的抓包工具没有对url进行解码,可以百度搜索Url解码,对需要的url进行解码。
---------------------------------------------------------
以上是关于JMeter:事务等的主要内容,如果未能解决你的问题,请参考以下文章