WebSphere效能調優全講解
WebSphere效能調優全講解
一、最佳化概述
Ø WebSphere引數調整,使器執行更加穩定,有效最佳化伺服器
Ø WebSphere實時監控,並透過等多途徑分析程式bug和瓶頸
Ø WebSphere監測工具,利用第三方監測工具,減少工作量,提高監控效率
Ø WebSphere配置,開發特定配置檔案,減小伺服器開銷,增強使用者體驗性
Ø WebSphere,利用機制,形成穩定高效的
1、引數調整
WebSphere的控制檯,在以往的專案中最常用的就是war包的部署以及程式的啟停等,對於WebSphere的配置引數沒有過多的涉及,使我們無法合理有效的利用伺服器,造成部分的浪費。透過分析及監控,我們可以設定合理的配置引數,使其維護機制等更為合理,使其提供的內部機制充分得到利用,還可以透過其提供的API介面,進行有針對性的程式最佳化。
2、監控最佳化
WebSphere自身提供了一個功能相當強大的監控程式——TPV(Tivoli Performance Viewer),透過開啟監控的開關,設定對各關注指標的計數器,來進行有針對性的監控,監控過程中可以控制的重新整理速度,日誌保留情況,來觀察各計數器的資料變化。其他的監控還包括LR,,jwebap等等,在監控的過程中,由於實時監控造成很大的人力開銷,所以第三方軟體的誕生,使我們監控的工作事半功倍,彌補了TPV的很多不足。第三方監控軟體包括預警通知,報表輸出,全域性監控,歷史查詢等重要功能。
3、檔案分析
在監控的過程中,以及日常運維中,會產生很多的日誌檔案,包括了垃圾回收日誌、應用程式日誌、伺服器錯誤日誌,以及堆轉儲檔案和執行緒池使用檔案等,這些檔案的產生可以使我們快速的定位錯誤位置,找出問題根源。提供了這些日誌檔案的分析工具和錯誤程式碼庫,方便我們分析和查詢,真正做到了監控——分析——最佳化一條龍服務。
4、架構設計
WebSphere在應對高負載時提供了一套機制——叢集,叢集可以幫助我們進行負載均衡以及保證系統的穩定性,在單機進行垂直部署或者多機的橫向部署,透過DM進行對節點的。叢集的方式很多,以應對不同的架構設計,但這些的前提是瞭解叢集的架構和原理,瞭解專案自身特點,這樣才能有針對性的進行設計,以發揮叢集的最大作用。
二、引數講解
1、連線池
程式讀取庫有2種方式,一種是直接連線資料庫,一種是呼叫連線池。
1) 直連是程式直接建立物理連線,呼叫資料庫進行資料讀取。直連的建立會帶來很大的開銷,若程式中多處頻繁使用直連,會造成應用消耗過多,影響程式的。
2) 連線池是建立和一個物理連線的緩衝池,其中會保留一定數量建立的物理連線不關閉,當有客戶端請求時,呼叫連線池,可以有效減少物理連線的建立次數,降低直連所帶來的系統開銷,緩解應用伺服器壓力,提高程式效能。
下面我對連線池各引數意義進行講解:
2、連線超時
概述:
連線超時是指,當對指定連線池進行請求時,池中沒有可用連線(連線全部被使用,或者資料庫請求超時),當請求時間到達指定之間時未響應,那麼這個時候就會產生超時異常,透過可以發現。
意義:
連線超時的設定,是對我們應用響應速度的一種把關,客戶往往要求我們的產品在多長時間必須有響應,所以連線超時的設定,可以讓我們發現哪些程式點有響應速度問題,可能是資料庫查詢語句問題,也有可能是程式邏輯死迴圈,再有可能就是資料庫表結構需要最佳化,還有可能是最大連線數到達最大值。
3、最大連線數
概述:
最大連線數是指當前連線池中允許建立的最大物理連線數,當到達指定值後,將不允許建立物理連線。和連線超時相對應,當達到最大值後,連線請求將等待,直到池中有空閒連線為止,否則報連線超時錯誤。當使用機制時,會同時存在多個相同連線池,這個時候需要考慮最大數量的設定。
意義:
最大連線數可以有效控制建立物理連線的數量,連線池的大小影響著伺服器資源的佔用情況,若連線池過大,則會長期佔用伺服器可利用資源,若連線池過小,無法滿足現場應用高負載使用壓力。最大連線數的設定應根據TPV觀測資料進行合理配置。
4、最小連線數
概述:
最小連線數是指當前連線池要保留的最小物理連線,其決定未使用超時維護機制的下限,連線池的建立不是根據最小連線數而特意建立,而是根據使用者請求而建立,系統會一直維護最小的連線數目。
意義:
最小連線數使應用伺服器保持一定數量的物理連線,利用應用伺服器維護機制,合理分配伺服器資源。當應用程式訪問頻繁,但訪問人數少的情況下,最小連線數的合理配置,可以將有效的資源進行充分利用,滿足特定應用需求。
5、收集時間
概述:
收集時間是連線池維護機制的核心,是指每次維護連線池的時間間隔。其有兩個維護指標,分別為未使用超時和時效超時,其值應該小於兩個指標中的任何一個。每一次維護週期中,連線池都會將連線池中超時的物理連線關閉,以減少系統佔用資源。
意義:
合理的收集時間設定,是幫助我們關閉不必要的連線,節省系統資源佔用的有效途徑。收集時間設定不易過大,因為時間間隔過長,會使很多未被使用的物理連線持續佔用資源。若收集時間過小,則頻繁的維護會帶來很多系統開銷,連線池的主要精力都放到了維護上。
6、未使用的超時
概述:
未使用的超時指池中的物理連線空閒未使用的時間間隔,每隔指定時間,系統會為連線標記,幫助收集時間在維護過程中進行關閉。未使用的超時應該小於實效超時時間,並且其以最小連線數為標準,當連線數超過最小連線數時,其才起作用。
意義:
未使用超時的設定,幫助我們關閉不必要的空閒連線,釋放系統資源,並且減少資料庫開銷。根據現場環境使用情況,我們可以根據系統訪問頻繁程式,來定製合理的未使用超時,如果過小,當訪問頻繁程度大時,總需要重新建立,如果過大,當訪問頻繁程度不大時,連線池又空閒佔用過多。
7、時效超時
概述:
實效超時指關閉物理連線的時間間隔,這個值是指到達指定的時間後,關閉滿足時間條件的物理連線,若這個物理連線未使用,則直接關閉,若這個連線正在使用,則當前事務結束後,關閉此連線。這個值不受最小連線數的影響,若沒有新建立的連線,此機制會關閉連線直到為0。
意義:
時效超時的設定,是為了方式應用程式或者資料庫造成的資料庫連線持續佔用,可能導致的原因包括程式邏輯錯誤,資料庫當機導致的錯誤等。還有一種情況為人為導致,就是若某個使用者持續佔用一個資源不放,會導致其他使用者無法訪問。所以時效超時的設定,是對不合理使用應用,或者連結錯誤等進行強行關閉,保證程式的穩定性和永續性。
由lenx整理
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/11134849/viewspace-615478/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Mysql效能調優工具Explain結合語句講解MySqlAI
- 全棧必備——MySQL效能調優全棧MySql
- 案例研究: 調優 WebSphere Application Server V7 效能WebAPPServer
- WebSphere Portlet效能優化Web優化
- websphere MQ調優淺談WebMQ
- JVM原理講解和調優JVM
- android效能調優詳解Android
- 【效能調優】Oracle AWR報告指標全解析Oracle指標
- Oracle效能調優領域的百科全書Oracle
- Spark 效能調優--資源調優Spark
- Spark 效能調優--Shuffle調優 SortShuffleManagerSpark
- 【效能調優】效能測試、分析與調優基礎
- ElasticSearch效能調優Elasticsearch
- Nginx 效能調優Nginx
- iOS效能調優iOS
- php效能調優PHP
- Java效能調優Java
- Spark效能調優Spark
- oracle效能調優Oracle
- MySQL效能調優my.cnf詳解MySql
- GaussDB技術解讀系列:效能調優
- 【優才系列公開課】第四十三講:MySQL 索引以及效能調優工具串講MySql索引
- 效能調優學習之硬體調優
- 效能調優實戰
- 效能調優 jstackJS
- MySQL 效能調優技巧MySql
- RedHat 效能調優指南Redhat
- Spark的效能調優Spark
- Oracle 效能調優 概述Oracle
- weblogic效能調優Web
- Kafka 線上效能調優Kafka
- 效能監控調優
- JVM原理講解和調優,記憶體管理和垃圾回收,記憶體調優JVM記憶體
- Nginx安全優化與效能調優Nginx優化
- 【轉】基於RHEL5的websphere + IHS 6.1調優Web
- 淺談Nginx效能調優Nginx
- linux調優效能命令Linux
- Java效能調優準則Java