首页 > 其他分享 >通过Jmeter压测存储过程

通过Jmeter压测存储过程

时间:2023-07-17 16:33:55浏览次数:33  
标签:存储 Name 压测 test Query Jmeter data

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

二、测试工具准备:

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

 

更多测试好文,请关注公众号:诗泽园

 

 

标签:存储,Name,压测,test,Query,Jmeter,data
From: https://www.cnblogs.com/alphaxu/p/17560470.html

相关文章

  • 邻接表和邻接矩阵:图的两种存储方式
     引言图是一种非常重要的数据结构,它可以用来表示很多复杂的现实问题,如网络拓扑、社交关系、地图导航等。为了有效地处理图相关的算法,我们需要选择合适的存储方式来表示图中的顶点和边。本文将介绍图的两种常用存储方式:邻接表和邻接矩阵,并比较它们的优缺点。邻接矩阵邻接矩阵......
  • docker分布式存储之哈希槽3主3从redis集群配置+主从扩容缩容
    创建开启六台redis容器systemctlrestartdockerdockerpullredis:6.0.8根据需求下载redis的镜像版本配置3主3从开启六台redis容器分别用node-1~node-6来区分dockerrun-d--nameredis-node-1--nethost--privileged=true-v/tmp/redis/share/redis-node......
  • mysql 查询存储过程调用日志
    如何实现MySQL查询存储过程调用日志作为一名经验丰富的开发者,我将在下面的文章中向你介绍如何实现MySQL查询存储过程调用日志。首先,让我们来了解一下整个流程,然后逐步介绍每一步需要做的事情和相应的代码。流程概述下面是实现MySQL查询存储过程调用日志的整体流程:步骤......
  • Postman导出的.json文件转成Jmeter的.jmx文件
    转载:https://blog.csdn.net/RoninYang/article/details/107997794Postman导出的.json文件转成Jmeter的.jmx文件一、背景:最近测公司的项目,发现有个接口调用的多了会出现个别情况的响应超时,就想着用jmeter跑一下多线程,看下这种情况是否经常出现,然后就遇到了一个新颖的问题:怎么把p......
  • aliyun oss对象存储服务的使用和配置
     引入依赖(依赖冲突可使用mavenhelper插件来排除,或者通过启动异常进行判断,或者看官方文档寻找答案) <dependency>   <groupId>com.aliyun.oss</groupId>   <artifactId>aliyun-sdk-oss</artifactId>   <version>3.5.0</version>   <exclusions>  ......
  • MySQL 索引、事务与存储引擎
    目录一、索引1.概念2.作用3.副作用4.创建索引的原则依据5.优化6.分类二、事务1.事务的概念2.事务的特点(1)原子性(2)一致性(3)隔离性(4)持久性3.扩展事务之间的相互影响分为几种4.Mysql及事物隔离级别5.事务控制语句6.使用set设置控制事务三、存储引擎一、索引1.概念是......
  • redis 存储不重复列表
    实现Redis存储不重复列表简介在本文中,我将向你展示如何使用Redis来存储不重复列表。首先,我们需要明确什么是Redis和不重复列表。Redis是一个开源的高性能内存数据库,它提供了多种数据结构和功能,以支持各种应用场景。不重复列表是一个数据结构,其中每个元素只出现一次。在Redis中,我......
  • redis set存储对象
    如何实现RedisSet存储对象概述在Redis中,Set是一种无序且不重复的数据结构,它可以存储多个元素,且操作效率非常高。如果我们想要将对象存储到Redis的Set中,我们需要进行一些额外的处理。本文将详细介绍如何使用Redis来实现Set存储对象的功能。准备工作在开始之前,确保你已经安装了R......
  • 高并发的哲学原理(七)-- 最难以解决的单点:数据库以及它背后的存储
    前面六篇文章,我们解决了web服务的百万QPS问题,从本文开始,我们将用三篇文章,尝试构建出百万QPS后端系统所需要的数据库。首先要明确,这里的数据库指的是关系型数据库,即满足ACID原则并用SQL语言进行操作的持久性(掉电数据不丢)数据库。当然,在追求高并发的过程中,我们将不可避免......
  • 数据库(SQL注入问题、视图、触发器、事务、存储过程、内置函数、流程控制、索引)
    SQL注入问题SQL注入的原因:由于特殊符号的组合会产生特殊的效果 实际生活中,尤其是在注册用户名的时候会非常明显的提示你很多特殊符号不能用,会产生特殊的效果。结论:涉及到敏感数据部分,不要自己拼接,交给现成的方法拼接即可。importpymysql#链接MySQL服务端conn=pymysql.......