Websphere 優化文檔

WAS配置概要
描述
參數
缺省值
設置原則
JVM堆棧
服務器 > 應用程序服務 > server1 > Java 虛擬機

最小值爲總內存1/8,最大值爲總內存1/23/4
連接池
資源 > JDBC提供程序 > (JDBC提供程序名) > 數據源> (數據源名) > 連接池屬性
最小連接數:10
最大連接數:50

通過TPV監控連接池的大小變化曲線設置
語句高速緩存
資源 > JDBC提供程序 > (JDBC提供程序名) > 數據源> (數據源名) > WebSphere Application Server 數據源屬性 > 語句高速緩存大小
10
比如實際情況下CPU利用率很高,並且表明有瓶頸,performance advisors報警提示prepare statement緩存丟棄率較高,這說明默認的值(10)太小,需要增加該值大小以提高吞吐
JMS
資源JMS提供程序缺省消息傳遞JMS激活規範激活規範名
最大批次大小:無
最大併發端點數:無
根據實際情況分析
Web容器線程池
服務器 > 應用程序服務器 > (服務器名) >
線程池 > WebContainer

最小大小:10
最大大小:50

通過TPV監控Web容器線程池最大值(在可接受的相應時間範圍內),根據此值進行設置
EJB緩存
服務器 > 應用程序服務器 > (服務器名) > EJB告訴緩存設置 > EJB緩存設置 > 高速緩存大小
高速緩存大小:2053
清除時間間隔:3000
比如通過TPV監控發現ejbStore()有很高的調用率並且CPU利用率很低,可以基於期望的最大的活動的EJB實例設置該值

Web 服務器調整參數
WebSphere Application Server 提供用於幾個 Web 服務器品牌和版本的插件。每個 Web 服務器操作系統組合都有特定的調整參數,這些參數可影響應用程序性能。
•        IBM HTTP Server
IBM HTTP Server V6.0 是多進程、多線程的服務器。
o        訪問日誌
        描述:收集所有入局 HTTP 請求。記錄日誌會降低性能,因爲 IO 操作開銷導致日誌在短時間內顯著增加。
        如何查看或設置:
1.        打開 IBM HTTP Server httpd.conf 文件,它位於目錄 IBM_HTTP_Server_root_directory/conf 中。
2.        搜索含有文本 CustomLog 的行。
3.        通過在行首放置 # 來註釋掉此行。
4.        保存並關閉 httpd.conf 文件。
5.        停止並重新啓動 IBM HTTP Server。
        缺省值:啓用記錄每個入局 HTTP 請求。
        建議值:禁用訪問日誌。
o        MaxClients
        描述:MaxClients 僞指令控制 Web 服務器在任何時候可以提供的最大同步連接數或用戶數。使用處於峯值時,如果您的 Web 服務器需要立即支持 200 個活動用戶,則應該把 MaxClients 設置爲 220(200 加負載額外增長的 10%)。把 MaxClients 設置得太低會導致有些用戶認爲 Web 服務器不響應。您在您的 Web 服務器中應該有足夠的 RAM 來支持每個已連接的客戶機。對於 Unix 上的 IBM HTTP Server V6.0,您應該分配大約 1.5MB MaxClients RAM 供 IBM HTTP Server 使用。對於 Windows 上的 IBM HTTP Server V6.0,您應該分配大約 300KB MaxClients RAM 供 IBM HTTP Server 使用。有些第三方模塊會顯著地增加每臺已連接客戶機使用的 RAM 數。
        如何查看或設置:編輯 IBM HTTP Server httpd.conf 文件中的 MaxClients 僞指令,該文件位於目錄 IBM_HTTP_Server_root_directory/conf 中。
        缺省值:150
        建議值:通常同步連接到您的 Web 服務器的最大用戶數,附加緩衝區另外的 10%。注:KeepAliveTimeout 設置會影響用戶連接到 Web 服務器的時間長短。
o        MinSpareServers、MaxSpareServers 和 StartServers
        描述:預分配和維護指定的進程數,以便當負載接近指定的進程數時創建和銷燬不多的進程。指定相似的值會減少用於創建和銷燬 HTTPD 進程的 CPU 使用情況。等待 IBM HTTP Server 啓動更多服務器(以便它可處理 HTTP 請求)時調整此參數是不可接受的。
        如何查看或設置:編輯 httpd.conf 文件中的 MinSpareServers、MaxSpareServers 和 StartServers 僞指令,此文件位於 IBM_HTTP_Server_root_directory/conf 目錄中。
        缺省值:MinSpareServers 5、MaxSpareServers 10、StartServers 5
        建議值:要獲得最佳性能,爲 MinSpareServers 和 StartServers 參數指定相同的值。如果 MaxSpareServers 設置成小於 MinSpareServers,那麼 IBM HTTP Server 復位 MaxSpareServer=MinSpareServer+1。把 StartServers 設置過高可導致內存不足時的交換,從而降低性能。
o        ListenBackLog
        描述:設置暫掛連接隊列的長度。當幾個客戶機請求連接到 IBM HTTP Server 並使用了所有線程時,有一個隊列保留其他客戶機請求。然而,如果您使用 Windows 上的 IBM HTTP Server V6.0 的缺省快速響應高速緩存加速器(FRCA)功能,則因爲 FRCA 有其自己的內部隊列而不使用 ListenBackLog 僞指令。
        如何查看或設置:對於非 FRCA:編輯 IBM HTTP Server httpd.conf 文件。然後,添加或查看 ListenBackLog 僞指令。
        缺省值:對於 HTTP Server V6.0:1024 啓用了 FRCA,511 禁用了 FRCA
        建議值:使用缺省值。
•        IBM HTTP Server - Linux
o        MaxRequestsPerChild
        描述:設置單個子服務器進程處理的請求數的限制。在請求數達到爲 MaxRequestsPerChild 參數設置的值後,子進程死亡。當銷燬和創建子進程時調整此參數會降低您的 Web 服務器性能。
        如何查看或設置:
1.        編輯 IBM HTTP server httpd.conf 文件,它位於 IBM_HTTP_Server_root_directory/conf 目錄中。
2.        更改參數的值。
3.        保存更改並重新啓動 IBM HTTP server。
        缺省值:500
        建議值:通常應該設置爲 0。如果觀察到子內存使用情況隨時間的過去穩定地增長,則非零設置會有用。有時在 IBM HTTP Server 使用的第三方模塊和各種 OS 運行時庫中會觀察到內存泄漏。
•        IBM HTTP Server - Windows 2000 和 Windows 2003
o        ThreadsPerChild
        描述:設置 IBM HTTP Server 中任何時刻運行的併發線程數。
        如何查看或設置:編輯 IBM HTTP Server 文件(httpd.conf 文件),它位於目錄 IBM_HTTP_Server_root_directory/conf 中。更改參數的值。保存更改並重新啓動 IBM HTTP Server。
有兩種在欠載狀態下查找使用多少線程的方法:
1.        使用 Windows 2000 和 Windows 2003 性能監視器,它位於桌面“開始”菜單下:
a.        右鍵單擊桌面上的狀態欄。單擊任務管理器。
b.        選擇進程選項卡。
c.        單擊查看 > 選擇列。
d.        選擇線程計數。
e.        單擊確定。
進程選項卡在線程列名下顯示每個進程的線程數(包括 Apache)。
2.        使用 IBM HTTP Server 服務器狀態(此選項可在所有平臺上使用,並不僅限 Windows):
.        按如下所示編輯 IBM HTTP Server httpd.conf 文件:從以下各行除去註釋字符 #:#LoadModule status_module、modules/ApacheModuleStatus.dll、#<Location/server-status>、#SetHandler server-status 和 #</Location>。
a.        保存更改並重新啓動 IBM HTTP Server。
b.        在 Web 瀏覽器中,轉至 URL:http://yourhost/server-status。換句話說,
c.        單擊重新裝入以更新狀態。
d.        (可選的)如果瀏覽器支持刷新,轉至 http://your_host/server-status?refresh=5 以每五秒刷新一次。您將看到當前處理 45 個空閒服務器的五個請求。
        缺省值:對於 IBM HTTP Server V6.0 爲 250。
        建議值:設置該值以避免瓶頸,它允許有恰好足夠的流量通過應用程序服務器。
o        Web 服務器配置重新裝入時間間隔
        描述:跟蹤有關 WebSphere Application Server 資源的配置信息的變化。Web 服務器需要了解一些此類信息,如指向 WebSphere Application Server 資源的統一資源標識(URI)。此配置數據是在由此參數指定的時間間隔中通過 WebSphere Application Server 插件推進到 Web 服務器中的。定期更新添加新的 servlet 定義,而無須重新啓動任何 WebSphere Application Server 服務器。然而,動態重新生成此類配置信息在性能方面的代價很高。在穩定的生產環境中調整此參數。
        如何查看或設置:使用“刷新配置時間間隔 Web 服務器插件”屬性更改此參數的當前設置。在管理控制檯中,單擊服務器 > Web 服務器 > Web_server_name > 插件屬性。
        缺省值:缺省重新裝入時間間隔爲 60 秒。
        建議值:增加值的重新裝入間隔,該值表示一個在 servlet 更新和 Web 服務器更新間的可接受的等待時間。

連接池設置
管理控制檯頁面可與一系列資源類型通用;例如,JDBC 數據源和 JMS 隊列連接工廠。要查看此頁面,根據資源的類型決定路徑,但通常選擇資源提供者的實例,然後選擇資源類型的實例,並單擊連接池。例如:單擊資源 > JDBC 提供者 > JDBC_provider > 數據源 > data_source > 連接池。
“配置”選項卡
連接超時
指定時間間隔(以秒爲單位),這個時間間隔過後連接請求超時並拋出 ConnectionWaitTimeoutException。
此值表明空閒池中沒有可用連接或無法創建新連接(通常這是因爲特定連接池中的連接數達到了最大值)時,請求連接所等待的秒數。例如,如果連接超時設置爲 300,並且最大連接數都在使用,則池管理器等待 300 秒以使物理連接可供使用。如果物理連接在這段時間內不可用,則池管理器將產生 ConnectionWaitTimeout 異常。通常,重試 getConnection() 方法沒有用;如果需要更長的等待時間,您應該增加連接超時設置值。如果應用程序捕捉到 ConnectionWaitTimeout 異常,那麼管理員應該查看需要的應用程序連接池用法,並相應地調整連接池和數據庫。
如果連接超時設置爲 0,則在連接變爲可用之前,只要需要池管理器將一直等下去。此情況發生在應用程序完成事務並將連接返回到池的時候,或發生在連接數降到最大連接值之下(允許創建新的物理連接)的時候。
如果最大連接數設置爲 0(允許無限多個物理連接數),則將忽略連接超時值。
數據類型        整型
單位        秒
缺省值        180
範圍        0 到最大整數
最大連接數
指定您可以在此池中創建的最大物理連接數。
這些是到後端資源的物理連接。一旦達到此數,就不再創建新的物理連接,並且在當前使用的物理連接返回給池或產生 ConnectionWaitTimeout 異常之前,請求者將一直等下去。
例如,如果最大連接數的值設置爲 5,並已使用了 5 個物理連接,則池管理器等待連接超時中指定的時間,直至物理連接爲空閒。
如果最大連接數設置爲 0,則允許連接池無限制地增長。這也有導致連接超時值被忽略的副作用。
如果多個單機應用程序服務器使用同一數據源,則每個應用程序服務器有一個池。如果使用克隆,則對於每個克隆,存在一個數據池。配置數據庫最大連接數時,瞭解數據池的個數很重要。
可使用 Tivoli Performance Viewer 查找池中最優連接數。如果併發等待者的數目大於 0,但是 CPU 負載未接近 100%,則考慮增加連接池大小。如果使用百分比值一直低於正常工作負載,則考慮減少池中的連接數。
數據類型        整型
缺省值        10
範圍        0 到最大整數
最小連接數
指定要保持的最小物理連接數。
如果連接池的大小處於最小連接池大小或比它還小,則未使用超時線程不廢棄物理連接。但是,池不會只爲了確保維持最小連接池大小而創建連接。同樣,如果您設置時效超時值,則廢棄時效到期的連接,而無論最小池大小設置是什麼。。
數據類型        整型
缺省值        1
範圍        0 到最大整數
收集時間
指定運行池維護線程之間的時間間隔(以秒爲單位)。
例如,如果“收集時間”設置爲 60,則池維護線程每 60 秒運行一次。收集時間時間間隔影響未使用超時和時效超時設置的準確度。時間間隔越小,準確度越大。如果啓用了池維護線程,則您應該將“收集時間”值設置爲小於“未使用超時”和“時效超時”的值。當池維護線程運行時,它廢棄所有未使用的時間長於“未使用超時”中指定的時間值的連接,直到它到達最小連接數中指定的連接數爲止。池維護線程還廢棄所有活動時間長於“時效超時”中指定的時間值的連接。
收集時間間隔還影響性能。更短的時間間隔意味着池維護線程將更頻繁的運行並降低性能。
要禁用池維護線程,“收集時間”設置爲 0,或“未使用超時”和“時效超時”都設置爲 0。禁用池維護線程的建議方法是將“收集時間”設置爲 0,在這種情況下,將忽略“未使用超時”和“時效超時”。但是,如果“未使用超時”和“時效超時”都設置爲 0,則池維護線程將運行,但是僅廢棄由於非零超時值引起的超時的物理連接。
數據類型        整型
單位        秒
缺省值        180
範圍        0 到最大整數
未使用超時
指定廢棄未使用的或空閒連接後的時間間隔,以秒爲單位。
爲了優化性能,設置“未使用超時”值高於“收集超時”值。如果當前連接數超過最小連接數設置,則僅廢棄未使用的物理連接。例如,如果未使用超時值設置爲 120,並且啓用池維護線程(收集時間不是 0),則將廢棄兩分鐘沒有使用的任何物理連接。注意,這個超時和性能的準確度都受到“收集時間”值的影響。請參閱“收集時間”以獲取更多信息。
數據類型        整型
單位        秒
缺省值        1800
範圍        0 到最大整數
時效超時
指定廢棄物理連接前的時間間隔(以秒爲單位)。
將時效超時設置爲 0 支持活動的物理連接無限制地保留在池中。爲了優化性能,設置“時效超時”值高於“收集超時”值。例如,如果“時效超時”設置爲 1200,並且“收集時間”不是 0,則從池中廢棄已經存在 1200 秒(20 分鐘)的所有物理連接。注意,這個超時和性能的準確度都受到“收集時間”值的影響。請參閱“收集時間”以獲取更多信息。
數據類型        整型
單位        秒
缺省值        0
範圍        0 到最大整數


數據源設置
創建與 JDBC 提供者關聯的數據源。將數據源想象成一組必須用於管理應用程序和數據庫間事務的共享連接。
要查看此管理控制檯頁面,單擊資源 > JDBC 提供者 > JDBC_provider > 數據源 > 新建(如果要創建新的數據源)或者 > data_source(如果您要查看建立的數據源)。
注: 如果應用程序使用 Enterprise JavaBean(EJB)1.1 或 Java Servlet 2.2 模塊,則您必須使用數據源(V4) > data_source 控制檯頁面。
“配置”選項卡
名稱
指定數據源的顯示名稱。
此名稱的有效字符包括字母和數字,但並不包含多數特殊字符。例如,您可將該字段設置爲測試數據源。但任何以句點(•)開頭或包含特殊字符(\ / , : ; " * ? < > | = + & % ' `)的名稱都不是有效名稱。
JNDI 名稱
指定 Java 命名和目錄接口(JNDI)名稱。
分佈式計算環境經常使用命名和目錄服務來獲取共享組件和資源。命名和目錄服務將名稱與位置、服務、信息和資源關聯起來。
命名服務提供名稱到對象映射。目錄服務提供對象的信息和定位那些對象所需的搜索工具。
有很多命名和目錄服務實施,它們的接口也各不相同。JNDI 提供用於訪問各種命名和目錄服務的公共接口。
例如,您可使用名稱 jdbc/markSection。
如果您將此字段保留爲空白,則將從數據源的名稱生成一個 JNDI 名稱。例如,markSection 的數據源名稱生成 jdbc/markSection 的 JNDI 名稱。
設置此值後,將它保存並重新啓動服務器,當您運行轉儲名稱空間工具時,您可以看到此字符串。
容器管理的持久性
指定此數據源是否用於 Enterprise bean 的容器管理的持久性。
如果選取此字段,則爲關係資源適配器創建與此數據源相應的 CMP 連接器工廠。
數據類型        複選框
缺省        啓用(字段已選取。)
描述
指定資源的文本描述。
數據類型        字符串
類別
指定可用於分類或分組資源的類別字符串。
數據類型        字符串
數據存儲器 helper 類名
指定 DataStoreHelper 實施類的名稱,該類可擴展您所選的 JDBC 驅動程序實施類的能力以執行數據庫特定的功能。
WebSphere Application Server 爲每個它所支持的 JDBC 提供者驅動程序提供一組 DataStoreHelper 實施類。這些實施類在包 com.ibm.websphere.rsadapter 中。例如,如果 JDBC 提供者是 DB2,則缺省 DataStoreHelper 類是 com.ibm.websphere.rsadapter.DB2DataStoreHelper。然而,您正在查看的管理控制檯頁面可能使多個 DataStoreHelper 類名在下拉列表中可用;確保選擇一個您的數據庫配置所需的類名。否則,您的應用程序可能不能正確地運行。如果您要使用不在下拉列表中顯示的 DataStoreHelper,則選擇指定用戶定義的 DataStoreHelper 並輸入標準類名。請參閱信息中心主題“示例:開發您自己的 DataStoreHelper 類。”
數據類型        下拉列表或字符串(如果選擇了用戶定義的 DataStoreHelper)
重要數據源屬性
這些屬性特定於與您所選的 JDBC 提供者相關的數據源。它們是數據源所需的,或對於數據源特別有用。您可以在信息中心中的主題“特定於供應商的數據源最小必需設置”中找到所有支持的 JDBC 提供者所需的完整屬性列表。
組件管理的認證別名
此別名用於運行時的數據庫認證。
僅當應用程序資源引用在使用 res-auth = Application 時才使用組件管理的認證別名。
如果您的數據庫(例如 Cloudscape)不支持用戶標識和密碼,則不要在“組件管理的認證別名”字段或“容器管理的認證別名”字段中設置別名。否則,您在系統日誌中會看到警告消息,表明用戶和密碼不是有效屬性。(此消息僅爲警告消息;創建數據源仍成功。)
如果您未設置別名(組件管理的或其他),而您的數據庫要求用戶標識和密碼獲取連接,則您在運行時期間接收到異常。
數據類型        下拉列表
容器管理的認證別名(不推薦)
爲到資源的容器管理的登錄指定認證數據(轉換到用戶標識和密碼的字符串路徑)。
注: 從 WebSphere Application Server V6.0 開始,對於 res-auth=Container 的組件,容器管理的認證別名由部署時有關資源引用映射的登錄配置規範來取代。
從安全性 > JAAS 配置 > J2C 認證數據 下定義的別名中選擇。
要定義還未出現在選取列表中的新別名:
•        單擊應用陳列“相關項”。
•        單擊 J2C 認證數據條目。
•        定義別名。
•        單擊位於 J2C 認證數據條目頁面頂部的連接工廠名稱,返回到連接工廠頁面。
•        選擇別名。
數據類型        下拉列表
映射配置別名(不推薦)
允許用戶從安全性 > JAAS 配置 > 應用程序登錄配置列表中進行選擇。
注: 從 WebSphere Application Server V6.0 開始,對於 res-auth=Container 的組件,映射配置別名由部署時有關資源引用映射的登錄配置規範來取代。
DefaultPrincipalMapping JAAS 配置將認證別名映射到用戶標識和密碼。您可定義和使用其他映射配置。
數據類型        下拉列表
用於 XA 恢復的認證別名
此可選字段用於指定應該在 XA 恢復處理期間使用的認證別名。
如果資源適配器不支持 XA 事務,則不會顯示此字段。缺省值將來自所選的應用程序認證別名(如果指定)。
使用組件管理的認證別名
選擇此單選按鈕指定在 XA 恢復時使用爲組件管理的認證設置的別名。
數據類型        單選按鈕
指定:
選擇此單選按鈕使您能從已配置別名的下拉列表中選擇認證別名。
數據類型        單選按鈕

線程池設置
使用此頁面配置應用程序服務器使用的線程組。請求通過任何 HTTP 傳輸通道或 HTTP 傳輸方法發送到服務器。線程池使服務器的組件能重用線程以消除在運行時創建新線程的需要。創建新的線程消耗的時間和資源。
要查看此管理控制檯頁面,單擊服務器 > 應用程序服務器 > server_name > 線程池,然後選擇線程池。(您可以通過多個導航路由獲取此頁面。)
“配置”選項卡
最小大小
指定池中允許的最小線程數。
數據類型        整型
缺省值        10
最大大小
指定池中允許的最大線程數。
如果 Tivoli Performance Viewer 顯示最大百分比度量值以始終保持在雙精度數字,則考慮增加最大大小。最大百分比度量值表明使用已配置線程的時間數。如果存在多臺併發客戶機連接到服務器端 ORB,增加大小以支持最多達 1000 臺客戶機。
數據類型        整型
缺省值        50
建議        50(Linux 系統上 25 個)
線程不活動超時
指定在收回線程之前應該經過的不活動的毫秒數。爲 0 的值表明不等待而負值(小於 0)意味着永遠等待。
注: 管理控制檯不允許您將不活動超時設置爲負數。要執行該操作,您必須直接在 server.xml 文件中修改值。
數據類型        整型
單位        毫秒
缺省值        3500
允許線程分配超過最大線程大小
指定線程數是否能增加至超過爲線程池配置的最大大小。
數據類型        布爾
缺省值        未啓用(false)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章