今天工作中需要对mysql进行性能测试

我尝试用LR来做;但是mysql需要现在电脑上安装一个OBDC的mysql驱动器,然后在电脑的管理工具中的数据源中加入这个mysql驱动,测试连接数据库成功,OK

返回LR,我们需要用到lr_db_connect这个函数来连接数据库,这个函数只有在webservice录制中才可用。

 Action()
{

//打开连接,注意DRIVER就是上面安装的  
   // int NumRows=0;
int i=0;
    lr_db_connect("StepName=databaseConnect",
"ConnectionString=DRIVER={MySQL ODBC 5.3 ANSI Driver};SERVER=58.215.41.2;PORT=3306;DATABASE=dbo;USER=XXXXXXX;PASSWORD=XXXXXXX;OPTION=3",
"ConnectionName=mysql",
"ConnectionType=ODBC",LAST);
lr_start_transaction("SQL");
while(i<1000){

lr_db_executeSQLStatement("StepName=PerformQuery",
"ConnectionName=mysql",
"SQLStatement=SELECT * FROM himall_members",
"DatasetName=MySQL",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=MySQL",
 "Action=PRINT",
 LAST);*/ //对数据库执行操作
lr_db_disconnect("StepName=disconnect",
"ConnectionName=mysql",LAST);
//ConnectionName的值与lr_db_connect中的ConnectionName值要相同
//与数据库断开连接

}

但是webservice需要支持websevice的license才能运行场景。

找到了一个超级license 支持所有类型 支持65000并发

 AEACFSJI-YJKJKJJKEJIJD-BCLBR
 
连接数据库进行测试,这样的并发测试场景最好只在一台压力机上运行,否则连接数据库会出错,比如会报错说:无法连接已关闭的资源,等等。localhost
 
结果分析:平均每个用户执行一次1000次查询的脚本的耗时为11s(回放时可知),那么每秒一个用户对系统的交互次数约为100次,若要1s中系统承受5000的并发数,就需要50个并发用户去执行这个脚本。

50个用户 每个用户每次执行1000次查询,那么在压力场景中的每秒钟查询次数就约为5000次(11/50*1000=1/5000),平均每次查询的响应时间是0.41s,

那么就是在5000的并发数的压力下集群数据库对读操作的响应时间为0.41s。

主要用于对集群后数据库性能优化的验证。当然其中的sql语句最好是基于常用业务的,这样结果更有用。

 
 
 
 

LR 测试数据库总结的更多相关文章

  1. windows 测试数据库的连接状况-udl方法

    udl是windows系统上,用于测试数据库的连接状态的测试软件. 使用方法: 1.建立一个空白文本 2.将文件的后缀名更改为*.udl 即可     文件内容一定为空 3.选择windows的“提供 ...

  2. 共享参数ContentProvider 类与数据库绑定,如何通过共享参数测试类,测试数据库的增删改查功能

    Intent可以传一个对象 当两个界面之间跳转时,需要传递一个对象过去,是通过使用Bundle类,并且实体类需要serializable实现序列化,传递方法如下: 定义一个静态常量作为key值 pub ...

  3. 第三篇--Jmeter测试数据库Mysql

    Jmeter模拟100用户访问Mysql数据库 1.将Mysql数据库的驱动[mysql-connector-java-5.1.15-bin.jar]放到jmeter的lib目录下,新建线程组100[ ...

  4. Windows MySQL测试数据库employees的导入

    一: 首先下载employees测试数据库 https://launchpad.net/test-db/ 二:用文本编辑器打开其中的employees.sql文件,将第38行的set storage_ ...

  5. python+Django+test 测试数据库生成报错

    前提: 使用Django自带的test进行单元测试. 问题描述: 运行:python manage.py test,报错,出现数据库乱码的现象,报错如下: Creating test database ...

  6. LR 测试http协议xml格式数据接口

    Action() { lr_start_transaction("T1"); web_custom_request("xxxxHTTPRequest", &qu ...

  7. 装服务器,测试数据库,简单的maven命令

    [说明]今天总体回顾一下:大概是早上装服务器,下午测试数据库,晚上了解简单的maven命令 一:今日完成 1)在远程服务器的tomcat 设置好管理员的登录账号 2)登录tomcat 的项目管理 查看 ...

  8. 导入MySQL测试数据库employee报错

    导入MySQL测试数据库employee 报错 下载地址:https://launchpad.net/test-db/ 上传解压: [root@001 ~]# tar xf employees_db- ...

  9. 记一次使用LR测试UDP和TCP的过程

    背景 最近项目要做性能测试,要出要一份性能报告,让我出一个有关Tcp和Udp的功能模块的测试,流程大概是这样,先走TCP协议协商一下会话,协商成功后走Udp收发数据. 有点简单啊,自己写个功能模块测一 ...

随机推荐

  1. Bootstrap系列 -- 37. 基础导航样式

    Bootstrap框架中制作导航条主要通过“.nav”样式.默认的“.nav”样式不提供默认的导航样式,必须附加另外一个样式才会有效,比如“nav-tabs”.“nav-pills”之类.比如右侧代码 ...

  2. Ztree异步加载自动展开节点

    在Ztree的官网Demo中,有自动展开的例子,是通过设置节点属性open:true来实现自动展开的,但是在异步加载中,这个属性设置为true也不会自动展开,因为open:true是指在有子节点的情况 ...

  3. [c#基础]值类型和引用类型的Equals,==的区别

    引言 最近一个朋友正在找工作,他说在笔试题中遇到Equals和==有什么区别的题,当时跟他说如果是值类型的,它们没有区别,如果是引用类型的有区别,但string类型除外.为了证实自己的说法,也研究了一 ...

  4. Symfony学习--目录和入口

    1 目录结构 根目录下有: app src vendor web app是存放应用的一些配置文件,如果有一些配置文件或者文档,应当存放在这里面. src是存放你的项目的php代码,这里的php至少必须 ...

  5. Winform中的PictureBox读取图像文件无法释放的问题

    今天做一拍照程序,相机SDK什么都搞定,就为了显示图像并且保存照片的步骤卡了半天. 原因是预览图像使用了PictureBox,载入图片文件的方式为: pictureBoxPhoto.Image = I ...

  6. [转载]ODAC (odp.net) 开发到部署

    1. 确定你开发机和服务器的操作系统是32位还是64位, 而且要确定要部署的服务器是什么操作系统; 2. 下载开发机和服务器所需的dll, 地址:http://download.csdn.net/de ...

  7. 【UVA 1586】Ancient Cipher

    题 题意 给你一个只含CHON的有机物的化学式如C6H5OH求相对分子质量 分析 ... 代码 switch #include<cstdio> #include<cctype> ...

  8. opencv笔记2:图像ROI

    time:2015年 10月 03日 星期六 12:03:45 CST # opencv笔记2:图像ROI ROI ROI意思是Region Of Interests,感兴趣区域,是一个图中的一个子区 ...

  9. BZOJ-2038 小Z的袜子(hose) 莫队算法

    2038: [2009国家集训队]小Z的袜子(hose) Time Limit: 20 Sec Memory Limit: 259 MB Submit: 5573 Solved: 2568 [Subm ...

  10. BZOJ2121 字符串游戏

    Description BX正在进行一个字符串游戏,他手上有一个字符串L,以及其 他一些字符串的集合S,然后他可以进行以下操作:对于一个在集合S中的字符串p,如果p在L中出现,BX就可以选择是否将其删 ...