通过Jmeter压测存储过程

一、存储过程准备:

1、建立一个空表:

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 LOOP

    INSERT INTO test_data VALUES (i, 'Name' || i, i * 10);

  END LOOP;

COMMIT;

END insert_test_data;

3、调试下:

1

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配置
总结:

感谢每一个认真阅读我文章的人!!!

作为一位过来人也是希望大家少走一些弯路,如果你不想再体验一次学习时找不到资料,没人解答问题,坚持几天便放弃的感受的话,在这里我给大家分享一些自动化测试的学习资源,希望能给你前进的路上带来帮助

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

 

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-01-11 02:04:01       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-01-11 02:04:01       100 阅读
  3. 在Django里面运行非项目文件

    2024-01-11 02:04:01       82 阅读
  4. Python语言-面向对象

    2024-01-11 02:04:01       91 阅读

热门阅读

  1. 实战:使用docker容器化服务

    2024-01-11 02:04:01       56 阅读
  2. 实现数组去重的方式

    2024-01-11 02:04:01       53 阅读
  3. C++系列十五:字符串

    2024-01-11 02:04:01       47 阅读
  4. TensorRT加速推理入门-1:Pytorch转ONNX

    2024-01-11 02:04:01       44 阅读
  5. 神经网络中的损失函数(上)——回归任务

    2024-01-11 02:04:01       45 阅读
  6. vue element plus Form 表单

    2024-01-11 02:04:01       58 阅读
  7. Redis 为什么是单线程的?

    2024-01-11 02:04:01       62 阅读
  8. 65、python - 利用手写的网络,成功预测一张图片

    2024-01-11 02:04:01       60 阅读
  9. 【LintCode】920.会议室

    2024-01-11 02:04:01       57 阅读
  10. #Uniapp:uni-app中vue2生命周期--11个

    2024-01-11 02:04:01       57 阅读
  11. LeetCode每周五题_2024/01/08~01/12

    2024-01-11 02:04:01       83 阅读
  12. 2024.1.8力扣每日一题——回旋镖的数量

    2024-01-11 02:04:01       59 阅读
  13. HDMI2.1 Redriver 信号增强 支持8K60

    2024-01-11 02:04:01       63 阅读
  14. [Microsoft Edge] 如何彻底卸载 Edge

    2024-01-11 02:04:01       50 阅读