Jmeter
数据库压力测试
1
、启动
jmeter
,打开界面工具,添加一个线程组,添加驱动
2
、添加一个
JDBC Connection Configuration
,连接池配置文件。右键线程组【添加】
--
【配置元件】
--
【
JDBC Connection Configuration
】
3
、右键线程组【添加】
-
【
Sampler
】
-
【
JDBC Request
】
Variable Name:
连接池名称。
JDBC Request
会通过此名称来获取连接池的配置,名称可以随意填写,但
是最好具体实际的业务意义,方便理解和记忆。
其他的可以默认,可以根据实际情况来调节优化性能。
Database URL
:数据链接
url
,格式:
jdbc:mysql://localhost:3306/host
注释:数据库的
ip
地址
+
端口
/
数据库名(查询数据库端口号
show global variables like 'port'
)
jdbc:mysql://127.0.0.1:3306/mydb2?serverTimezone=UTC& allowMultiQueries=true
JDBC Driver Class
:驱动器名称。固定:
com.mysql.jdbc.Driver
Username:
用户名
Passowrd:
密码
添加一个
JDBC Request
。
Select Statement
:查询语句
只能执行查询语句
select
,执行第一条
sql
语句,而且第一条必须是
select
语句,否则报错
使用csv数据文件设置和昨天执行效果一样
Updata Statement
:更新语句
支持测试非
select
语句,并且支持测试多条,若其中夹杂
select
语句,自动忽略,若第一条语句为
select
语句,报错
Callable Statement
:所有语句
只要语法正确,任何语句,再多的条数都能支持
Prepared Select Statement
:预编译查询语句。(长时间执行效率更高,支持占位符)
Prepared Update Statement
:预编译更新语句。(同上)
Commit
(立即提交)
Rollback
(回滚)
linux连接数据库:
windows本机进行监听:
对
linux
服务器的服务进行压测 :
1
、资源准备
可通过该网址下载
jmeter
所有插件
http://jmeter-plugins.org/downloads/all/
万能的网盘:
本次所需插件:
JMeterPlugins-Extras.jar
JMeterPlugins-Standard.jar
ServerAgent-2.2.1
将
JMeterPlugins-Extras.jar
和
JMeterPlugins-Standard.jar
放到
apache-jmeter-3.0\lib\ext
目录下
将
ServerAgent-2.2.1
放到
linux
服务器
opt
目录下
2
、环境准备
ServerAgent
服务端口号默认为
4444
,需要设置防火墙对此端口不拦截:
开放
Linux
的对外访问的端口
4444
/sbin/iptables -I INPUT -p tcp --dport 4444 -j ACCEPT
/etc/rc.d/init.d/iptables save ---
将修改永久保存到防火墙中
(vi /etc/sysconfig/iptables
,在端口
22
下面添加
iptables -I INPUT -p tcp --dport 4444 -j ACCEPT
//
允许
4444
端口访问
)
然后在服务器中启动监控服务
nmon监控:
1:将nmon进行解压
tar -xvf nmon16m_helpsystems.tar.gz
2:启动nmon服务
./nmon_x86_64_sles11
4:创建目录(nmon_out),将数据保存在日志中
-s20 每20秒采集一次数据
-c3 采集3次
-f 生成的报告文件名中包含文件创建时间
-m 生成的报告文件的存放目录
./nmon_x86_64_sles11 -s20 -c3 -f -m /usr/local/nmon/nmon_out
把生成的测试报告上传桌面
由于我的xsl没有购买只能通过浏览器打开,效果在下图: