MySQL数据库性能测试的方法

软件高级测试之数据库测试篇 当今世界是一个充满着大量数据的互联网世界,充斥着大量的数据。即这个互联网世界就是数据世界。各种各样的软件应用程序,无论是在Web应用、桌面应用、客户端服务器、企业和个人业务,都需要有自己的数据库在后端操作。随着现在应用的复杂程度增加,应用需要更强大和安全系数高的数据库才可以满足需求。为了满足高频率的应用程序事务(如银行或财务应用),数据库的安全性成为首要之重,今天我们就来介绍下数据库测试~提示:以下是本篇文章正文内容,下面案例可供参考。 阅读详情

MySQL数据库性能测试的方法

前置条件:

安装系统:windows 7 64

Mysql版本:mysql-installer-community-5.6.35.0

JAVA版本:jdk1.6.0_45

Jmeter版本:apache-jmeter-3.1

Mysql odbc驱动:mysql-connector-odbc-5.1.7-win32.msi

Mysql jdbc驱动:mysql-connector-java-5.1.7-bin.jar

使用Jmeter JDBC Request方式实现

1.

打开JMeter,点击测试计划,点击“浏览...”按钮,将你的JDBC驱动添加进来。

2.

添加一个线程组,

右键点击“线程组”,在下面添加一个“JDBC Connection Configuration”

来配置一下JDBCConnection Configuration页面。

3.

右键点击“线程组”,在下面添加一个“JDBC request”,并配置请求信息;

4.

添加断言。

右键点击线程组---->添加--->断言---->响应断言。

5.

我们来添加一些监听器来行查看(根据实际的需要配置监听器)

添加一个断言结果:

右键点击线程组---->添加--->监听器---->结果断言。

添加一个图形结果:

右键点击线程组---->添加--->监听器---->图形结果。

添加一个查看结果树:

右键点击线程组---->添加--->监听器---->查看结果树。

下面是添加所有东东的列表:

6.

在线程组页面设置用户数、启动时间、循环次数

点击菜单栏“运行”----“启动”

下面是结果:

其它的结果图片就不贴了......

 

 

使用Loadrunner 11 Web Services协议中的lr_db_xxxx系列函数方式实现

1.      安装MySQL ODBC驱动

 

在网上下载一个是MYSQL数据库的ODBC驱动程序:mysql-connector-odbc-5.1.7-win32.msi (已上传),以默认选项安装该文件。]

2.  2

打开数据源:开始->设置->控制面板->找到数据源,或者直接访问数据源启动配置路径

3.  3

打开数据源(ODBC),在用户DSN选项卡中点击“添加”按钮,弹出“创建新数据源”窗口。

4.  4

选中“MYSQL ODBC 5.1Driver”,点击“完成”按钮。

5.  5

弹出新窗口,在login选项卡中填写数据源信息。
Data Source Name 数据原名称;
Discription 描述(选填);
Server 数据源计算机的IP;
User 数据库用户名;
Password 数据库密码;
DataBase 数据源所要连接的数据库;

6.  6

配置完后,点击“test”按钮,如果出现如下提示,即配置成功。

 步骤阅读

点击“OK”返回用户DSN选项卡,增加一条记录,名为你所配置的数据源名称。

 

到此 Mysql ODBC 驱动安装配置成功。

2.启动Loadrunner的Virtual Vuser Generator ,创建Web Services协议脚本(因为lr_db_xxxx类函数只支持web services协议)

3、根据实际需要编写脚本

1)lr_db_xxxx相关函数参数细信息:

int lr_db_connect("StepName","ConnectionString=<connection_string>","ConnectionName=<connection_name>","ConnectionType=<connection_type>", LAST );

int lr_db_executeSQLStatement("StepName=<step_name>","ConnectionName=<connection_name>","SQLStatement=<statement>",["DatasetName=<dataset_name>",] LAST );

int lr_db_dataset_action("StepName=<step_name>","DatasetName=<dataset_name>", "Action=<action>",LAST );

int lr_db_getValue("StepName=<step_name>","DatasetName=<dataset_name>","Column=<column>", "Row=<row>","OutParam=<output_parm>", LAST );

int lr_db_disconnect("StepName=<step_name>","ConnectionName=<connection_name>", LAST );

2)具体的脚本实现方法

Action()

{

    //打开连接,注意DRIVER就是上面安装的 

   int NumRows=0;

   int i=0;

   lr_db_connect("StepName=databaseConnect",

                 "ConnectionString=DRIVER={MySQL ODBC 5.1 Driver};SERVER=localhost;PORT=3306;DATABASE=test;USER=root;PASSWORD=012306;OPTION=3",

                 "ConnectionName=Mysql",

                 "ConnectionType=ODBC",

                  LAST);

   lr_start_transaction("SQL");

   //while(i<=5){

       lr_db_executeSQLStatement("StepName=PerformQuery",

                                 "ConnectionName=Mysql",

                                 "SQLStatement=SELECT * FROM student",

                                 "DatasetName=test",LAST);

        //i++;

       //}//执行SQL语句

   /*lr_output_message(lr_eval_string("{idParam}"));*/

   lr_end_transaction("SQL", LR_AUTO);

   lr_output_message("The query returned %d rows.",NumRows);

   lr_db_dataset_action("StepName=actionPrint",

   "DatasetName=test",

    "Action=PRINT",

   LAST);//对数据库执行操作

    /*while(i<NumRows){

       lr_db_getvalue("StepName=GetValue",

                      "DatasetName=test",

                      "Column=sname", //字段名

                      "Row=next",

                      "OutParam=MyOutputParam",

                      LAST);

       lr_output_message("The value is: %s",lr_eval_string("{MyOutputParam}") );

       i=i+1;

       }*/

 

   lr_db_disconnect("StepName=disconnect",

                    "ConnectionName=Mysql",LAST);

   //ConnectionName的值与lr_db_connect中的ConnectionName值要相同

   //与数据库断开连接

    return0;

}

3)调试执行脚本

 

 

 

使用Loadrunner 11  Java Vuser协议 JDBC链接方式实现

1.启动Loadrunner的Virtual Vuser Generator ,创建Java/Java Vuser协议脚本

2.根据实际需要编辑Mysql的请求链接、数据插入、修改、查询、删除脚本

/*

 * LoadRunner Javascript. (Build: _build_number_)

 *

 * ScriptDescription:

 *                    

 */

 

import java.awt.List;

import java.sql.*;

import java.sql.DriverManager;

import java.sql.Statement;

 

import com.mysql.jdbc.Connection;

 

import lrapi.lr;

 

public class Actions

{

 

    public intinit() throws Throwable {

       return 0;

    }//end of init

 

    public intaction() throws Throwable {

            intColumnCount;

            intRowCount;

            Stringdriver = "com.mysql.jdbc.Driver";

            Stringurl = "jdbc:mysql://localhost:3306/test";

            Stringuser = "root";

            Stringpassword = "012306";

            try {

               Class.forName(driver);

               lr.start_transaction("jdbc");

               Connection conn = (Connection)DriverManager.getConnection(url,user,password);

               if(!conn.isClosed())

                {

                   System.out.println("数据库连接成功");

 

               lr.start_transaction("search");

           String sqls="select stu_id,sname,sage,ssexfrom student";  //sql语句

                   PreparedStatement ps = conn.prepareStatement(sqls);

                   ResultSet rs = ps.executeQuery();

               lr.end_transaction("search",lr.AUTO);

               while(rs.next()){

           ResultSetMetaData rsmd = rs.getMetaData();

                   ColumnCount = rsmd.getColumnCount();

                   rs.last();

                   RowCount = rs.getRow();

                   System.out.println("结果集的列数:" + ColumnCount);

                    System.out.println("结果集的行数:" + RowCount);

           }

       ps.close();

       conn.close();

                }

              lr.end_transaction("jdbc",lr.AUTO);

            }

            catch(ClassNotFoundException e)

            {

                System.out.println("数据库驱动程序没有找到");

               e.printStackTrace();

            }

            catch(SQLException e)

            {

               e.printStackTrace();

            }

        return 0;

        }//end of action

    public int end()throws Throwable {

       return 0;

    }//end of end

}

数据库性能测试 数据库性能测试是测试数据库系统在各种条件下的性能和稳定性的过程。它可以帮助测试人员识别数据库系统的性能瓶颈,并确定其可扩展性、并发性和响应时间等方面的指标。 阅读详情

相关推荐

【性能测试】MySQL数据库性能测试

文章目录一、数据库性能测试概述1.1 数据库性能测试的目的1.2 数据库的性能测试范围二、数据库架构2.1 数据库常用架构1. 一主多从2. 双机热备3. 主从同步工作原理2.2 数据库分库分表的设计方法拆分原因分库分表方案三、mysql专题性能测试3.1 概述3.2 mysql主流分支MariaDb3.3 Mysql数据库重点监控指标1. QPS2. TPS3. 线程连接数4. Query Cache5. 锁定状态6. 主从延时3.4 mysql慢查询1. 慢查询定义2. 慢查询开启3. 慢查询日志分析3

长期关注AI发展路径、技术价值转化与系统性落地。 5963

MySQL性能测试(完整版)

MySQL性能测试之SysBench,包括安装、数据准备、测试、结果分析

小韩的博客 2559

LoadRunner在MySQL和Oracle数据库性能测试中的应用

LoadRunner 是一款由 Micro Focus 公司开发的高性能、自动化负载测试工具。它支持多种协议,能够模拟成千上万的用户同时使用应用程序,从而测试应用程序在实际高负载情况下的性能表现。LoadRunner 功能强大,能够:自动化执行脚本以模拟真实用户行为支持广泛的协议和技术栈,包括但不限于 Web, .NET, Java, J2EE, ERP, CRM, AJAX, Flex 和 Oracle收集和分析性能指标,如响应时间、吞吐量和资源消耗。

weixin_35671843的博客 1132

数据库性能测试-mysql篇

数据库性能测试-mysql篇

文山岗的张喆 2918

Python入门之机器学习(非常详细)篇幅拉满,一般人看不完!

什么是机器学习?监督学习 supervised learning;非监督学习 unsupervised learning;半监督学习 semi-supervised learning;强化学习 reinforcement learning;监督学习是不断向计算机提供数据(特征),并告诉计算机对应的值(标签),最后通过大量的数据,让计算机自己学会判断和识别。例如Google Photo,你在APP中输入狗,这时就会弹出与狗相关的图片,这背后使用的算法就是监督学习。

xiaolinyui的博客 2万+

Typora绘制思维导图

我们观察一下,其实思维导图就是树状结构的数据嘛,作为程序员,拿语言写树状结构的数据是很平常的事情。而且写代码可比画图省事多了,查阅资料可以知道,有一种`mermaid`语法,就是做这件事情的,支持 UML,甘特图,流程图等。

Peter Cheung的博客 7933

测试mysql数据库的方法_MySQL数据库性能测试的方法

前置条件:安装系统:windows 7 64mysql-installer-community-5.6.35.0jdk1.6.0_45apache-jmeter-3.1Mysql odbc驱动:mysql-connector-odbc-5.1.7-win32.msiMysql jdbc驱动:mysql-connector-java-5.1.7-bin.jar使用Jmeter JDBC Reques...

weixin_39775127的博客 402

Python、Selenium实现问卷星自动填写(内含适配个人问卷的方法)

使用Python、Selenium实现问卷星自动填写,内含适配个人问卷的方法。

DaenCode的博客 3837

lr压测mysql数据库_MySQL数据库性能测试的方法

MySQL数据库性能测试的方法前置条件:安装系统:windows 7 64Mysql版本:mysql-installer-community-5.6.35.0JAVA版本:jdk1.6.0_45Jmeter版本:apache-jmeter-3.1Mysql odbc驱动:mysql-connector-odbc-5.1.7-win32.msiMysql jdbc驱动:mysql-connector...

weixin_30363285的博客 291

MAX30102传感器实战:从寄存器配置到Arduino心率血氧监测

本文详细介绍了MAX30102传感器在Arduino平台上的实战应用,从寄存器配置到心率血氧监测的全过程。通过清晰的代码示例和实用技巧,帮助开发者快速实现脉搏血氧仪功能,包括I2C通信、FIFO数据处理及算法实现,适用于健康监测和可穿戴设备开发。

weixin_29182481的博客 511

手把手教会你用yolov8从环境配置到检测任务实战

做本文章前,我浏览过很多网上资料,我发现他们总是写的含糊不清,而且实际操作起来就会有各种各样的问题,要么就是根本不适合一些小白,所以我在这里写一篇完全针对小白的yolo从入门到实战。看完本文章后大家都可以实现下图效果,数字识别是一种比较简单的检测任务,其他识别任务学完本例也能够一通百通,大家边做边学,更好的体会yolo的神奇之处。

KevenDuan的博客 2871

测试mysql数据库的方法_MySQL数据库性能测试的方法-Go语言中文社区

MySQL数据库性能测试的方法前置条件:安装系统:windows 7 64Mysql版本:mysql-installer-community-5.6.35.0JAVA版本:jdk1.6.0_45Jmeter版本:apache-jmeter-3.1Mysql odbc驱动:mysql-connector-odbc-5.1.7-win32.msiMysql jdbc驱动:mysql-connector...

weixin_28839699的博客 236

在移动固态上安装ubuntu系统,重启后卡住报错:blk_update_request: I/O error, dev sda, sector ... op 0x0 (READ)如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 1798

【性能测试】电商系统项目tps计算方法+MySQL数据库问题

1、电商系统tps计算方法1)怎么计算得出tps指标?第一个通过运维那边给的生产数据,看一下生产进件有多少,计算得来的,如果没有生产数据,或者不过就看如下的方法第二个就是根据最近一个月的实际访问数据,比如每天调用了多少个接口,调用了哪些接口,把比例列出来==》这是通用的tps比如这100万次请求里面登录请求比例:40% 那么登录接口的标准退出请求比例:20% 那么退出接口的标准添加商品比例:20% 那么添加商品接口的标准查询商品比例:10% 那么查询商品接口的标准。

大佬云集技术答疑交流群:743262921(进群暗号:222) 482

9、从统计到电路:未来物理不可克隆函数的基础

本文探讨了物理不可克隆函数(PUF)的关键技术,包括补偿环境影响、处理相关工艺变化、身份映射和测试方法。提出了一种基于新测试统计量Q的方法,有效提升了PUF的熵值和安全性。通过实验验证,新方法能够显著区分不同芯片,并增强PUF在不同环境下的适应性和可靠性,为未来PUF的设计与应用提供了重要基础。

pluto的博客 118

使用YubiKey进行全盘加密、加密启动分区以及利用UEFI安全启动的详细指南

在本教程中,我们将使用YubiKey来增强电脑的安全性,通过加密整个硬盘,确保只有持有正确YubiKey的人才能访问。UEFI安全启动是一种在UEFI固件级别实施的安全标准,确保计算机仅启动签名的启动加载程序。为了符合您的要求,我将以此方式分配内容,确保每部分都有详尽的说明和代码。现在,您已经成功地使用YubiKey设置了全盘加密,并使用UEFI安全启动为系统增加了额外的安全层。注意:为了简洁和清晰,本文中的代码可能不是最优的或最完整的实现。注意:为了简洁和清晰,本文中的代码可能不是最优的或最完整的实现。

qq_38334677的博客 1006

mysql数据写入突然慢了_mysql性能测试方案

1.慢查询 查看是否开启慢查询 mysql> show variables like '%slow%’; 如图所示:系统变量log_slow_admin_statements 表示是否将慢管理语句例如ANALYZE TABLE和ALTER TABLE等记入慢查询日志启用log_slow_extra系统变量(从MySQL 8.0.14开始提供)将导致服务器将几个额外字段写入日志Log_s...

weixin_39901685的博客 1864

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

mysql 性能测试 脚本_通过sysbench工具实现MySQL数据库的性能测试的方法

1.背景sysbench是一款压力测试工具,可以测试系统的硬件性能,也可以用来对数据库进行基准测试。sysbench 支持的测试有CPU运算性能测试、内存分配及传输速度测试、磁盘IO性能测试、POSIX线程性能测试、互斥性测试测试、数据库性能测试(OLTP基准测试)。目前支持的数据库主要是MySQL数据库和PG数据库。在新服务器上线时,建议对服务器的性能做一次测试,最好与既往的同类型的服务器的性能...

weixin_39769984的博客 470

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

如何测试mysql数据库的性能_一种简单的数据库性能测试方法

这两天接到一个任务,要测试一个服务器的性能,客户要求向数据库内 1000/s(每插入一千条数据) 的处理能力,当时脑子赌赛了,想的是用LR来进行,由于LR接触不深,只知道LR实现参数化的时候可以调用数据库里面的数据,往里面大批量的插入数据,以前没试过。翻阅了一下资料,找一到了一篇《一种特殊的数据库性能测试》,大概思路是:通过编写一java程序来循环插入数据,编写一个批处理文件来调用java程序。...

weixin_34419561的博客 614

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

mysql表插入y_mysql插入数据库三种方法性能测试

表结构CREATE TABLE IF NOT EXISTS `test_load_file` (`int1` int(11) NOT NULL,`int2` int(11) NOT NULL,`int3` int(11) NOT NULL,`int4` int(11) NOT NULL,`int5` int(11) NOT NULL,`int6` int(11) NOT NULL,`int7` i...

weixin_31099291的博客 205

【性能测试】Spotlight on MySQL 显示数据库日志的方法

问题: 已经开启了mysql的general_log,但是Spotlight on MySQL,显示日志那里仍然为空。 解决方法: 在 my.cnf 配置文件里面的[mysqld]下面增加设置: 其中,my.cnf在/etc/my.cnf 重启mysql服务器 service mysqld restart 此时能看到显示出日志了 ...

intelrain的博客 281

性能测试之mysql数据库如何调优?

1、SQL语句不要写的太复杂。一个SQL语句要尽量简单,不要嵌套太多层。2、使用like的时候要注意是否会导致全表扫3、尽量避免使用!=或<>操作符,在where语句中使用!=或<>,引擎将放弃使用索引而进行全表扫描。4、尽量避免使用 or 来连接条件,在 where 子句中使用 or 来连接条件,引擎将放弃使用索引而进行全表扫描。5、尽量避免使用in和not in,在 where 子句中使用 in和not in,引擎将放弃使用索引而进行全表扫描。6、尽量避免使用表达式、函数等操作作为查询条件。

2401_88752464的博客 962

实验7、数据库性能测试实验

实验7、数据库性能测试实验 1.实验目的: 1)学会安装部署Mysql数据库服务器 2)学会创建数据库、创建数据表 3)学会使用Jmeter进行性能测试 3)评估影响数据库服务器性能的因素 2.实验软件: 1) Mysql 2) Jmeter 3实验内容: 1.配置JDK环境变量 2.安装Mysql,配置环境变量 3.创建数据库和数据表 4.安装Jmeter软...

S123KO的博客 1531

loadrunner mysql性能测试_运用Loadrunner测试Mysql数据库性能 TRON•极客

1.前言针对数据库的性能测试,loadrunner本身支持sql server和oracle数据库,这两种数据库可以用loadrunner直接录制进行测试。而我们项目中使用的是mysql数据库,针对用 loadrunner测试mysql数据库的方法网上也有很多介绍文章,主要有两种方案。一种是利用ODBC连接测试mysql,但是这种方法配置比较麻 烦,如果要录制的话需要安装支持ODBC连接的查询分析...

weixin_39610722的博客 885
上一篇: 接口测试学习笔记
下一篇: 通过loadrunner 11常规通用的C语言API类型的Vuser 方式,测试验证MySQL数据库插入、查询、修改、删除数据性能脚本实例
testingstar
博客等级 码龄15年 77粉丝 8原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值