【新炬網路名師大講堂】TUXEDO的配置最佳化之路二
前面講到了ubb中必需部分在配置的時候需要注意的,現在講講可選部分中最重要的SERVERS的配置最佳化。
從管理維護的角度看:server與service的關係。一個service對應一個server是最簡單的方式,但這會增加server的數量,也就是程式數,使tuxedo系統對系統的IPC資源要求增大,導致系統效能下降;或超過系統限制(UNIX:maxfiles,maxfiles_lim), 導致tuxedo系統無法啟動成功。所以需要把多個service放到一個server中,以降低tuxedo對系統IPC資源的要求。當把一些 service放到一起時,有這麼幾個原則:
1.有相互呼叫的service不要放到一個server中,以免引起死鎖現象。
2.執行時間相近的service可以放到一個server中。
3.同一個server中的service最好有相同的服務優先順序。如果不同,優先順序最低的請求可能要很長時間才得到處理。
4.一個server中不要有太多的service。
5.把資源要求相近的service放到同一個server中。
6.可根據業務規則把service放到同一個server中。
7.把一些使用率較高的service應單獨放在一個server中,並採用MSSQ方式。
在預設情況下,TUXEDEO的每一個SERVER對應一個請求佇列,該SERVER從該請求佇列中取客戶端發來的請求,並把處理的結果透過該請求佇列返回給客戶端,這種模式的好處那就是有多個queue可用,有效避免了請求併發量很大時佇列的溢位。
TUXEDO的SERVER也可以配置成多個SERVER對應一個請求佇列,即MSSQ方式,以提高響應的速度。用MSSQ時其server的數目不宜太多,官方文件建議2-12,為避免不必要的資源和排程開銷,通常建議單組服務在8個左右,避免大於10 ;如因併發需要,可採取拆分為多組服務執行的方式。如果相對於請求數來說,處理得不夠快,就比第一種方法更容易造成佇列溢位。
MSSQ(Multi Server, Single Queue),顧名思義,就是有多份server,但是隻有一個佇列(請求佇列)。使用MSSQ以下兩個引數為必選項:RQADDR是這多個server共用的佇列名,是一種邏輯名,可以自己命名,不和別的衝突就可以,REPLYQ是標示是否設定返回佇列,在使用MSSQ的時候是強烈建議設定,因為這樣可以將請求和返回分開,提高系統吞吐率,避免多個server共用佇列時造成混亂。
不要認為MIN,MAX的值越大越好,主要取決於資料庫的速度。在硬體資源充足的情況下,建議所有SERVER都設定MIN數量與MAX數量相等,以避免動態啟停服務帶來的各種問題。那麼MIN和MAX到低配置成多少才是比較合理的,既不會因為配置數不夠導致阻塞,也不會因為配置過多導致資源空閒。
最佳化的一個重要的參考依據就是TUXEDO效能跟蹤檔案(預設檔名為stderr)中記錄的每個service的呼叫次數及呼叫時間。在配置檔案的CLOPT中設定“-r”引數後,每次呼叫該service都會在恨不能跟蹤檔案中記錄一行記錄。效能跟蹤檔案可以使用TUXEDO提供的TXRPT命令進行分析,可以統計出每個service在每段時間內的總呼叫次數和平均時間。現在我們來看一下效能跟蹤檔案裡的資料應該怎麼分析。
根據效能跟蹤檔案stderr,按一定的時間段分析效能資料,時間段(time)可根據需要設定,每分鐘一條記錄,每小時一條記錄都可以。那麼我們就可以得到一條以下記錄,包括:service name,Num(時間段內的呼叫次數),Duration(時間段內內所有呼叫的執行總時長),再透過PSC對應server與service的關係,及算出server的程式數(MIN)。結合以上資料得出每個server下每個service在1秒鍾內所有呼叫的總時長(Efficiency)。time的單位為秒。
Efficiency=Duration/NUM/MIN/time
每個server下所有service的Efficiency值求和超過1秒錶示在1秒內server所有呼叫未在1秒內執行完,可能會造成請求排隊或效能問題。
每個server下所有service的Efficiency值求和接近1秒錶示server的idle較低,沒有足夠的空閒處理能力,可能會造成在與業務增長時請求排隊或效能問題。
每個server下所有service的Efficiency值求和低於1秒錶示server有足夠的idle,有一定的冗餘處理能力,那這個值就是我們最佳化的目標。
如果單個service的Efficiency值過大,表示單次呼叫的響應過長,影響使用者體驗,需要對service的呼叫時長進行最佳化。
當一個SERVER程式因某中原因死掉時,可設定RESTART讓它可以自動重起,預設為N(不可以)。但光設定了RESTART=Y還不夠,還要設定GRACE,MAXGEN才能在該SERVER死掉時,自動重起,GRACE,MAXGEN:在GRACE秒內,該程式最多可以重啟MAXGEN次。注意,該SERVER能夠被自動重起的一個前提條件時它還沒有被從BULLITION BOARD中清除。
如果SERVER採用會話(CONVERSATION)通訊方式,注意採用會話通訊方式的SERVICE要單獨在一個SERVER中,不能與採用其他通訊方式的SERVICE在同一個SERVER中,並且該SERVER要設定CONV=Y。
在WSL配置中-x引數定義的是同一個WSH上最多能有多少個客戶端請求排隊,該值過大會引發大量的客戶端超時,建議將調整到20左右或更小。
不同版本的tuxedo互連問題:如果是WSL模式:低聯高版本在WSL中加入-t引數,如CLOPT=”-A -t – n//機器名:埠號,高聯低版本應在環境變數中設定WSINTOPPRE71=yes;如果是域模式:低聯高版本應該在ubbconfig中的SERVERS配置GWADM的CLOPT中加入-t引數,例如GWADM SRVGRP=LGWGRP SRVID=3 REPLYQ=N CLOPT=”-A -t – ”
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29960155/viewspace-1376277/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【新炬網路名師大講堂】TUXEDO的配置最佳化之路一UX
- 【新炬網路名師大講堂】SOA套件介紹套件
- 【新炬網路名師大講堂】weblogic整合ejbWeb
- 【新炬網路名師大講堂】總結和結論
- 【新炬網路名師大講堂】AIX上的配置網路調優引數AI
- 【新炬網路名師大講堂】svn在linux下的使用Linux
- 【新炬網路名師大講堂】關於LOG FILE SYNC的解惑
- 【新炬網路名師大講堂】初識mysql的體系結構MySql
- 【新炬網路名師大講堂】Oracle中的回收站(Recycle Bin)Oracle
- 【新炬網路名師大講堂】關於IMSI/MSISDN/IMEI的介紹
- 【新炬網路名師大講堂】Oracle Database 12c 新特性總結OracleDatabase
- 【新炬網路名師大講堂】Data Guard–物理主備庫切換
- 【新炬網路名師大講堂】cursor: pin S wait on X模擬AI
- 【新炬網路名師大講堂】clone oracle 12c pluggable databasesOracleDatabase
- 【新炬網路名師大講堂】GoldenGate的ADD SCHEMATRANDATA命令研究Go
- 【新炬網路名師大講堂】12c新特性:備份CDBs和PDBs
- 【新炬網路名師大講堂】12c新特性:使用RMAN連線CDB
- 【新炬網路名師大講堂】Oracle 11g rac 刪除節點Oracle
- 【新炬網路名師大講堂】j2ee與weblogic簡介Web
- 【新炬網路名師大講堂】oracle application server之核心技術opmnOracleAPPServer
- 【新炬網路名師大講堂】讓業務飛起來,應用效能端到端最佳化
- 【新炬網路名師大講堂】RAC環境下SYSDATE返回錯誤時間
- 【新炬網路名師大講堂】不同資料庫取前幾條記錄資料庫
- 【新炬網路名師大講堂】關於Oracle 12c Flex ASM特性的理解OracleFlexASM
- 【新炬網路名師大講堂】Oracle小知識- Oracle KILLED會話的釋放Oracle會話
- 【新炬網路名師大講堂】CBO中”與NULL在cardinality計算上的差別Null
- 【新炬網路名師大講堂】MySQL複製與監控系列文章(1)——篇首MySql
- 【新炬網路名師大講堂】WAS控制檯資料來源資訊無故丟失
- 【新炬網路名師大講堂】有限條件下怎樣做好恢復演練
- 【新炬網路名師大講堂】有關DBLINK操作的語句執行機制及最佳化方式
- 【新炬網路名師大講堂】理解TimesTen錯誤日誌資訊”waiting for latch”AI
- 【新炬網路名師大講堂】DATABASE REPLAY加壓播放引數之SCALE_UP_MULTIPLIERDatabase
- 【新炬網路名師大講堂】12c高可用新特性what-if command evaluation介紹
- 【新炬網路名師大講堂】記一次打PSU遇到的Copy failed的問題AI
- 【新炬網路名師大講堂】11gR203 RAC一個比較嚴重的bug
- 【新炬網路名師大講堂】O2O同步實施涉及的變更V1.0
- 【新炬網路名師大講堂】在AIX機器上使用xlc編譯c的動態庫AI編譯
- 【新炬網路名師大講堂】TimesTen記憶體碎片(高水位)回收步驟詳解記憶體