使用orastress!進行資料庫壓力測試(zt)
轉自:http://tolywang.itpub.net/category/48/6037
關於該工具的官方網頁在這裡可以找到:
Orastress!你可以在,或選擇.
[@more@]該工具不是開源的,預設的只能使用一個session測試,你可以從作者那裡申請臨時Key,透過以下頁面我們可以獲得7天的無功能限制使用版:
Orastress!需要在windows上執行,你需要安裝Oracle客戶端.
收到Key以後,註冊方式如下:
C:orabm>orastress! 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類似,你可以參考方式.
具體安裝步驟如下:
# | 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@
日誌參考:
命令列執行方式如下:
orastress! –s sess-iterations-list –t transacts-per-sess –c tns-alias-list –m mode [ -s batchsize]
這裡需要如下引數: -s 指定session數量 -t 指定每個session執行的事物數量. -c 指定聯結串 -m 指定執行模式.包括Read OLTP INS DIO -s 指定對於INS或DIO模式下提交批次,預設是10000裡
Note: 如果 Orastress! 對單個Warehouse執行在read模式,那麼程式碼執行和orabm相同.
對於四種執行模式說明如下:
READ:Runs the identical read-only workload as Orabm to stress CPU and memory.
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.
INS:Runs an I/O intensive SQL INSERT workload by copying rows into the ITEM_INS table from the TPC-C ITEM table.
DIO:Runs an I/O intensive direct-path INSERT workload by copying rows into the ITEM_DIO table from the TPC-C ITEM table.
以下是一些執行舉例:
Example 1:
orastress! –s 1 –t 50000 –c inst1.world –m oltp
Run one iteration - comprising 50000 transactions in 1 session - against inst1.world.進行一組測試,透過一個session,包含50000個事務,對inst1.world資料庫進行測試.
Example 2:
orastress! –s 2 –t 50000 –c inst1.world,inst2.world –m oltp
Run 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:執行一組測試,對兩個資料庫(inst1.world,inst2.world)各發出兩個併發session,每個session執行50000個事務,這兩個資料庫可以是:
·2 instances of a RAC cluster
·different non RAC instances on the same server
·different non RAC instances on different servers (e.g. one on Linux, one on Solaris)
Example 3:
orastress! –s 1,2,4 –t 50000 –c inst1,inst2,inst3,inst4 –m read
Run 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:執行3組測試,分別以1,2,4個併發session對四個例項,各執行50000個事務:
1st iteration: 1 concurrent session on each instance, giving 4 sessions total
2nd iteration: 2 concurrent sessions on each instance, giving 8 sessions total
3rd iteration: 4 concurrent sessions on each instance, giving 16 sessions
--輸出結果:
Output 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:輸出結果和orabm非常類似,具體參考:
---begin mode=oltp sess=1 txn=5000 TNS=l Fri Sep 19 22:11:06 2003
LXD1.WORLD #1 w=3 txn(all)=5000 xn(sam)=3999 t(sam)=431 tps=92.8 end=190903-12:25:39
---end - Fri Sep 19 22:20:19 2003
在這裡簡單說明一下: 對於Benchmark測試來說,最重要的是標準,如果大家有統一的模型及標準,那麼測試資料也就有了意義,否則以不同的併發、資料進行各不相同的測試是不具有太大意義的. 標準、比較、參考,這對於測試來說是最重要的.
這裡有一篇文章可供參考:
效能測試指標介紹
以下給出我的一些測試資料:
1.10個Warehouse的測試資料
E:OraDocORACLE~4BENCHM~1ORASTR~1>"orastress!.exe" -s 1 -t 300 -c hsbill -m oltp ---begin mode=oltp sess=1 txn=300 TNS=hsbill Thu Sep 30 10:35:09 2004 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= 300904-10:34:38 ---end - Thu Sep 30 10:37:39 2004 E:OraDocORACLE~4BENCHM~1ORASTR~1>"orastress!.exe" -s 2 -t 300 -c hsbill -m oltp ---begin mode=oltp sess=2 txn=300 TNS=hsbill Thu Sep 30 10:41:40 2004 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 =300904-10:47:25 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 =300904-10:47:51 ---end - Thu Sep 30 10:50:51 2004 E:OraDocORACLE~4BENCHM~1ORASTR~1>"orastress!.exe" -s 2 -t 3000 -c hsbill -m oltp ---begin mode=oltp sess=2 txn=3000 TNS=hsbill Thu Sep 30 11:26:02 2004 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 (4.5%) end=300904-13:09:23 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 .9%) end=300904-13:13:50 ---end - Thu Sep 30 13:16:51 2004 |
2.5個warehouse的測試資料
E:OraDocORACLE~4BENCHM~1ORASTR~1>"orastress!.exe" -s 2 -t 300 -c hsbill -m oltp ---begin mode=oltp sess=2 txn=300 TNS=hsbill Thu Sep 30 15:48:20 2004 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= 300904-15:45:40 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= 300904-15:45:47 ---end - Thu Sep 30 15:48:47 2004 |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/73920/viewspace-969060/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle壓力測試之orastress!OracleAST
- JMeter使用jar進行壓力測試JMeterJAR
- webbench進行壓力測試Web
- 使用Jmeter進行RPC壓力測試JMeterRPC
- 使用ab對nginx進行壓力測試Nginx
- [資料庫]000 - ?Sysbench 資料庫壓力測試工具資料庫
- 在Rainbond上使用Locust進行壓力測試AI
- 關於資料庫壓力測試的故事資料庫
- NewSQL資料庫壓力測試工具系列——SysbenchSQL資料庫
- 使用 Twisted Python 和 Treq 進行 HTTP 壓力測試PythonHTTP
- 如何對你Mac進行壓力測試?Mac
- 用mysqlslap對MySQL進行壓力測試MySql
- 一次資料庫壓力測試的故事資料庫
- mysql之 mysql資料庫壓力測試工具(mysqlslap)MySql資料庫
- .net core 使用ConcurrentTest元件對方法進行壓力測試元件
- 如何對 ElasticSearch 叢集進行壓力測試Elasticsearch
- 對 Linux 核心進行壓力測試(轉)Linux
- 資料庫壓力測試工具tiobench,orion,lmbench,netperf資料庫
- 【SWINGBENCH】使用SwingBench對Oracle進行壓力測試Oracle
- 對node工程進行壓力測試與效能分析
- 利用jmeter進行資料庫測試JMeter資料庫
- 使用Bonnie進行系統IO效能測試 (zt)
- 使用SQL_TRACE進行資料庫診斷(zt)SQL資料庫
- nosql redis資料庫壓力測試基準工具redis-benchmarkSQLRedis資料庫
- ORACLE壓力測試Oracle
- laravel壓力測試Laravel
- MACOSXApacheab壓力測試MacApache
- NGINX壓力測試Nginx
- mysqlslap壓力測試MySql
- 壓力測試工具
- 小景的Dba之路--壓力測試和Oracle資料庫快取Oracle資料庫快取
- 使用LoadRunner進行壓力測試時如何選擇要錄製的協議?協議
- nginx壓力測試方法:Nginx
- 壓力測試指令碼指令碼
- Linux下使用壓力測試工具stressLinux
- (一)效能測試(壓力測試、負載測試)負載
- RestCloud測試平臺,支援壓力測試RESTCloud
- 多執行緒伺服器壓力測試執行緒伺服器