数据库的性能测试

性能测试工具 LoadRunner   数据库性能测试工具:Benchmark

任务引入
        数据库性能测试的需求,一般来源于下面几个方面:
1、 数据库调优;
2、 数据库选型;
3、 数据库服务器选型;

1)  LOADRUNNER应用
        测试任务:评估某项目的核心业务逻辑(数据查询、数据复用、抽取同步整合)在不同压力下的性能表现,判断系统瓶颈,得到最优系统配置参数和建议,并为数据库的试运行工作提供可靠的性能可行性依据;
        数据查询性能指标:900个用户并发,平均响应时间在3秒以内;
        数据库性能测试需求:数据库调优或服务器选型;
include "lrd.h"

Action()
{
static LRD_INIT_INFO InitInfo = {LRD_INIT_INFO_EYECAT};

static LRD_DEFAULT_DB_VERSION DBTypeVersion[] =
{
        {LRD_DBTYPE_NONE, LRD_DBVERSION_NONE}
};

static void FAR *       OraEnv1;
static void FAR *       OraSvc1;
static void FAR *       OraSrv1;
static void FAR *       OraSes1;
static void FAR *       OraStm1;
unsigned long           rownum;

lrd_init(&InitInfo, DBTypeVersion);
lrd_initialize_db(LRD_DBTYPE_ORACLE,3, 0);
lrd_env_init(LRD_DBTYPE_ORACLE, &OraEnv1, 0, 0);
lrd_ora8_handle_alloc(OraEnv1, SVCCTX, &OraSvc1, 0);
lrd_ora8_handle_alloc(OraEnv1, SERVER, &OraSrv1, 0);
lrd_ora8_handle_alloc(OraEnv1, SESSION, &OraSes1, 0);

//连接数据库
lrd_server_attach(OraSrv1, "vmvare_192.168.1.47", -1, 0, 0);
lrd_ora8_attr_set_from_handle(OraSvc1, SERVER, OraSrv1, 0, 0);

//设定数据库密码
lrd_ora8_attr_set(OraSes1, USERNAME, "username", -1, 0);
lrd_ora8_attr_set(OraSes1, PASSWORD, "password", -1, 0);

//初始化连接session
lrd_ora8_attr_set_from_handle(OraSvc1, SESSION, OraSes1, 0, 0);

//开始连接数据库
lrd_session_begin(OraSvc1, OraSes1, 1, 0, 0);
lrd_ora8_handle_alloc(OraEnv1, STMT, &OraStm1, 0);

//设定查询语句
lrd_ora8_stmt(OraStm1, "SELECT * FROM T_TASK_ALARM_TYPE WHERE TYPE_CODE=7", 1, 0, 0);

//执行查询语句
lrd_ora8_exec(OraSvc1, OraStm1, 0, 0,&rownum, 0, 0, 0, 0, 1);

//释放连接数据库的各种变量
lrd_handle_free(&OraStm1, 0);
lrd_session_end(OraSvc1, OraSes1, 0, 0);
lrd_server_detach(OraSrv1, 0, 0);
lrd_handle_free(&OraEnv1, 0);

//lrd_end(0);
 return 0;
}
        上面的LoadRunner脚本在Virtual User Generator调试通过后,在Controller中打开,用900个模拟用户并发测试,即可得出性能指标(LoadRunner的操作这里就不在赘述,google一下)。
        从上面的例子看出,此应用比较难懂,是LoadRunner专属的方法,而且可扩展性不强。如果再遇到其他类型的数据库测试,协议将会是一个很大的问题。所以,为了容易理解,可扩展性强,引出了下面的JAVA应用方法。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值