Jmeter直连postgresql数据库进行压测
关于Jmeter直连数据库进行压测,网上有好多教程了,pg数据库的相对少一些,今天自己测试了下,还是挺简单的,有个别需要注意的地方。相较于Loadrunner这么全面庞大的压测工具,Jmeter在数据库协议的支持上还是要灵活好多的,也比LR易用。
下载通过jdbc连接postgresql的jar包
这个地方要注意一下,如果没有jar包或jar包的版本不对,会提示“could not load 'org.postgresql.Driver'”。
根据自己机器安装的jdk版本(如我的是1.8.1,下载JDBC4.2的版本),下载对应版本的jar包,如果下载版本不对,可能会出现上述错误。
下载地址:https://jdbc.postgresql.org/download.html
下载完成之后,放到Jmeter安装路径lib文件夹下,如C:/Program Files/Apach Jmeter4.0/lib/下,然后重启Jmeter。
我下载的是这个版本:

配置JDBC连接
Jmeter基本使用就不说了,首先测试计划右键添加线程组,线程组下添加--配置元件--jdbc connection configuration。
注意:
- Variable Name for created pool:连接池名称,随意取,后续请求会用到,如名称为pgsql。
- Validation Query:这个有好多资料里都没说到,validationQuery must be an SQL SELECT statement, that returns at least one row。不同的数据库,所选择的Validation Query是不同的,经过外国友人的测试,具体可参照以下(postgresql选select 1):
- hsqldb -
select 1 from INFORMATION_SCHEMA.SYSTEM_USERS - Oracle -
select 1 from dual - DB2 -
select 1 from sysibm.sysdummy1 - mysql -
select 1 - microsoft SQL Server -
select 1(tested on SQL-Server 9.0, 10.5 [2008]) - postgresql -
select 1 - ingres -
select 1 - derby -
values 1 - H2 -
select 1 - Firebird -
select 1 from rdb$database
- hsqldb -
- Database Url:连接postgresql的配置,格式:jdbc:postgresql://ip:port/dbname,如 jdbc:postgresql://10.21.11.11:5432/testdb
- JDBC Driver class:数据库驱动,不同数据库类型选择不一样,postgresql选择“org.postgresql.Driver”
- username,password:数据库登录信息
配置完成后,就可以添加sql请求进行测试了。

配置jdbc Request
线程组右键添加--Sampler--JDBC Request。
- Variable Name of Pool declared in JDBC Connection Configuration:这个地方就是之前说到的,在配置时取的连接池名称,一定要一致,如之前连接池名称为pgsql,该处填pgsql。
- Query Type:根据自己要测试的sql类型,选择对应的即可。如select语句为Select Statement。这个地方要注意的是,sql的执行,是有解析的,经过语法分析、语义分析、生成执行计划等,所以为了提高性能,会有预编译,即对于多次执行的可变参数sql来讲,选择Prepared Statement性能要好一些。选择Prepared Statement后,用?进行参数填充并在下边进行参数配置。
- Query:要测试的sql。
后续的参数化、压测等就跟正常请求没区别了。


Jmeter直连postgresql数据库进行压测的更多相关文章
- 软件性能测试分析与调优实践之路-JMeter对RPC服务的性能压测分析与调优-手稿节选
一.JMeter 如何通过自定义Sample来压测RPC服务 RPC(Remote Procedure Call)俗称远程过程调用,是常用的一种高效的服务调用方式,也是性能压测时经常遇到的一种服务调用 ...
- Jmeter 在linux下的分布式压测
Jmeter 在linux下的分布式压测 0.将 windows机器作为master 控制机(同时也兼做负载机slave), linux机器作为 负载机 slave. 1.linux环境安装 : (1 ...
- 【JMeter】JMeter完成一个java请求的压测
先定义一下我说的remoteService:即远程调用服务,没有http的url.不对外提供或者对外提供有限的服务.具体视各公司的代码架构所定,比如有些公司为web工程,scf服务,db.scf即为服 ...
- 【JMeter】(3)---MySQL压测
JMeter---MySQL压测 一.添加MySQL驱动jar包 在测试计划(Test Plan)页面添加jar包 二.添加MySQL连接配置 添加线程组右击-->添加(add)-->配置 ...
- 【JMeter】(2)---HTTP压测
JMeter---HTTP压测 一.创建线程组 右击-->添加-->Threads(Users)-->线程组 下面对比较重要的几个参数,讲解下: 名称: 就是给你这个线程组起名字. ...
- 【转】JMeter完成一个java请求的压测
JMeter完成java请求的压力测试详解以及问题总结 原文地址:http://www.cnblogs.com/zhaoxd07/p/4895224.html 作者:KK_Yolanda 这篇文 ...
- CoolHash数据库引擎压测对比报告
Coolhash 当前性能指标:读写吞吐量超过百万,千万级别查询1秒完成,连续48小时打满CPU强压力运行稳定.redis官方公布读写性能在10万 tps,leveldb官方公布写性能在40万tps, ...
- jmeter(二十七)分布式压测注意事项
之前的博客:jemter(二十三):分布式测试简略的介绍了利用jmeter做分布式测试的方法,当时只是介绍了背景和原因,以及基本的配置操作,有同学说写得不够详细. 正好今年双十一,我司的全链路压测,也 ...
- JMeter压力测试,http请求压测,5分钟让你学会如何压测接口!
JMeter压力测试 官网:https://jmeter.apache.org 最新款的jmeter需要java8的支持,所以请自行安装jdk8.这里就不啰嗦了. 可以根据自己的系统下载zip或者是t ...
随机推荐
- Controller如何写的更简化
Controller层相当于MVC中的C,也是安卓或者前端请求的接口. 首先说Controller为什么需要写的更加简化? 第一.Controller是不能复用的: 第二.即便是将Controller ...
- 编程中关于对时区的理解(语言PHP)
时间戳 首先来说说time()返回的时间戳,时间戳则是自从 Unix 纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数. 格林威治 由于地球圆的,因此每个时区的时间 ...
- sql语句查询知识点
LEFT JOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行 INNER JOIN INNER JOIN 关键字在表中存在至少一个匹 ...
- awk 简单使用 egrep 正则表达式
[root@python ~]# cat testcount.txt a 1.1.1.1b 2.2.2.2c 3.3.3.3a 1.1.1.1d 4.4.4.4e 5.5.5.5f 6.6.6.6 1 ...
- POJ 3762 The Bonus Salary!(最小K覆盖)
POJ 3762 The Bonus Salary! 题目链接 题意:给定一些任务.每一个任务有一个时间,有k天.一个时间仅仅能运行一个任务,每一个任务有一个价值.问怎么安排能得到最多价值 思路:典型 ...
- tomcat启动错误org.springframework.beans.factory.CannotLoadBeanClassException的解决
tomcat启动时一直报这个错误,但是报错的类确实存在. 清空tomcat,更新maven项目,重配tomcat都没有解决. 最后解决办法: Eclipse环境:Project-->clean ...
- Oracle DataGuard启动与关闭顺序
(一)Active DataGuard启动顺序(1)启动监听,先启从库再起主库 lsnrctl start (2)启动数据库,先启动备库在启主库 --先启备库 sql>startup nomou ...
- Mysql数据库-DAY2
查找 Select 字段(全部查找为*)from 表 增加 Insert into 字段(全部增加为表) values(需要增加的内容,用'','隔开') 删除 Delete from 表 where ...
- Android Studio 2.3.3 出现Error:(26.13) Fail to resole: com.android.support.appcompat永久解决方法
Android Studio 出现Error(26.13):Fail to resole:com.android.support.appcompat-v7.28_ Install Repository ...
- 淘宝商品放大镜效果-JavaScript
效果图 HTML代码 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&quo ...