|
小弟使用LoadRunner对本地另一台计算机上的MYSQL进行压力测试(进程数为25)
测试机上不停的刷新show processlist;,偶尔会看到有1-2条进程是在执行查询语句,其它全部是login状态,求解。
我用的测试脚本为
- #include "lrd.h"
- Action()
- {
- static LRD_INIT_INFO InitInfo = {LRD_INIT_INFO_EYECAT};
- static LRD_DEFAULT_DB_VERSION DBTypeVersion[] =
- {
- {LRD_DBTYPE_ODBC, LRD_DBVERSION_ODBC_30},
- {LRD_DBTYPE_NONE, LRD_DBVERSION_NONE}
- };
- static LRD_CONTEXT FAR * Ctx1;
- static LRD_CONNECTION FAR * Con1;
- static LRD_CURSOR FAR * Csr1;
- //上面的定义的代码如果录制脚本,在vdf.h中就有定义,同时还有一些其他文件
- //如果手写脚本,则需要手工添加,主要是定义各种变量
- //查询行数
- unsigned long count=0;
- //初始
- lrd_init(&InitInfo, DBTypeVersion);
- //打开上下文
- lrd_open_context(&Ctx1, LRD_DBTYPE_ODBC, 0, 0, 0);
- //申请连接的内存
- lrd_alloc_connection(&Con1, LRD_DBTYPE_ODBC, Ctx1, 0 /*Unused*/, 0);
- //打开连接,注意DRIVER就是上面安装的
- lrd_open_connection(&Con1, LRD_DBTYPE_ODBC, "", "","", "DRIVER=MySQL ODBC 5.1 Driver;UID=root;PWD=abc123456;SERVER=192.168.1.10;DATABASE=test10", Ctx1, 1, 0);
- //打开游标
- lrd_open_cursor(&Csr1, Con1, 0);
- //Sql语句,注意1代表的意思是,立马执行
- lrd_stmt(Csr1, "select * from smsc_mt_20110701_dm_lie where SM_ID='{NewParam}'", -1, 1, 0 /*None*/, 0);
- //统计行数到count变量中
- lrd_row_count(Csr1, &count, 0);
- //打印消息
- lr_message("count= %d",count);
- //先关闭游标
- lrd_close_cursor(&Csr1, 0);
- //再关闭连接
- lrd_close_connection(&Con1, 0, 0);
- //释放连接,和alloc相呼应,否则有内存泄露
- lrd_free_connection(&Con1, 0 /*Unused*/, 0);
- //再关闭上下文
- lrd_close_context(&Ctx1, 0, 0);
- //完毕,返回0
- return 0;
- }
复制代码
我已经试过把本地MYSQL ODBC的驱动更新到最新,可问题依旧,求解~ |
|