(完整版)数据库性能测试方法讨论

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
String sDbDriver = "com.*.*.*.*";
String sConnStr = "jdbc:*:*:ip_adress:port/sid";
private Connection conn = null;
private Statement stmt = null;
ResultSet rs = null;
{
{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;
//释放连接数据库的各种变量
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);
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);
1、 数据库调优;
2、 数据库选型;
3、 数据库服务器选型;
4、 其他;
下面,就针对于这些常用的需求,列举几个不同的实例,共享一下测试方法。
1) LOADRUNNER应用
测试任务:评估某项目的核心业务逻辑(数据查询、数据复用、抽取同步整合)在不同压力下的性能表现,判断系统瓶颈,得到最优系统配置参数和建议,并为数据库的试运行工作提供可靠的性能可行性依据;
数据查询性能指标:900个用户并发,平均响应时间在3秒以内;
数据库性能测试需求:数据库调优或服务器选型;
include "lrd.h"
Action()
{
static LRD_INIT_INFO InitInfo = {LRD_INIT_INFO_EYECAT};
static LRD_DEFAULT_DB_VERSION DBTypeVersion[] =
2) JAVA应用
测试任务:测试待选的数据库的性能;
数据查询性能指标:20个用户并发,每秒执行增删改语句数不少于1000条;
数据库性能测试需求:数据库选型;
import java.sql.*;
import java.util.Date;
import j源自文库va.util.Properties;
public class testsybase {
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);
数据库性能测试方法讨论
发布时间: 2008-5-04 16:18 作者: 陈嘉祥 王治 方耀等 来源: 51Testing投稿
字体:小中大|上一篇下一篇|打印|我要投稿|每周一问,答贴有奖
摘要:在LOADRUNNER中使用脚本和JAVA程序进行数据库性能测试。
关键词:LOADRUNNER,JAVA, Benchmark
一、 前言
在测试工作中经常需要对数据库进行性能测试,以对数据库进行调优,保证数据库的稳定和高效。
本文使用常用的性能测试工具LOADRUNNER,JAVA和专用数据库性能测试工具Benchmark,讨论数据库性能测试的不同方法,希望能抛砖引玉,寻找出更新更好的方法。
二、 任务引入
数据库性能测试的需求,一般来源于下面几个方面:
public testsybase()
{
try {
Class.forName(sDbDriver);
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);
//初始化连接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);
return 0;
}
上面的LoadRunner脚本在Virtual User Generator调试通过后,在Controller中打开,用900个模拟用户并发测试,即可得出性能指标(LoadRunner的操作这里就不在赘述,google一下)。
从上面的例子看出,此应用比较难懂,是LoadRunner专属的方法,而且可扩展性不强。如果再遇到其他类型的数据库测试,协议将会是一个很大的问题。所以,为了容易理解,可扩展性强,引出了下面的JAVA应用方法。
//设定查询语句
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);
相关文档
最新文档