今天工作中需要对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. 魅蓝Note2 在Android Studio 与 Eclipse中无法被检测到

    昨天到手的Note2 结果发现测试不了,一看魅蓝的版本是android 5.1,然后更新的自己的SDK. 最后…… 仍然不能识别到手机. ———————————— 今天在stackoverflow上搜 ...

  2. 云计算之路-阿里云上:2014年6月12日16:14遭遇SLB故障

    这是今天遇到的第3次故障,故障是首先被园友发现的,访问园子出现来自SLB的错误提示:400 Bad Request - Powered by Tengine. 查看Windows性能监视器发现,在故障 ...

  3. Object C学习笔记15-协议(protocol)

    在.NET中有接口的概念,接口主要用于定义规范,定义一个接口关键字使用interface.而在Object C 中@interface是用于定义一个类的,这个和.NET中有点差别.在Object C中 ...

  4. SQL温故系列两篇(一)

    1.不允许保存更改.您所做的更改要求删除并重新创建以下表 关于SQL2008 “不允许保存更改.您所做的更改要求删除并重新创建以下表. 打开SQL SERVER 2008 工具-->选项--&g ...

  5. [BZOJ 1085][SCOI2005]骑士精神(IDA*)

    题目:http://www.lydsy.com:808/JudgeOnline/problem.php?id=1085 分析: 首先第一感觉是宽搜,但是空间需要8^15*5*5,明显不够,又鉴于最大深 ...

  6. [AaronYang]C#人爱学不学8[事件和.net4.5的弱事件深入浅出]

    没有伟大的愿望,就没有伟大的天才--Aaronyang的博客(www.ayjs.net)-www.8mi.me 1. 事件-我的讲法 老师常告诉我,事件是特殊的委托,为委托提供了一种发布/订阅机制. ...

  7. Bootstrap3.0学习第七轮(按钮)

    详情请查看http://aehyok.com/Blog/Detail/13.html 个人网站地址:aehyok.com QQ 技术群号:206058845,验证码为:aehyok 本文文章链接:ht ...

  8. 第二十六课:jQuery对事件对象的修复

    因为原生的event对象,在不同浏览器下,有不同的属性和方法,因此需要用jQuery进行兼容. jQuery在这里分两步走,首先创建一个伪事件类jQuery.Event(jQuery里面自定义的事件类 ...

  9. linux 查看服务器性能常用命令

    一.top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器   下面详细介绍它的使用方法.top是一个动态显示过程,即可以通过用户按键来 ...

  10. Java基础-字面值

    在Java源代码中,字面值用于表示固定的值(fixed value).数值型的字面值是最常见的,字符串字面值可以算是一种,当然也可以把特殊的null当做字面值.字面值大体上可以分为整型字面值.浮点字面 ...