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相关函数参数细信息:

intlr_db_connect("StepName","ConnectionString=","ConnectionName=","ConnectionType=", LAST );

intlr_db_executeSQLStatement("StepName=","ConnectionName=","SQLStatement=",["DatasetName=",] LAST );

intlr_db_dataset_action("StepName=","DatasetName=", "Action=",LAST );

intlr_db_getValue("StepName=","DatasetName=","Column=", "Row=","OutParam=", LAST );

intlr_db_disconnect("StepName=","ConnectionName=", 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

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

}

lr压测mysql数据库_MySQL数据库性能测试的方法相关推荐

  1. tpcc压测MySQL数据库

    tpcc压测MySQL数据库 tpcc压测MySQL数据库实例步骤 1.上传 tpcc-mysql.tar.gz包 2.安装依赖包 yum install gcc-c++ gcc -y 3.解压安装包 ...

  2. mysql 文卷_mysql数据库试卷

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  3. mysql md5 数据库_mysql数据库密码md5加密

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  4. mysql流量_mysql数据库网络流量

    {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],&q ...

  5. 压测 mysql关闭连接_MySQL 压测

    https://mp.weixin.qq.com/s/vKJZp5cGUetHokGh2EZUXg mysqlslap --iterations=100 --create-schema='test' ...

  6. mysql命令导出数据库_MYSQL 数据库导入导出命令

    在不同操作系统或MySQL版本情况下,直接拷贝文件的方法可能会有不兼容的情况发生.所以一般推荐用SQL脚本形式导入.下面分别介绍两种方法. MySQL命令行导出数据库 1,进入MySQL目录下的bin ...

  7. mysql test数据库_mysql数据库test

    Re介绍一下CentOS下MySQL数据库的安装与配置方法 MySQL数据库配置的具体步骤: 1.编辑MySQL的配置文件,使用vi /etc/my.cnf [root@sample ~]# vi / ...

  8. mt5 mysql数据库_MySQL数据库配置主从复制

    数据库主从复制 先本机模拟实现数据库主从复制.(本次使用MySql数据库,数据库版本5.7.25) 实现步骤: ​1.安装第二个MySql数据库 ​2.配置数据库 ​3.在SpringBoot里实现数 ...

  9. mysql 自动停止_MySQL数据库之mysql自动停止的完美解决方法

    本文主要向大家介绍了MySQL数据库之mysql自动停止的完美解决方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 这两天新买的服务器mysql总是自动停止,查了日志 9:1 ...

  10. dapper mysql 批量_MySQL数据库之c#mysql批量更新的两种方法

    本文主要向大家介绍了MySQL数据库之c#mysql批量更新的两种方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 总体而言update 更新上传速度还是慢. 1:  简单的 ...

最新文章

  1. 解决 mac ox 终端显示bogon 的问题
  2. matlab三参数拟合函数,数据拟合,有三个参数,提示拟合参数太多,谢谢您啦!...
  3. Cracking The Coding Interview 9.1
  4. go 怎么等待所有的协程完成_Go 编程:如何实现协程调度的精准控制
  5. 使用virt-install安装kvm虚拟机时需要的问题
  6. maven(5)坐标和依赖
  7. 企业微信发布全国远程办公大数据:这些地方的企业最爱交流
  8. 2021-2025年中国短脉冲激光器行业市场供需与战略研究报告
  9. nginx + tomcat 架构中,页面跳转,URL不变,网页内容变
  10. python元类_Python元类
  11. css如何让图片不平铺,css怎么设置图片不平铺
  12. 信息学奥赛 python 教程_NOIP信息学竞赛入门小经验
  13. 模电笔记3 三极管 光电三极管
  14. 网站木马修复网站漏洞修复方案
  15. 文明与征服北条时宗最强阵容搭配指南
  16. mongodb update操作
  17. linux系统获取root权限,linux怎么进入root权限
  18. 一个不错的下载年限网站
  19. 使用遗传算法实现迷宫游戏(genetic maze)
  20. 关于Gitlab修改用户名和邮箱

热门文章

  1. 2020 最烂密码 TOP 200 大曝光,霸榜的仍旧是 123456!
  2. 面试官问:请拿出一段体现你水平的代码时,该如何回答?
  3. 中国最惨创业者的惨痛教训!
  4. serversql数据库的查询操作
  5. P2770 航空路线问题
  6. STM8串口初始化寄存器配置
  7. Maven 常用的命令
  8. scp 跨机远程拷贝
  9. 让FineUI数据绑定支持dynamic对象
  10. 一个有趣的.net程序死锁问题