【新炬網路名師大講堂】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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL技術大講堂 - Part 9:pg_hba.conf配置SQL
- 運維大師講堂,7天從入門到進階運維
- 安全大講堂|海南金融行業網路安全知識講座成功舉辦行業
- OneAPM大講堂 | Metrics, Tracing 和 Logging 的關係
- win10怎麼更改有線網路名稱_win10修改網路名稱的方法Win10
- PostgreSQL技術大講堂 - 第31講:SQL調優技巧SQL
- PostgreSQL技術大講堂 - 第33講:並行查詢管理SQL並行
- PostgreSQL技術大講堂 - 第34講:調優工具pgBagder部署SQL
- PostgreSQL技術大講堂 - 第46講:poc-tpch測試SQL
- PostgreSQL技術大講堂 - 第45講:poc-tpcc測試SQL
- [網路名詞]域名伺服器伺服器
- [網路名詞]匿名FTP伺服器FTP伺服器
- 新炬網路亮相Gdevops峰會,助力傳統企業DevOps實施落地dev
- 指定的網路名不可用怎麼解決_win10指定網路名不可用的解決方法Win10
- PostgreSQL技術大講堂 - 第32講:資料庫引數調整SQL資料庫
- win10怎樣更改專用網路名稱_win10如何修改專用網路名稱Win10
- TUXEDO超時控制全功略(zt)UX
- 新炬網路與GBASE開啟戰略合作助力資料庫國產化資料庫
- PG技術大講堂 - 第13講:PostgreSQL Full-Page Writes 全頁寫SQL
- PG技術大講堂 - Part 4:PostgreSQL例項結構SQL
- PG技術大講堂 - Part 3:PostgreSQL建庫與使用SQL
- PostgreSQL技術大講堂 - Part 2:PostgreSQL原始碼安裝SQL原始碼
- PG技術大講堂 - Part 10:PostgreSQL資料庫管理SQL資料庫
- 今天開講,6 大演講主題、5 位技術大咖!龍蜥大講堂 5 月精彩直播預告搶先看
- PostgreSQL技術大講堂 - 第72講:索引與SQL調優之禁忌之戀SQL索引
- 沃趣微講堂 | Oracle叢集技術(二):GI與Oracle RACOracle
- 慕課網招聘golang講師Golang
- 煥新啟航,「龍蜥大講堂」2023 年度招募來了!13 場技術分享先睹為快
- 直播預告丨先睹為快!Oracle 20c新特性解析 - 2020雲和恩墨大講堂Oracle
- 網站最佳化的七大最佳化方式網站
- 最佳化 20% 資源成本,新東方的 Serverless 實踐之路Server
- PostgreSQL技術大講堂 - Part 8:PG物件許可權管理SQL物件
- 風控大講堂:做汽車金融風控有前途嗎?
- OneAPM大講堂 | Java 異常日誌記錄最佳實踐Java
- 問鼎大師我的OCM之路——程向智
- 問鼎大師我的OCM之路——王雪婷
- 問鼎大師我的OCM之路——周錦軍
- 新零售講堂之關於新零售,或許你理解錯了?
- Vbox 未指定XXX網路名稱 找不到網路卡問題