- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
应用LoadRunner进行数据库性能测试方法实例讲解.doc
网上订购地址: /39876
第4章 应用实例讲解
4.1 一种特殊的数据库性能测试方法
很多同志在进行数据方面性能测试时束手无策,前面在第二章的第二节我们已经介绍了如何应用ODBC协议录制LoadRunner 8.0自身带的“Flights-ODBC_Access”例子。这里作者为您提供另一种简便的方法。问题描述:一个面向全国各个中小学的信息管理系统,随着系统被广泛的应用,访问人数的急剧增加、数据量也在飞速增长,如何为用户提供方便、快捷的应用呢?
4.1.1 数据库集群项目背景介绍
经过公司相关技术人员的讨论,决定采用数据库的集群技术来解决这些问题,将先前1台数据应用服务器扩展为3台。数据库为Mysql,如果您关心数据库的集群技术,请查阅相关资料,在这里不再赘述。实施的整体思路是这样。由于操作人员主要是进行数据的插入工作,在某一段时间内操作人员比较集中,数据量也较大,为了估计集群后会给性能带来多大的提升,我们分别部署了两套运行环境,一套是先前的单一数据库应用服务器环境,另外一个则是三台数据库服务器进行集群。为了记录用户并发插入大数据量系统的响应时间,在相关表中添加了日期时间型字段,记录插入首条和末尾记录的时间,这样,末尾时间减去首条记录插入时间,就是多用户并发插入大批量数据的执行时间了。实施过程如下:第一步,数据库管理员用Java写了一段代码:
import java.sql.*;
public class testclus {
public static void main(String[] args) {
//如果传入参数个数不等于2,则给出提示信息调用:java testclus ip:port recordcnt
if (args.length!=2)
{
System.out.println(调用:java testclus ip:port recordcnt);
return;
}
//根据传入参数,动态建立连接字符串
String URL = jdbc:mysql:// +args[0]+/testclus?characterEncoding=gbk;
int cnt = Integer.parseInt(args[1]);
try {
//声明并得到起始记录插入时间
long timeBegin;
java.util.Date d1 = new java.util.Date();
//数据库连接初始化操作
Class.forName(com.mysql.jdbc.Driver).newInstance();
Connection conn = DriverManager.getConnection(URL,root,admin);
//循环插入记录
PreparedStatement pstmt = conn.prepareStatement(insert into test(cnt, timer)
values (?, now()));
Statement s=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_READ_ONLY);
timeBegin = d1.getTime();
for (int i=1; i=cnt; i++)
{
pstmt.setInt(1, i);
pstmt.executeUpdate();
ResultSet rs=s.executeQuery(select count(*) from test);
}
conn.close();
//得到末尾记录和起始记录插入的时间差值并输出
java.util.Date d2 = new java.util.Date();
System.out.println(d2.getTime()-timeBegin+ 毫秒);
}
//异常处理部分
catch(ClassNotFoundException e) {
System.out.println(找不到驱动程序);
e.printStackTrace();
}
catch(SQLException e) {
e.printStackTrace();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
接下来,再建立一个批处理文件,批处理文件内容如下:
@echo off
文档评论(0)