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 ...
随机推荐
- Git打Tag相关操作
一.打标签 git tag -a 0.1.3 -m “Release version 0.1.3″ 详解: git tag 是命令 -a 0.1.3是增加 名为0.1.3的标签 -m 后面跟着的是标签 ...
- MFC各个控件之间运用SendMessage()传送CString和char[]字符串,以及int类型数据
LRESULT SendMessage( HWND hWnd, // handle to destination window UINT Msg, // message WPARAM wParam, ...
- linux下搭建禅道项目管理系统
1.禅道下载: #官网:http://www.zentao.net/article-browse-1067.html [root@localhost ~]# wget ...
- 使用java代码将时间戳和时间互相转换
时间戳转时间: SimpleDateFormat simpleDateFormat = null; simpleDateFormat = new SimpleDateFormat("yyyy ...
- Vue指令 常见的几个内置指令
1.v-if指令:判断指令,根据表达式值得真假来插入或删除相应的值. 2.v-show指令:条件渲染指令,无论返回的布尔值是true还是false,元素都会存在在html中,只是false的元素会隐藏 ...
- Mvc+Hui+SqlSugar+Autofac+NLog+T4 架构设计(一)
一.前言 作为小菜鸟第一次写博客的我还有点小激动,最近开始打算着手写一个属于自己架构.算下来差不多最近花一周多的下班时间了来写这个框架,本来想整体架构开发完成测试完成后才写博客,怕自己没时间或失去动力 ...
- java 进销存 库存管理 销售报表 商户管理 springmvc SSM crm 项目
系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM ...
- Oracle 数据库备份和恢复配置
可能的失败及其解决方法 失败类型 我们坑你遇到的失败或错误分为两大类:物理和逻辑.物理错误一般是硬件错误或使用数据库的应用程序中的软件错误,而逻辑错误一般在终端用户级别(数据库用户和管理员). 按从轻 ...
- Ajax缓存
一.Ajax缓存的好处 这种设计使客户端对一些静态页面内容的请求,比如图片,css文件,js脚本等,变得更加快捷,提高了页面的响应速度,也节省了网络通信资源. 二.Ajax缓存的不足 Ajax缓存虽然 ...
- XML的序列化用法 vs平台开发
protected void Page_Load(object sender, EventArgs e) { if(!IsPostBack) { NewMethod(); } } #region 读取 ...