一、    准备

操作系统 :Linux, 内核版本2.6

需要软件:tpccuva-1.2.3, postgresql-8.1.15, gnuplot-4.2.5。

tccuva是实现标准TPC-C。

Postgresql是最稳定的开源sql数据库。

gunplot是一个数学软件,可以根据数据画出相应的函数图形。

二、    安装

1.   创建用户

[root@RedHat /]# useradd -m tpcctest

[root@RedHat /]# passwd tpcctest(密码自行创建)

以tpcctest身份登录到系统

[root@RedHat /]# su tpcctest

[tpcctest@RedHat /]$

创建相关目录

tpcctest@linux:>mkdir $HOME/tpcc-uva

tpcctest@linux:>mkdir $HOME/tpcc-uva/pgsql

tpcctest@linux:>mkdir $HOME/tpcc-uva/bin

2.   安装PostgreSQL

1)执行下列命令安装PostgreSQL数据库

tpcctest@linux:> ./configure --prefix=$HOME/tpcc-uva/pgsql

tpcctest@linux:>gmake

tpcctest@linux:>gmake install

2)修改PATH和LD_LIBRARY_PATH环境变量。

3)编辑~/.bash_profile文件,添加以下内容

PATH=/usr/local/pgsql/bin:$PATH

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/pgsql/lib

export PATH LD_LIBRARY_PATH

4)执行下面的命令,使修改的环境变量生效。

tpcctest@linux :> source ~/.bash_profile

5)输入以下命令,检验环境变量的修改是否生效

tpcctest@linux:> which initdb

如果修改正确,则会输出以下信息

$HOME/tpcc-uva/bin/initdb

6) 启动PostgreSQL

tpcctest@linux:>initdb -D $HOME/tpcc-uva/pgsql/data

tpcctest@linux:> postmaster -D $HOME/tpcc-uva/pgsql/data >log.out 2>log.err&

每次重启系统后都要执行上面的命令来启动PostgreSQL。

7)修改PostgreSQL的参数

修改$HOME/tpcc-uva/pgsql/data/postgresql.conf

将#checkpoint_segments = 3 # in logfile segments (16MB each), min 1

替换为checkpoint_segments = 10 # in logfile segments (16MB each), min 1

将#checkpoint_timeout = 300 # in seconds, range 30-3600

替换为checkpoint_timeout = 3600 # in seconds, range 30-3600

8)强制PostgreSQL重新读取配置文件

tpcctest@linux:>killall -HUP postmaster

3.   安装gnuplot

解压gnuplot后,进入gnuplot的源代码的目录,执行下列命令安装

tpcctest@linux:> ./configure --prefix=$HOME/tpcc-uva/bin --without-x

tpcctest@linux:> make

tpcctest@linux:> make install

4.   安装tpcc-uva.

将tpcc-uva的安装包放在$HOME/tpcc-uva目录下

解压,进入解压后的目录,执行下列命令安装

tpcctest@linux:> make

tpcctest@linux:> make install

三、    使用tpcc-uva测试

个选项让用户选择。

1.   选项1Create a New Test Database(创建新的测试数据库)

这个选项允许用户创建一个新的数据库供tpcc-uva测试用,新创建的数据库惠子tpc-uva测试的工程中根据需要来填充。如果这个选项没有出现,说明数据库已经被创建了,新数据库被放在$HOME/tpcc-uva/pgsql/data目录下。

选了这个选项后,程序会问数据库需要包含几个数据仓库。数据仓库的数目在1~100之间。数据仓库越多,测试压力越大。

,处理能力强的机器数目可以相应增加。每个数据仓库占用137M的空间。

2.   选项2 Restore Existing Database (恢复存在的数据库)

这个选项撤销在测试过程中测试软件对数据库的修改,只有创建数据库之后这个选项才会出现。

如果使用恢复的数据库做测试,测试的结果可能会比用新创建的数据库做测试的结果差。另一方面恢复一个数据库的时间会比创建一个新数据库的时间少很多。一般推荐使用恢复的数据库做初步的测试

3.   选项3Run The Test(开始测试)

这个选项开始性能测试。只有当有数据库被创建或者被恢复时这个选项才会出现。

程序会询问用户用于测试的参数。这些参数包括:

Number of warehouses (数据仓库的个数):这个数字应该少于或等于存在数据库中的数据仓库的个数。

分钟。

小时~8小时。

次。

4.   选项4:Check Database Consistency(检查数据库一致性)

在经过确认之后,测试要在检查完数据库的一致性后开始。如果对某个表的检查失败,程序会要求用户确认后继续处理。虽然出错后仍然可以继续处理,但是仍然强力要求在出错时恢复或重构数据库。

5.   选项5Delete Database(删除数据库)

删除存在的数据库

6.   选项6Perform Data Analysis(执行数据分析)

这个选项让程序分析测试的结果数据。所有的信息包括检查点文件和清理的信息都在屏幕上显示。在屏幕上显示的信息还有用于生成性能分析图形的文件都会在当前路径下保存。在显示完后在屏幕上打印一条信息来通知用户测试是否通过了。

7.   选项7 Check Database State(检查数据库状态)

这个选项检查数据库的行数,并把得到的信息告诉用户。这个信息用来指导数据库是否在前一次测试中被使用过了。如果被使用过了,用户可以选择删除这个数据库并建立一个新数据库,或者恢复这个数据库并继续使用它。

8.   选项8 Quit(退出)

这个选项退出测试程序。创建的数据库会保留下次使用。

四、查看测试结果

1. 保存结果

可以查看测试结果。测试结果在屏幕上输出完毕后测试程序会提示是否需要保存结果,输入文件名后结果会保存到文件中(如gresult)。

greult中保存了测试的大体情况,对每种事务类型分别记录统计信息。在gresult文件中可以看到类似”NEW-ORDER TRANSACTIONS:”的标题,这就是对每种事物类型进行总结的开始。

在测试过程注意使用抓取系统信息:

次)

次)

测试结果如果是failed,具有参考意义;

注意:在当前目录下回生成很多文件,其数据具有参考意义,比如g4.dat文件可以用来画图,可以观察到数据的波动与走向。

2. 使用gnuplot画图

画的是吞吐率的图。

得到的记过替换561.gnp中的<4x90thPERCENTILE>。

Gnuplot生成的图片是以.eps结尾的,可以用photoshop打开.

五、附录

linux修改用户主目录方法:

第一:修改/etc/passwd文件

这个找到要修改的用户那几行,修改掉就可以了。

第二:usermod命令

TPCC-UVA测试环境搭建与结果分析的更多相关文章

  1. Linux测试环境搭建的学习建议

    随着Linux应用的扩展许多朋友开始接触Linux,根据学习Windwos的经验往往有一些茫然的感觉:不知从何处开始学起.这里介绍学习Linux测试环境搭建的一些建议. 一.Linux测试环境搭建从基 ...

  2. 总结Selenium自动化测试方法(二)测试环境搭建

    (接上期内容) 二.测试环境搭建 1.安装python 现在python3.0比python2.0多了一些改进的功能(详见http://zhidao.baidu.com/link?url=3sT1g7 ...

  3. https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    一:什么是https SSL(Security   Socket   Layer)全称是加密套接字协议层,它位于HTTP协议层和TCP协议层之间,用于建立用户与服务器之间的加密通信,确保所传递信息的安 ...

  4. 【转】https,https的本地测试环境搭建,asp.net结合https的代码实现,http网站转换成https网站之后遇到的问题

    正需要这个,写的很好,就转过来了 转自: http://www.cnblogs.com/naniannayue/ 一:什么是https SSL(Security   Socket   Layer)全称 ...

  5. 【转2】Appium 1.6.3 在Xcode 8 (真机)测试环境搭建 经验总结

    Appium 1.6.3 在Xcode 8 (真机)测试环境搭建经验总结 关于 Appium 1.6.3 在Xcode 8, 1真机上环境搭建问题更多,写此文章,供大家参考,让大家少走弯路. 在开始i ...

  6. 【转1】Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结

    Appium 1.6.3 在Xcode 8, iOS 10.2(模拟器)测试环境搭建 经验总结 关于 Appium 1.6.3 在Xcode 8, 10.2 的iOS模拟器上的问题很多,本人也差点放弃 ...

  7. Android测试环境搭建

    Android测试环境搭建 一.操作系统 使用Win7_64位操作系统.(可以用其他的系统,下面都是针对Win7 64位进行操作) 二.安装JDK 运行jdk-6u45-windows-x64.exe ...

  8. USDT(omniCore)测试环境搭建

    一.测试环境搭建. 注:由于window版本的omni出现同步不了的问题,推荐使用linux系统进行usdt测试链的搭建. 1.下载omnicore: wget https://bintray.com ...

  9. igmp组播测试环境搭建

    2.4G无线组播测试环境搭建: (1)组播源: VLC 或者 pixstream (2)无线: 2.4G AP (3)客户端PC: VLC播放器 有线直连 无线2.4G PC(组播源pixstream ...

随机推荐

  1. passwd的使用

    名称:passwd 使用权限:所有使用者 使用方式:passwd [-k] [-l] [-u [-f]] [-d] [-S] [username] 说明:用来更改使用者的密码 参数: -k  keep ...

  2. 通过 yum update 将系统从CentOS 6.2 升级到 CentOS 6.6 及升级过程中的简单排错

    本文说明 本文写于2014年的WP中,后WP停止维护,今天翻到此记录整理下,记录于此,方便日后查看. 话说那时候写博客真是认真啊~哈哈~ 升级前的系统信息 [root@thatsit ~]# unam ...

  3. Ajax (jquery)实现智能提示搜索框(in Django)

    搜索框输入搜索名字,从数据库中筛选名字, 如果有包含输入的字母的名字则以json格式返回并且显示在搜索框下:          html文件: <!DOCTYPE html> <ht ...

  4. MYSQL存储过程注释位置

    MYSQL数据库存储过程,像"#“和”/%%/“注释需要写在BEGIN,END语句块里面,否则保存不了,例如: CREATE PROCEDURE HelloWorld() BEGIN #大家 ...

  5. oracle数据库实验讲义-读书笔记(一)

    1.激活锁定的用户alter user scott account unlock identified by tiger;2.使用内含脚本建立scott用户@%oracle_home%\rdbms\a ...

  6. ArrayList 练习

    ArrayList list = new ArrayList(); Random rd = new Random(); ; i <; i++) { , ); //是否包含当前数字 if (!li ...

  7. ImportError No module named memcache

    ImportError: No module named memcache 没有找到windows下的memcache,我们就用linux下的包来安装 先下载memcache linux下的安装包 f ...

  8. nginx 配置以及常用命令

    windows下安装以及配置nginx http://jingyan.baidu.com/article/f3e34a12a9c1c3f5eb6535d4.html 1)下载地址: http://ng ...

  9. ORACLE主要的系统表和系统视图

    ORACLE主要的系统表和系统视图 1.系统表 ORACLE数据库的系统参数都存储在数据库中,可以通过SQLPLUS,以用户SYS进行查询.几个重要的表或者视图如下: v$controlfile:控制 ...

  10. PHP学习系列(1)——字符串处理函数(5)

    31.ord() 函数返回字符串第一个字符的 ASCII 值. 语法:ord(string) 例子 <?php echo ord("h"); echo ord("h ...