当前位置: 首页 > news >正文

通过Jmeter压测存储过程

目录

一、存储过程准备:

二、测试工具准备:

三、工具配置及执行:

1、配置JDBC Connection Configuration:

2、配置吞吐量控制器(可跳过):

3、配置JDBC Request:

对于存储过程:

对于SQL语句:

4、其他配置如查询结果树,聚合报告,TPS,PerfMon监控等,同基础Jmeter配置


一、存储过程准备:

1、建立一个空表:

CREATE TABLE test_data ( id NUMBER, name VARCHAR2(50), age NUMBER );

2、建立一个存储过程:

CREATE OR REPLACE PROCEDURE insert_test_data
(n IN NUMBER) AS
BEGIN--EXECUTE IMMEDIATE 'truncate table test_data';FOR i IN 1..n LOOPINSERT INTO test_data VALUES (i, 'Name' || i, i * 10);END LOOP;
COMMIT;
END insert_test_data;

3、调试下:

select count(*) from test_data t; call insert_test_data(1000); truncate table test_data;

二、测试工具准备:

1、网上找到:mysql-connector-java-8.0.29.jar(版本不限定),放到Jmeter目录\lib\ext下。

2、网上找或将本地:ojdbc14.jar,放到Jmeter目录\lib下。

三、工具配置及执行:

全局配置如下图:

1、配置JDBC Connection Configuration:

右键,Config Element下添加节点,配置如图:

a. Name可以随意改,改后保存生效

b. Variable Name for created pool,随便起一个,不过需要跟后续步骤的配置一致,建议就叫oracle

c. 中间一大段暂时默认,Validation Query随意选一个

d. Database URL: jdbc:oracle:thin:@{ip}/{oracle服务名},其中{ip}是数据库服务器ip,{oracle服务名}是TNS中的Service_Name,类似orcl这种

e. 连接数据库的用户名和密码

2、配置吞吐量控制器(可跳过):

如图就是占20%的吞吐量。示例中SP占20%,SQL占80%。模拟实际的80%查询,20%写入的场景。

3、配置JDBC Request:

右键,Sampler里找到JDBC Request,添加。

对于存储过程:

a. Variable Name of Pool...:和JDBC Connection Configuration配置一致,这里配为:oracle

b. Query Type: 存储过程的话,选Callable Statement

c. Query: 如图,写存储过程调用,照图上格式写,参数用?表示,多个参数用逗号隔开

d. Para Values,参数值,多个用逗号隔开

e. Para types, 参数的数据类型

f. Variable names,返回值列名

g. HandleResutleSet:Store as String即可

对于SQL语句:

Query Type选Select Statement,Query中直接写SQL语句即可。注意语句最后不要写“;”

4、其他配置如查询结果树,聚合报告,TPS,PerfMon监控等,同基础Jmeter配置


 以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了

各位想获取资料的朋友请点赞 + 评论 + 收藏,三连!

三连之后我会在评论区挨个私信发给你们~

http://www.lryc.cn/news/105579.html

相关文章:

  • Spring笔记之Spring对IoC的实现
  • 【eNSP】Telnet远程登录
  • SOP/详解*和**/python数据结构(iter,list,tuple,dict)/ 解包
  • 使用webdriver-manager解决浏览器与驱动不匹配所带来自动化无法执行的问题
  • 【vue】Vue中debugger报错 unexpected ‘debugger’ statement no-debugger
  • 课题方向a
  • 【Matter】基于Ubuntu 22.04 交叉编译chip-tool
  • Qt/C++音视频开发50-不同ffmpeg版本之间的差异处理
  • 低碳 Web 实践指南
  • 信息安全:网络安全体系 与 网络安全模型.
  • 【云原生】Serverless 技术架构分析
  • Visual Studio Code 设置文件头部添加作者、日期和函数注释
  • HCIA云计算 V5.0题库
  • 基于Matlab实现帧间差分法的运动目标检测(附上完整源码+图像+程序运行说明)
  • Jenkins搭建最简教程
  • 设置git可以同时推送gitee和github
  • Java给Excel设置单元格格式
  • __block的深入研究
  • Segment anything(图片分割大模型)
  • 【雕爷学编程】MicroPython动手做(27)——物联网之掌控板小程序3
  • Java中集合容器详解:简单使用与案例分析
  • 机器学习04-数据理解之数据可视化-(基于Pima数据集)
  • 百度@全球开发者,见证中国科技超级“碗”!
  • 分库分表之基于Shardingjdbc+docker+mysql主从架构实现读写分离(一)
  • Ajax跨域问题
  • Vue + FormData + axios实现图片上传功能
  • 设计模式系列:经典的单例模式
  • macbook pro 散热解决办法
  • 高并发与性能优化的神奇之旅
  • Django Rest_Framework(一)