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

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

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

软件测试面试文档

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

相关推荐
weixin_457507214 小时前
使用apache-jmeter时,控制台打不开应用的解决方法
jmeter·apache
北京_宏哥1 天前
🔥Jmeter(六) - 从入门到精通 - 建立数据库测试计划(详解教程)
前端·jmeter·性能优化
北京_宏哥2 天前
🔥Jmeter(三) - 从入门到精通 - 测试计划(Test Plan)的元件(详解教程)
前端·jmeter·面试
北京_宏哥2 天前
🔥Jmeter(五) - 从入门到精通 - 创建网络计划实战和创建高级Web测试计划(详解教程)
前端·jmeter·面试
测试工程师成长之路3 天前
Jmeter+Jenkins+Ant自动化持续集成环境搭建
jmeter·自动化·jenkins
海姐软件测试4 天前
Jmeter如何使用MD5进行加密?
python·jmeter·压力测试
可涵不会debug4 天前
JMeter接口性能测试从入门到精通
selenium·测试工具·jmeter·压力测试
wgslucky4 天前
Jmeter脚本使用要点记录
jmeter
测试界吖吖5 天前
HTTPS 之fiddler抓包--jmeter请求
自动化测试·软件测试·功能测试·jmeter·程序人生·https·fiddler
测试的自我修养5 天前
003-JMeter发起请求详解
jmeter