亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

[Oracle]利用開源工具實現自己的TPC-C

2024-08-29 13:48:13
字體:
來源:轉載
供稿:網友

  
[Oracle] How to Use Open Source Tools to Implement Your Own TPC-C

作者:Fenng
日期:Mar 14 2004 (v0.13)
站點:Http://www.dbanotes.net


本文簡介

介紹如何利用開源工具實現Oracle數據庫環境中的TPC-C.對DBA、開發人員、BI實施者有一定的參考價值.

引言描述

設想一下這樣一種情況:

您正在負責公司的一個OLTP類型的數據庫項目,面臨數據庫服務器選型的問題:如何選擇硬件才能滿足產品環境的業務要求? 這個事情是“拍腦袋” 能決定的嗎?

不可否認,硬件選型是一門藝術,選擇合適的硬件,能給公司節省大筆的費用,選擇不能滿足業務需求的服務器產品,不但花了冤枉錢,還會對將來的業務產生影響。

可能大家首先會想到參考服務器的TPC-C的信息。提到TPC-C,可能很多人對此都感到既熟悉又生疏,因為經常聽人說起,但是具體的問下去,能說清楚的又沒有多少人,而且,從大家口中得到的還不盡相同。那么什么是TPC/TPC-C這些都代表什么意思呢?

什么是TPC?

TPC(Transaction PRocessing Performance Council,事務處理性能委員會)是一個非盈利性的組織,其官方站點在http://www.tpc.org。其宗旨是為了制定商務應用基準程序(Benchmark)的標準規范,提供性能和價格度量,并治理測試結果的發布。在業界極其具有權威性。

TPC的基準程序的標準規范(Standard Specification)是對公共開放的,可以在官方站點上得到,但是TPC卻不提供基準程序的代碼。任何軟硬件廠商或其它測試者可以根據標準規范,最優地構建自己待測的系統。為保證測試結果的客觀性,被測試者(通常是廠家)必須提交給TPC一套完整的報告(Full Disclosure Report),包括被測系統的具體配置、分類價格和包含五年維護費用在內的總價格。該報告必須由TPC授權的審核員核實(TPC本身并不做審計)。

什么是tpmC?

先說一下TPC-C,TPC-C是聯機事務處理(on-line transaction processing , OLTP)的基準程序。TPC-C模擬一個批發商的貨物治理環境。TPC-C使用三種性能和價格度量,其中性能由TPC-C吞吐率衡量,單位是tpmC。tpm是transactions per minute的簡稱;C指TPC中的C基準程序。它的定義是每分鐘內系統處理的新訂單個數。

了解了這些內容,您可能會想:我們公司的PC服務器完全是自己攢出來的,如何進行TPC-C的衡量的?也去參考TPC官方站點上的信息?不要忘了,TPC.org 上公布的測試結果都是各大廠商根據自己的系統進行了充分優化之后的出來的結果。打個比方,TPC公布的數值就好比嶄新的法拉利跑車經過專業技師們的精心檢查保養,然后在專用跑道上跑出來的速度值,而我們的情況可能是法拉利(甚至是夏利)要在鄉村土路上行駛,可比性大打折扣。

有的朋友會想:那我們可以根據自己的情況,拿一個秒表在“鄉村土路”上測試一下看看呀。這樣的意義也是顯而易見的,對我們的實際的環境不是更具有參考價值?不錯,這也正是本文的目的:讓我們利用開源(Open Source)工具來實現自己的針對Oracle數據庫的TPC-C。

Hammerora—The Open Source Oracle Load Test Tool


首先介紹一下Hammerora。從創作者對這個工具的標題描述可以看出,Hammerora是一款Oracle數據庫負載測試工具。該工具可以在Oracle 8i、9i和10g等版本上使用。
當前可以用在linux/Unix和Windows上.初步實現了跨平臺.Hammerora 完全用TCL/TK寫就,以GPL版權形式發布。作者是Steve Shaw。
該項目的主頁在:http://sourceforge.net/projects/hammerora/ 。

 



圖1: Hammerora的Logo

 

Hammerora的設計原理是解析Oracle的Trace文件,并把它們轉化為Oratcl程序,然后在Oracle數據庫中用多個用戶并發的對用戶的事務進行“回放”。我們知道,Oracle的Trace文件能夠翔實的記錄用戶對數據庫的操作。這樣Hammerora能夠保證對用戶環境的真實模擬。

Hammerora最初是用以學習的目的:期望是模擬數據庫的一定數量的用戶。這樣一個小的基于家庭的學習開發系統就能夠比較接近產品環境。這個工具已經成長為一個Oracle數據庫做壓力測試--從小的數據庫到大的基于RAC的集群。

TCL語言已經用來提供高性能的和Oracle數據庫的OCI集成,而無需重新編譯生成的程序。每個生成的程序具有嚴格的TCL/Oratcl兼容性,并且可以在Hammerora的命令行Shell下運行。TCL的強大功能和靈活性意味著潛在的功能是無窮盡的。TCL線程包用來實現對Oracle數據庫的多個并發連接。

Hammerora包含Oracle存儲過程和TCL驅動腳本用來運行TPC-C基準程序。
但是,我們先要構建一個同TPC-C規范相符的數據庫。這樣,我們需要用到Orabm。

Orabm

Orabm是Geoff Ingram (High-Performance Oracle: Proven Methods for
Achieving Optimum Performance and Availability一書的作者)構建的一個程序包,包含了一套SQL腳本和幾個命令行程序。Orabm數據裝載程序(Orabmload)構建了一組遵從TPC-C標準的數據用以測試。Orabm的程序包和源代碼可以從它的主頁面http://www.linxcel.co.uk/orabm/ 得到。

Orabm的運行機制

Orabm的運行機制在Geoff Ingram有明確的說明,這里翻譯如下:Orabm 通過在每個用戶指定的并發數據庫會話(session)中運行用戶執行數量的數據庫事務來進行工作.事務通過ORABM模式下的ORABM_SERVERSIDE_STRESS存儲過程運行.
對每個并發會話來說,ORABM_SERVERSIDE_STRESS 運行在orabm命令行下指定的事務數,并返回該會話在采樣間隔完成時的TPS值.要確保所有并發會話都是在采樣間隔期間處理事務,TPS值僅包括事務的中間的80%,也即:初始的10%和最后的10%將忽略掉.

更具體信息可以參考http://www.linxcel.co.uk/orabm/的內容.

安裝步驟

1 安裝Oracle OCI 庫

對Oracle 9i 來說,假如沒有安裝該組件的話,可能要重新運行runInstall,在Oracle 9i Client prodUCts樹中選擇"Oracle Call Interfaces" .

對Oracle 10g來說,Oracle 10 OCI 庫應該是默認安裝的.

2 安裝TCL

cd /usr/local/src/tcl8.4.5/unix

rm -f config.cache

./configure --enable-threads --enable-shared

make clean

make

make install

3 安裝TK

cd /usr/local/src/tk8.4.5/unix

rm -f config.cache

./configure --with-tcl=../../tcl8.4.5/unix --enable-threads --enable-shared

make clean

make

make install

4 安裝TCL Threads

cd /usr/local/src/thread2.5.2/unix

rm -f config.cache

sh ../configure --enable-threads --enable-shared

make clean

make

make install

5 安裝Oratcl

對10g來說,要編輯配置文件,在1728 行四周, FOUND_ORACLE=0 那一行的下面添加如下部分內容:
                                                                               
echo "checking for Oracle 10.0 style toplevel (libclient10.a)" 1>&6
echo "configure:1730: checking for Oracle 10.0 style toplevel (libclient10.a)" >&5
for f in $oracle_Directory $oratest1 $oratest2 $oratest3 $oracle4 /opt/oracle /u/oracle /usr/oracle /usr/local/oracle ; do
    echo "$ac_t""looking for lib/libclient10.a in $f" 1>&6
    if test -r "$f/lib/libclient10.a" ; then
        ORA="$f/lib"
        ORACLE_HOME=$f
        echo "$ac_t""setting ORA to $ORA" 1>&6
        testver=10
        ORA_MAJOR_VERSION=10
        ORA_MINOR_VERSION=0
        FOUND_ORACLE=1
        break
    fi
done

eXPort ORACLE_HOME=your_oracle_home_directory

cd /usr/local/src/oratcl-4-1-branch/unix rm -f config.cache

sh ../configure --with-tcl=../../tcl8.4.5/unix --with-oracle-directory=$ORACLE_HOME --with-oracle-version=9 ( or 10 or 8! ) --enable-threads --enable-shared
注:紅色部分為針對不同的數據庫版本需要做的調整.

vi Makefile – 把所有的 -rpath 改做 -Wl,-rpath,

make clean

make

make install

sqlplus orabm/orabm @delivery_sp.sql      
sqlplus orabm/orabm @new_order_sp.sql .
sqlplus orabm/orabm @ostat_sp.sql 
sqlplus orabm/orabm @payment_sp.sql 
sqlplus orabm/orabm @slev_sp.sql

 
步驟操作
命令
1創建 ORABM用戶(用TOOLS做默認表空間, TEMP 表空間為臨時表空間)
sqlplus system/pwd @orabm_user

2

創建表

sqlplus system/pwd @orabm_tab

3

裝載數據

$orabmload Warehouses 1

4

創建索引

sqlplus system/pwd @orabm_ind

5

分析表和索引

sqlplus system/pwd @orabm_analyze

6

創建壓力測試PL/SQL 過程

sqlplus system/pwd @orabm_serverside_stress

7

把表和索引數據緩沖到SGA

sqlplus system/pwd @orabm_cache

把tpc-c.tcl腳本載入Hammerora中(remember to change the file filter from *.trc to *.tcl to see TCL files),在該tpc-c.tcl中查找connect字符串,調整為你的數據庫用戶連接信息。
并調整虛擬用戶信息。


測試運行


運行Hammerora,創建需要的用戶數, 來模擬TPC-C 基準程序(注重調整好執行Hammerora程序的環境變量,最好直接用Oracle用戶來執行). 下圖為筆者筆記本電腦上得到的數據[機器性能查了一點兒 :) ] :



圖2: Hammerora測試結果示例

 

參考信息


http://hammerora.sourceforge.net/ Hammerora的主頁.當前的軟件版本是1.15.
http://www.linxcel.co.uk/orabm/ Geoff Ingram維護的個人站點.該站點上還有一個很有趣的工具orastress.用來進行Oracle數據庫壓力測試.
http://www.tpc.org TPC官方站點.
http://www.cnoug.org/viewthread.php?tid=63技術高手RudolfLu很早以前就曾對orabm這個工具做過介紹.
http://www.dbanotes.net/Oracle/Install-Oracle10g-RHEL3.htm Installing Oracle 10g on RHEL AS 3 Step-by-Step


本文作者
Fenng,某美資公司DBA,業余時間混跡于各數據庫相關的技術論壇且樂此不疲。目前關注如何利用ORACLE數據庫有效地構建企業應用。對Oracle tuning、troubleshooting有一點研究。個人技術站點: http://www.dbanotes.net/??梢酝ㄟ^電子郵件 dbanotes@Gmail.com 聯系到他。

原文出處

http://www.dbanotes.net/Oracle/Use_OpenSourceTool_implement_YourOwn_TPC-C.htm

回首頁 

All Articles (by Fenng) are licensed under a Creative Commons License.
I would welcome any feedback. Please send questions, comments or corrections to dbanotes@gmail.com

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美高清一级大片| 一区二区三区四区视频| 日韩高清人体午夜| 欧美一区第一页| 亚洲国产美女精品久久久久∴| 欧美激情精品久久久久久黑人| 国产午夜一区二区| 欧美激情精品久久久久久蜜臀| 久久夜精品香蕉| 性色av一区二区三区在线观看| 国产一区二区三区在线视频| 久久在线精品视频| 日韩高清电影免费观看完整| 日韩成人在线观看| 亚洲一区二区三区四区视频| 国产亚洲综合久久| 日韩欧美黄色动漫| 欧美激情精品久久久久久蜜臀| 91极品女神在线| 亚洲国产高清高潮精品美女| 欧美电影免费观看网站| 国产在线观看一区二区三区| 欧美怡春院一区二区三区| 欧美与黑人午夜性猛交久久久| 亚洲人午夜色婷婷| 日韩av影片在线观看| 久久在线免费视频| 欧美性xxxx极品hd欧美风情| 91精品91久久久久久| 国产精品久久久久久久久久| 久久久久国产精品www| 亚洲日本aⅴ片在线观看香蕉| 全亚洲最色的网站在线观看| 欧美精品成人91久久久久久久| 疯狂蹂躏欧美一区二区精品| 69影院欧美专区视频| 亚洲自拍偷拍区| 亚洲精品视频网上网址在线观看| 国产精品福利在线观看| 成人国产精品av| 日本国产欧美一区二区三区| 久久精品国产亚洲一区二区| 亚洲精品aⅴ中文字幕乱码| 欧美日韩999| 最近中文字幕2019免费| 国产一区二区三区在线观看网站| 国产精品入口尤物| 成人有码在线播放| 亚洲一区二区三区sesese| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧洲永久精品大片ww免费漫画| 欧美黑人性猛交| 国产欧美日韩精品丝袜高跟鞋| 欧美色视频日本高清在线观看| 欧美高清在线视频观看不卡| 国内精品在线一区| 国产精品高潮粉嫩av| 中文日韩在线视频| 欧美天天综合色影久久精品| 日韩精品在线视频观看| 亚洲自拍偷拍色片视频| 国产精品高精视频免费| 清纯唯美亚洲综合| 精品国产乱码久久久久久天美| 日韩久久精品电影| 成人网址在线观看| 欧美另类精品xxxx孕妇| 久久久av免费| 91在线免费观看网站| 在线免费观看羞羞视频一区二区| 亚洲国产成人精品久久久国产成人一区| 国产精品视频一区二区三区四| 国产中文字幕日韩| 欧美国产在线视频| 久久精品人人做人人爽| 国产小视频91| 欧美激情aaaa| 性夜试看影院91社区| 欧美成人在线网站| 北条麻妃一区二区三区中文字幕| 日韩中文字幕在线精品| 精品久久中文字幕久久av| 黄色一区二区在线观看| 欧美一区二区三区免费视| 久久在精品线影院精品国产| 亚洲一区二区三区四区视频| 福利二区91精品bt7086| 国产精品视频色| 国产精品日韩专区| 亚洲成年人影院在线| 亚洲人在线观看| 国产精品视频1区| 91精品国产777在线观看| 欧美激情亚洲综合一区| 亚洲国产精品嫩草影院久久| 国产精品久久久久久久app| 亚洲自拍欧美另类| 欧美午夜精品在线| 国产美女久久精品| 国产91精品视频在线观看| 欧美国产视频日韩| 国产乱肥老妇国产一区二| 国产欧亚日韩视频| 最近2019年日本中文免费字幕| 亚洲国产成人精品久久久国产成人一区| 国产精品网站视频| 亚洲精品乱码久久久久久按摩观| 日本sm极度另类视频| 国产精品第2页| 欧美在线一区二区视频| 97国产精品免费视频| 国产精品成人免费视频| 久国内精品在线| 亚洲黄色www网站| 亚洲香蕉av在线一区二区三区| 在线观看日韩www视频免费| 欧美在线视频在线播放完整版免费观看| 久久国产精品久久久久| 国产成人综合一区二区三区| 欧美成人精品一区二区三区| 国产精品欧美一区二区三区奶水| 日韩电视剧免费观看网站| 亚洲国产高清高潮精品美女| 亚洲天堂第二页| 日韩av不卡在线| 91精品国产高清自在线看超| 91中文字幕在线| 欧美麻豆久久久久久中文| 久久久免费精品视频| 亚洲欧美国产一本综合首页| 亚洲国产天堂久久综合| 尤物99国产成人精品视频| 精品日本高清在线播放| 欧美激情一区二区三区高清视频| 精品国产网站地址| 日韩欧美成人免费视频| 欧美激情在线一区| 国产精品久久久久久亚洲调教| 91美女片黄在线观| 日韩亚洲一区二区| 亚洲视频免费一区| 91高潮精品免费porn| 国产精品pans私拍| 97国产精品视频人人做人人爱| 亚洲bt欧美bt日本bt| 国产a∨精品一区二区三区不卡| 日韩在线欧美在线| 欧美xxxwww| 国产欧美 在线欧美| 国产视频福利一区| 久久久国产一区二区三区| 欧美成人免费va影院高清| 中文字幕精品www乱入免费视频| 亚洲专区中文字幕| 亚洲品质视频自拍网| 欧美精品在线观看91| 日韩av在线免播放器| 麻豆乱码国产一区二区三区| 国产精品精品视频一区二区三区| 亚洲电影av在线| 亚洲摸下面视频| 欧洲亚洲女同hd| 欧美精品激情在线观看| 亚洲人成在线观|