一、    准备

操作系统 :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. Shell-WEB目录监控

    #!/bin/sh #date:2015-12-08 #filename:check_webfile.sh #作者:李兴利 #Email:1162572407@qq.com #version:v1.1 ...

  2. Linux命令之用户与组管理

    介绍 Linux操作系统中,任何文件都归属某一特定的用户,而任何用户都隶属至少一个用户组.用户是否有权限对某文件进行访问.读写以及执行,受到系统严格约束的正式这种清晰.严谨的用户与用户组管理系统.在很 ...

  3. 【VS2015正式版下载】Visual Studio 2015 正式版开放下载 Visual Studio 2015 神key

    说明: 微软定于2015年7月20日发布Visual Studio 2015正式版,目前其官方网站已经提供正式版本的下载. 可在https://www.visualstudio.com/en-us/d ...

  4. 纯js滑动脚本

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  5. eclipse 插件 最新 eclipse4.x 插件

    Properties  Editor:  中文显示属性配置文件 help ——> install new  SoftWare ——>add Name: xx Location: http: ...

  6. Linux 编译安装httpsqs

    wget http://httpsqs.googlecode.com/files/libevent-2.0.12-stable.tar.gz tar zxvf libevent-2.0.12-stab ...

  7. CSS特殊性

    样式的优先级取决于特殊性,特殊性为0,0,0,0 Ø每个元素或伪元素选择器贡献特殊性为 0,0,0,1 Ø每个类.伪类或者属性选择器的特殊性为 0,0,1,0 Ø每个ID选择器的特殊性为 0,1,0, ...

  8. About abstract class.

    Abstract means should be realized. Virtual means could be overrided. It is very different!

  9. App 冷启动:给 Android 的 Activity 添加一个背景

    2016/8/8 11:11:18 # 纠错 之前写的这篇内容的知识点有误,给大家造成了误导,深感抱歉. android 中给 Activity 设置背景的方法是在 style 文件中设置 windo ...

  10. 关于zMPLS的设计解析

    zMPLS是一个关于mpls标准实现的开源软件,它起源于2002年6月份,项目终止于2006年,目前它已经可以支持ipv6,ipv4,ldp,cr-ldp,rsvp,rsvp-te等MPLS协议簇.该 ...