From:http://blog.csdn.net/testingstar/article/details/60579454

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 (已上传),以默认选项安装该文件。]

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

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

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

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

配置完后,点击“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/JavaVuser协议脚本

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

}

Jememeter和Loadrunner测试MySQL性能的更多相关文章

  1. Loadrunner测试数据库性能,测试SQL语句的脚本例子

    Loadrunner与SQL Server的操作可以通过录制的方式来实现,但本文还是通过直接调用loadrunner本身的function来实现sql语句的操作, 主要用到的是lr_db_connec ...

  2. 使用Jmeter测试MySQL性能——(1)连接配置

    在搭建MySQL集群之后需要测试集群的性能究竟如何,采用Apache的测试工具Jmeter进行测试,本文主要介绍主要实现Jmeter配置连接到MySQL. 安装相应的软件 首先Jmeter是基于Jav ...

  3. LoadRunner 测试 Mysql

    准备文件 1. 下载 MySQL LoadRunner libraries. 下载地址:http://files.cnblogs.com/files/xiaoxitest/MySQL_LoadRunn ...

  4. 测试mysql性能工具

    mysqlslap mysqlslap可以模拟服务器的负载,并输出计时信息.它包含在MySQL 5.1 的发行包中,应该在MySQL 4.1或者更新的版本中都可以使用.测试时可以执行并发连接数,并指定 ...

  5. 使用Jmeter测试MySQL性能——(2)多客户端配置

    在测试性能过程中,单个测试客户端可能存在性能瓶颈无法达到测试要求的压力.在这种情况下,可以设置jmeter的多客户端模式,然后通过一台控制端,同时控制多台PC上的客户端向服务器发送测试请求.若有4台P ...

  6. sysbench 测试mysql性能

    ===== #1sysbench --test=oltp --oltp-table-size=10000 --mysql-db=test --mysql-user=root --mysql-passw ...

  7. jmeter测试mysql性能

    1.下载jdbc.将jdbc解压,将mysql-connector-java-version-ga-bin.jar这个文件copy到jmeter/lib下 2.打开jmeter,设置jdbc请求. 1 ...

  8. 使用mysqlslap测试MySQL性能

    之前介绍过MySQL的性能测试工具sysbench, 这次介绍一个mysql自带的比较简单的性能测试命令mysqlslap. 下面的指令模拟了1000个进程同事连接mysql,并执行100个查询操作, ...

  9. ubuntu 18.04使用sysbench测试MySQL性能

    首先下载安装sysbench: sudo apt-get install sysbench -y 查看一下sysbench版本是多少: zifeiy@zifeiy-S1-Series:~$ sysbe ...

随机推荐

  1. you build it,you run it

    this article is almostly about  a book named Migrating_to_Microservices_Databases, and it's just the ...

  2. Welcome-to-Swift-18类型转换(Type Casting)

    类型转换是一种检查类实例的方式,并且哦或者也是让实例作为它的父类或者子类的一种方式. Type casting is a way to check the type of an instance, a ...

  3. 【Luogu】P2596书架(Splay)

    题目链接 通过这题我加深了对Splay的理解,原来Splay的子树也是可以接来接去接到别的点上的,而不是只能旋转qwq 具体接的办法就是swap大法. 对于Top操作我们把当前节点Splay到根,然后 ...

  4. 浅谈android反调试之 签名校验

    反调试原理 很多时候,我们都需要进行修改修改应用程序的指令,然后重打包运行,重新打包就需要充签名. 利用签名的变化我们用于反调试.反调试实现代码如下: 为了更加隐藏,比较函数可能在SO层进行实现,如下 ...

  5. [暑假集训--数位dp]LightOj1032 Fast Bit Calculations

    A bit is a binary digit, taking a logical value of either 1 or 0 (also referred to as "true&quo ...

  6. SHUoj 字符串进制转换

    字符串进制转换 发布时间: 2017年7月9日 18:17   最后更新: 2017年7月9日 21:17   时间限制: 1000ms   内存限制: 128M 描述 Claire Redfield ...

  7. 【HDOJ6217】BBP Formula(公式)

    题意:给定一个无穷项的分式,它的和等于π,问π的十六进制表示的小数点后第n位是多少 1 ≤ n ≤ 100000 思路:From https://blog.csdn.net/meopass/artic ...

  8. Codeforces663E. Binary Table

    $n \leq 20,m \leq 100000$的01矩阵,可整行整列01翻转,问最少剩几个1. 一个暴力的做法是枚举$2^n$种行翻转然后$m$列扫一遍.但其实在行翻转情况确定的情况下我们只关心两 ...

  9. eclipse 的SVN安装

    打开eclipse -> Help ->Install New Software选项, 点击Add按钮   根据需要,添加自己需要的版本svn控制器的版本,填写name和url,点击ok. ...

  10. Devexpress控件中gridcontrol Drag a column header here to group by that column 更换

    参照网站:http://documentation.devexpress.com/#WPF/DevExpressXpfGridDataViewBase_RuntimeLocalizationStrin ...