一、    准备

操作系统 :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. 代码段编辑器SnippetEditor 2.1

    1.选择程序版本 2.可以创建文件夹 3.新建片段 4.给片段取名 5.双击进行编辑 6.点击保存 7.直接使用

  2. JS简单实现图片切换

    <!DOCTYPE html><html> <head> <meta charset="utf-8" /> <title> ...

  3. XAML 概述

    我们将向 Windows 运行时应用开发人员介绍 XAML 语言和 XAML 概念,并介绍在使用 XAML 创建 Windows 运行时应用时,在 XAML 中声明对象和设置属性的不同方式. 什么是 ...

  4. Android -------- 网络访问数据

  5. linux局域网不能相互访问

    1.关闭防火墙 /etc/init.d/iptable stop   2.关闭selinux   1.临时禁用SELinux: root@server# setenforce 0  这样重启服务器之后 ...

  6. Swift 循环、数组 字典的遍历

    import Foundation // 数组声明 var arr = [String]() // 数组循环添加项 ...{ arr.append("Item \(index)") ...

  7. 用jQuery与JSONP轻松解决跨域访问的问题【转】

    原文地址:http://www.jb51.net/article/46463.htm 好在,有jquery帮忙,跨域问题似乎没那么难缠了.这次也借此机会对跨域问题来给刨根问底,结合实际的开发项目,查阅 ...

  8. php 之 数据访问 增删改查练习题

    练习题内容: 一.查看新闻页面-----主页面: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" ...

  9. python学习第十天 -- 函数

    稍微学过其他编程语言的人都应该了解函数的概念.在这里就不做过多的介绍. Python内置了很多有用的函数,我们可以也直接调用. 可以直接从Python的官方网站查看文档: http://docs.py ...

  10. $parse , $interpolate ,$complie , $destroy

    $parse 是angular 提供的javascript解析器 . var getter = $parse(expression); var setter = getter.assign; cont ...