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

通过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 LOOP INSERT 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;

AI写代码bash

  • 1

二、测试工具准备:

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配置

总结:

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

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

软件测试面试文档

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

视频文档获取方式:
这份文档和视频资料,对于想从事【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!以上均可以分享,点下方小卡片即可自行领取。

http://www.cnnetsun.cn/news/39856.html

相关文章:

  • JMeter接口测试之文件上传
  • 从零开始:5步搞定BDD100K数据集训练,新手也能轻松上手![特殊字符]
  • java计算机毕业设计陕西理工大学返校管理系统 高校学生返校审批与宿舍信息一体化平台 基于Vue+SpringBoot的校园返校及住宿服务系统
  • 36亿参数撬动韩国AI生态:Kakao Kanana-1.5-v-3b-instruct多模态模型深度解析
  • 如何用AI快速修复老旧视频?SeedVR2-7B让1080P修复仅需0.8秒
  • 轻量级AI新范式:重新定义企业智能部署的终极方案
  • OpenMower测试实战:从零到一的智能割草机器人验证指南
  • MotionGPT终极指南:用语言模型生成人类运动的完整方法
  • TL494 BUCK电路完整指南:从原理到PCB制作的实战教程
  • ZVT量化框架模块化设计终极指南:5步快速上手智能交易系统
  • 10、深入理解SELinux类型规则与Apol工具的使用
  • 视频生成技术革命:LightVAE如何重塑创作效率边界
  • WordPress 专业建筑行业公司网站主题模板 – Constructo v5.0.0
  • noVNC剪贴板同步完全指南:解决远程复制粘贴难题
  • FusionSpec投机推理:让大模型推理速度飙升的优化策略
  • WPS VBA 7.1插件技术实现与自动化办公解决方案深度解析
  • Qwen3-VL-4B-Instruct-FP8:如何用40亿参数重塑企业级多模态AI生态?
  • Logto身份认证系统入门指南:从零构建安全登录体系
  • 【Java毕设全套源码+文档】基于Java的教学评价管理系统的设计与实现(丰富项目+远程调试+讲解+定制)
  • 【Java毕设全套源码+文档】基于Java的教务管理系统设计与实现(丰富项目+远程调试+讲解+定制)
  • 7、自定义报告处理器:Puppet 中的数据处理与监控
  • 8、Puppet 报告处理与 PuppetDB 探索
  • 14、创建自定义仪表盘:从基础到趋势分析
  • 人工智能专利投资机遇:2024年关键趋势与战略布局
  • 终极指南:如何利用FlatBuffers构建高性能数据交换系统
  • 基于springboot + vueOA校务管理系统(源码+数据库+文档)
  • Notepad4 文本编辑器:从零开始搭建高效编程环境
  • 打卡信奥刷题(2531)用C++实现信奥 P2024 [NOI2001] 食物链
  • 如何快速掌握Step1X-3D:新手入门完整指南
  • Facebook iOS SDK实战指南:从零构建社交应用