Use Orastress! to test your database

|

原文链接:

http://www.eygle.com/special/Use.Orastress.2.Test.Oracle.db.htm

** Orastress! ** 的作者是 Geoff Ingram ,也就是我们前面介绍的orabm的作者,他曾经为Oracle工作数年,是 High Performance Oracle" (ISBN: 0471224367) 一书的作者.
该书现在你可以在 本站下载 .

关于该工具的官方网页在这里可以找到:

http://www.linxcel.co.uk/orabm/index.html

** Orastress! ** 你可以在 原网站下载 ,或选择 本地下载 .

该工具不是开源的,缺省的只能使用一个session测试,你可以从作者那里申请临时Key,通过以下页面我们可以获得7天的无功能限制使用版:

http://www.linxcel.co.uk/7505/10218_trialkey_orastress!.html

** Orastress! ** 需要在windows上运行,你需要安装Oracle客户端.

收到Key以后,注册方式如下:

|

> > C:\orabm>orastress!
> > > Serial: D5F8-C0A0 > > After receiving the key, install as follows by entering the Name and Key into the dialog box that displays when you run: > > C:\orabm>orastress! register


** Orastress! ** 需要的数据和orabm类似,你可以参考 Orabm的安装 方式.

具体安装步骤如下:

** # **

|

** Operation **

|

** Command **

---|---|---

1

|

create the ORABM user (assumes TOOLS tablespace, TEMP temporary tablespace)

|

sqlplus system/pwd @orabm_user

2

|

create the tables

|

sqlplus system/pwd @orabm_tab

3

|

load the data

|

$ orabmload Warehouses n

4

|

create the indexes

|

sqlplus system/pwd @orabm_ind

5

|

analyze the tables and indexes

|

sqlplus system/pwd @orabm_analyze

6

|

Ensure ORABM can run the DBMS_LOCK package

|

As SYS run:

GRANT EXECUTE ON DBMS_LOCK TO ORABM

注意:这里构建的如果是10个Warehouses的数据,那么大约需要1G的空间.
这里我建议对单节点数据库分别采用1,2,3,5,10个Warehouses进行1,2,4,6,10个并发的50000个事务的测试.
对于多节点RAC建议采用1,2,3,5,10个Warehouses进行1,3,4,7,10个并发的50000个事务的测试 .

这一部分安装日志可以参考: 安装日志

得到测试数据以后,还需要运行如下脚本:

sqlplus orabm/orabm@

  1<your-tns-alias> @orastress_tab.sql    
  2sqlplus orabm/orabm@<your-tns-alias> @orastress.plh    
  3sqlplus orabm/orabm@<your-tns-alias> @orastress.plb 
  4
  5日志参考: windows日志 
  6
  7命令行执行方式如下: 
  8
  9** orastress! –s _sess_ \- _iterations-list_ –t _transacts-per-sess_ –c _tns-alias-list_ –m _mode_ [ -s _batchsize_ ]  **
 10
 11这里需要如下参数:   
 12-s 指定session数量   
 13-t 指定每个session执行的事物数量.   
 14-c 指定联结串   
 15-m 指定运行模式.包括Read OLTP INS DIO   
 16-s 指定对于INS或DIO模式下提交批量,缺省是10000里 
 17
 18Note: 如果 Orastress! 对单个Warehouse运行在read模式,那么代码执行和orabm相同. 
 19
 20对于四种运行模式说明如下: 
 21
 22**READ** :Runs the identical read-only workload as Orabm to stress CPU and memory. 
 23
 24**OLTP** :Uses all five TPC-C transactions: New-Order, Order-Status, Payment, Stock-Level and Delivery, in order to generate a mixed-transaction (SQL INSERT/UPDATE/DELETE) OLTP workload which stresses CPU, memory, and I/O. 
 25
 26**INS** :Runs an I/O intensive SQL INSERT workload by copying rows into the ITEM_INS table from the TPC-C ITEM table. 
 27
 28**DIO** :Runs an I/O intensive direct-path INSERT workload by copying rows into the ITEM_DIO table from the TPC-C ITEM table. 
 29
 30以下是一些运行举例: 
 31
 32Example 1: 
 33
 34**orastress! –s 1 –t 50000 –c inst1.world –m oltp**
 35
 36Run one iteration - comprising 50000 transactions in 1 session - against inst1.world.    
 37进行一组测试,通过一个session,包含50000个事务,对inst1.world数据库进行测试. 
 38
 39Example 2: 
 40
 41** orastress! –s 2 –t 50000 –c inst1.world,inst2.world –m oltp  **
 42
 43Run one iteration comprising 2 concurrent sessions of 50000 transactions on each of inst1.world,inst2.world giving a total of 4 concurrent sessions.The location of the instances specified by inst1.world,inst2.world is entirely down to the user. They could be:    
 44运行一组测试,对两个数据库(inst1.world,inst2.world)各发出两个并发session,每个session运行50000个事务,这两个数据库可以是: 
 45
 46·  2 instances of a RAC cluster 
 47
 48·  different non RAC instances on the same server 
 49
 50·  different non RAC instances on different servers (e.g. one on Linux, one on Solaris) 
 51
 52Example 3: 
 53
 54** orastress! –s 1,2,4 –t 50000 –c inst1,inst2,inst3,inst4 –m read  **
 55
 56Run 3 iterations each of 50000 transactions on each of four instances: inst1, inst2, inst3 and inst4, where the number of concurrent sessions in each iteration is:    
 57运行3组测试,分别以1,2,4个并发session对四个实例,各执行50000个事务: 
 58
 591st iteration: 1 concurrent session on each instance, giving 4 sessions total 
 60
 612nd iteration: 2 concurrent sessions on each instance, giving 8 sessions total 
 62
 633rd iteration: 4 concurrent sessions on each instance, giving 16 sessions 
 64
 65##  Results Output  \--输出结果: 
 66
 67Output is very similar to Orabm, showing the transactions per second for each session in each iteration and the transaction split between the five TPC-C transactions for OLTP mode:    
 68输出结果和orabm非常类似,具体参考: 
 69
 70http://www.eygle.com/special/Use.orabm.2.Test.System.CPU.htm 
 71
 72\---begin mode=oltp sess=1 txn=5000 TNS=l Fri Sep 19 22:11:06 2003 
 73
 74LXD1.WORLD #1 w=3 txn(all)=5000 xn(sam)=3999 t(sam)=431 tps=92.8 end=190903-12:25:39 
 75
 76\---end - Fri Sep 19 22:20:19 2003 
 77
 78在这里简单说明一下:   
 79对于Benchmark测试来说,最重要的是标准,如果大家有统一的模型及标准,那么测试数据也就有了意义,否则以不同的并发、数据进行各不相同的测试是不具有太大意义的.   
 80标准、比较、参考,这对于测试来说是最重要的. 
 81
 82这里有一篇文章可供参考: 
 83
 84性能测试指标介绍 
 85
 86以下给出我的一些测试数据: 
 87
 881.10个Warehouse的测试数据 
 89
 90&gt; 
 91&gt;      
 92&gt;     E:\OraDoc\ORACLE~4\BENCHM~1\ORASTR~1&gt;"orastress!.exe" -s 1 -t 300 -c hsbill -m oltp
 93&gt;     ---begin mode=oltp sess=1 txn=300 TNS=hsbill Thu Sep 30 10:35:09 2004
 94&gt;     HSBILL.HURRAY.COM.CN#1 w=3 txn(all)=300 xn(sam)=239 t(sam)=120 tps=2 d=13(5.4%) n=102(42.7%) o=6(2.5%) p=112(46.9%) s=6(2.5%) end=
 95&gt;     300904-10:34:38
 96&gt;     ---end - Thu Sep 30 10:37:39 2004
 97&gt;     
 98&gt;     E:\OraDoc\ORACLE~4\BENCHM~1\ORASTR~1&gt;"orastress!.exe" -s 2 -t 300 -c hsbill -m oltp
 99&gt;     ---begin mode=oltp sess=2 txn=300 TNS=hsbill Thu Sep 30 10:41:40 2004
100&gt;     HSBILL.HURRAY.COM.CN#1 w=4 txn(all)=300 xn(sam)=239 t(sam)=469 tps=.5 d=12(5%) n=103(43.1%) o=13(5.4%) p=101(42.3%) s=10(4.2%) end
101&gt;     =300904-10:47:25
102&gt;     HSBILL.HURRAY.COM.CN#1 w=4 txn(all)=300 xn(sam)=239 t(sam)=314 tps=.8 d=11(4.6%) n=92(38.5%) o=10(4.2%) p=119(49.8%) s=7(2.9%) end
103&gt;     =300904-10:47:51
104&gt;     ---end - Thu Sep 30 10:50:51 2004
105&gt;     
106&gt;     E:\OraDoc\ORACLE~4\BENCHM~1\ORASTR~1&gt;"orastress!.exe" -s 2 -t 3000 -c hsbill -m oltp
107&gt;     ---begin mode=oltp sess=2 txn=3000 TNS=hsbill Thu Sep 30 11:26:02 2004
108&gt;     HSBILL.HURRAY.COM.CN#1 w=8 txn(all)=3000 xn(sam)=2399 t(sam)=4991 tps=.5 d=109(4.5%) n=1016(42.4%) o=116(4.8%) p=1050(43.8%) s=108
109&gt;     (4.5%) end=300904-13:09:23
110&gt;     HSBILL.HURRAY.COM.CN#1 w=4 txn(all)=3000 xn(sam)=2399 t(sam)=5432 tps=.4 d=87(3.6%) n=997(41.6%) o=128(5.3%) p=1070(44.6%) s=117(4
111&gt;     .9%) end=300904-13:13:50
112&gt;     ---end - Thu Sep 30 13:16:51 2004
113&gt;     					    
114  
115---  
116  
1172.5个warehouse的测试数据 
118
119&gt; 
120&gt;      
121&gt;     E:\OraDoc\ORACLE~4\BENCHM~1\ORASTR~1&gt;"orastress!.exe" -s 2 -t 300 -c hsbill -m oltp
122&gt;     ---begin mode=oltp sess=2 txn=300 TNS=hsbill Thu Sep 30 15:48:20 2004
123&gt;     HSBILL.HURRAY.COM.CN#1 w=2 txn(all)=300 xn(sam)=239 t(sam)=13 tps=18.4 d=7(2.9%) n=97(40.6%) o=9(3.8%) p=119(49.8%) s=7(2.9%) end=
124&gt;     300904-15:45:40
125&gt;     HSBILL.HURRAY.COM.CN#1 w=5 txn(all)=300 xn(sam)=239 t(sam)=19 tps=12.6 d=7(2.9%) n=97(40.6%) o=11(4.6%) p=112(46.9%) s=12(5%) end=
126&gt;     300904-15:45:47
127&gt;     ---end - Thu Sep 30 15:48:47 2004
128&gt;     						  
129  
130---</your-tns-alias></your-tns-alias></your-tns-alias>
Published At
Categories with 数据库类
Tagged with
comments powered by Disqus