EAS系統(tǒng)性能問題診斷處理方法_第1頁
EAS系統(tǒng)性能問題診斷處理方法_第2頁
EAS系統(tǒng)性能問題診斷處理方法_第3頁
EAS系統(tǒng)性能問題診斷處理方法_第4頁
EAS系統(tǒng)性能問題診斷處理方法_第5頁
已閱讀5頁,還剩76頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、EAS系統(tǒng)性能問題診斷處理方法n摘要 介紹EAS的部署模型和基本工作原理,可能引發(fā)性能問題的環(huán)節(jié)和誘因,并從系統(tǒng)上線前的參數(shù)檢查調(diào)整,到系統(tǒng)運行期間的監(jiān)控,出現(xiàn)問題后的跟蹤分析方法等方面進行較深入地闡述。n適用范圍 供EAS實施人員,部署與性能工程師參考,適用EAS v5.3及后續(xù)版本。n目標和范圍n實施日常工作內(nèi)容nEAS產(chǎn)品部署模型n集群部署建議n環(huán)境檢查和參數(shù)調(diào)整n問題分析和診斷方法nEAS常見性能問題n實際案例分析n其他注意事項n目標n能夠根據(jù)實際軟硬件環(huán)境完成部署和參數(shù)調(diào)整工作,保障EAS基本運行性能。n具備EAS運行性能的監(jiān)控能力,在出現(xiàn)問題的時候能夠有效描述問題場景,收集必要的數(shù)

2、據(jù)用于分析。n具備基本的問題診斷和分析能力,針對環(huán)境和部署相關(guān)的問題,有能力自行處理和解決。n范圍n本文檔適用于EASV 5. 3以及V5.4版本。n本文檔主要涉及環(huán)境相關(guān)問題處理以及系統(tǒng)性能和穩(wěn)定性問題分析解決。產(chǎn)品功能性的Bug,則主要提供信息收集建議。n部署以及服務(wù)器運行參數(shù)調(diào)整n應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、操作系統(tǒng)。n問題跟蹤診斷,數(shù)據(jù)收集n主動監(jiān)控并發(fā)現(xiàn)問題。n被動處理和解決問題。n產(chǎn)品升級及驗證n應(yīng)用服務(wù)器升級、數(shù)據(jù)庫升級及驗證。nDBA部分職責(zé)n數(shù)據(jù)庫備份恢復(fù),統(tǒng)計分析等。n支持本機和多機集群:n一臺機器可以部署多個EAS組成本機集群;n可以將多個服務(wù)器上EAS組成多機集群;n兩種

3、模式可以混合使用;n異構(gòu)的應(yīng)用服務(wù)器之間可以組成集群。n自動負載均衡和高可用特性:n大并發(fā)時減少單點內(nèi)存占用,降低故障幾率;n根據(jù)預(yù)設(shè)權(quán)重以及運行期的實例負荷情況進行自動負載均衡;n當實例健康狀態(tài)惡化,無法自行恢復(fù)時,系統(tǒng)會主動重啟相應(yīng)的實例;n實例因故障失效后,客戶端能重新連接到正常實例,且當前工作內(nèi)容不會丟失;n在運行期可以動態(tài)地裝載或者卸載EAS運行實例。n自主集群技術(shù):n不依賴操作系統(tǒng)或者應(yīng)用服務(wù)器的集群技術(shù)。 n參考依據(jù)n應(yīng)用服務(wù)器配置,CPU數(shù)量,內(nèi)存容量等。每1個CPU、2.5G內(nèi)存可以部署一個EAS節(jié)點。n可以在多個服務(wù)器上部署集群節(jié)點,應(yīng)用服務(wù)器之間帶寬至少100Mbps。n

4、應(yīng)用服務(wù)器和數(shù)據(jù)庫服務(wù)器之間的帶寬至少100Mbps,建議1Gbps或者以上。n結(jié)合應(yīng)用規(guī)模和服務(wù)器的實際運行負荷進行規(guī)劃,通常超過100并發(fā)用戶就應(yīng)該考慮集群部署模式。n集群部署方法nEAS V5.1只能手工進行集群部署。nEAS V5.2管理控制臺內(nèi)置了集群部署功能。nEAS V6.0支持高可用集群以及Portal集群。n客戶端n內(nèi)存相關(guān)參數(shù)調(diào)整n服務(wù)器操作系統(tǒng)nWindows、AIX、HP-UX、LinuxnJAVA環(huán)境nJDK以及應(yīng)用服務(wù)器n數(shù)據(jù)庫服務(wù)器nOracle 9i & 10gnDB2 V8 & V9nSQL ServernEAS客戶端主要以使用Windows系統(tǒng)為主,雖然可以

5、運行在其他平臺,但尚未經(jīng)過完整測試。n機器配置:CPU,P4 1.7G及以上;內(nèi)存建議512M及以上;硬盤,至少2G空閑。n操作系統(tǒng):使用Windows XP及以上版本。n如果客戶端內(nèi)存達到512M或者以上,考慮增加EAS客戶端的內(nèi)存限制。修改eas/client/bin下的set-client-env.bat。SET JVM_MAX_HEAPSIZE=368 (不要超過內(nèi)存總量70%)#OS檢查項目及方法應(yīng)用服務(wù)器數(shù)據(jù)庫服務(wù)器1Windows內(nèi)存:我的電腦屬性至少2G,若=4G可部署本機集群至少2G,建議=4G2磁盤空間:資源管理器至少5G用于安裝EAS100-500G不等,與應(yīng)用規(guī)模相關(guān)3

6、/3GB:c:boot.ini(僅適用32位版本)=2G時建議打開=4G時建議打開4/PAE:c:boot.ini(僅適用32位版本)N/A=6G時建議打開,同時需要調(diào)整Oracle參數(shù)5AIX操作系統(tǒng)版本:oslevel -r建議5300-04或者以上建議5300-04或者以上6內(nèi)核版本(32,64):bootinfo -K32位,64位均可要求64位7內(nèi)存容量:prtconf至少2G,若=4G可部署本機集群至少2G,建議=4G8內(nèi)核參數(shù):vmo -aminperm%=3;lru_file_repage=0,strict_maxclient=0; #vmo -po minperm%=3 mi

7、nperm%=3;lru_file_repage=0,strict_maxclient=0; #vmo -po minperm%=3 9磁盤空間:df -g每掛載點占用少于80%。至少5G用于安裝EAS每掛載點占用少于80%。Oracle使用100-500G不等,與應(yīng)用規(guī)模相關(guān)10換頁空間:lsps -a一般按2倍物理內(nèi)存設(shè)置,若內(nèi)存達到16G,則設(shè)置為物理內(nèi)存一半一般按2倍物理內(nèi)存設(shè)置,若內(nèi)存達到16G,則設(shè)置為物理內(nèi)存一半11資源限制:ulimit -a建議全部改成無限制。修改/etc/security/limits建議全部改成無限制。修改/etc/security/limits12進程限

8、制:smitty chgsysN/A每用戶進程數(shù)512,隨并發(fā)規(guī)模增加而調(diào)整,大于oracle的processes參數(shù)。13異步IO:smitty chaioN/A確保已經(jīng)打開,每CPU最大值調(diào)整為80。#OS檢查項目及方法應(yīng)用服務(wù)器數(shù)據(jù)庫服務(wù)器14HP-UX操作系統(tǒng)版本:uname -a11.23及以上版本11.23及以上版本15內(nèi)核版本(32,64):getconf KERNEL_BITS建議64位要求64位16內(nèi)存容量:sam至少2G,若=4G可部署本機集群至少2G,建議=4G17內(nèi)核參數(shù):sam使用HP jconfig工具檢查操作系統(tǒng)配置和參數(shù)。若干參數(shù)需要調(diào)整,請參考詳細配置說明18

9、磁盤空間:bdf每掛載點占用少于80%。至少5G用于安裝EAS每掛載點占用少于80%。Oracle使用100-500G不等,與應(yīng)用規(guī)模相關(guān)19換頁空間:swapinfo一般按2倍物理內(nèi)存設(shè)置,若內(nèi)存夠大,交換空間建議2G即可一般按2倍物理內(nèi)存設(shè)置,若內(nèi)存夠大,交換空間建議2G即可20Linux操作系統(tǒng)版本:uname -a版本2.6.9版本2.6.921內(nèi)核版本(32,64):getconf LONG_BIT32位,64位均可要求64位22內(nèi)存容量:grep MemTotal /proc/meminfo至少2G,若=4G可部署本機集群至少2G,建議=4G23內(nèi)核參數(shù):sysctl -aN/A若

10、干參數(shù)需要調(diào)整,請參考詳細配置說明24磁盤空間:df -h每掛載點占用少于80%。至少5G用于安裝EAS每掛載點占用少于80%。Oracle使用100-500G不等,與應(yīng)用規(guī)模相關(guān)25換頁空間:grep SwapTotal /proc/meminfo一般按2倍物理內(nèi)存設(shè)置,若內(nèi)存達到16G,則設(shè)置為物理內(nèi)存一半一般按2倍物理內(nèi)存設(shè)置,若內(nèi)存達到16G,則設(shè)置為物理內(nèi)存一半26資源限制:ulimit -a檢查設(shè)置有無異常,通常無需調(diào)整。檢查設(shè)置有無異常,通常無需調(diào)整。# 類別檢查項目及方法建議或要求備注1IBM JDK版本檢查:進入jdk所在目錄下的/bin目錄,java -version(Wi

11、ndows)./java -version(Linux,Unix)1.4.2 SR5及以上或者1.5.0 SR3及以上WebSphere請進入AppServer/java/bin,其他請進入/eas/server/bin/set-server-env中JAVA_HOME指定的路徑下的bin目錄。2JVM 參數(shù)檢查1.4.2-Xgcpolicy:subpool(AIX)-Xgcpolicy:optavgpause(其他)-Xk50000 -Xp10240k,512k1.5-Xgcpolicy:gencon -Xmn300m打開WebSphere控制臺。進入 “應(yīng)用程序服務(wù)器 server1 進程

12、定義 Java 虛擬機” ,檢查通用JVM實參。其他應(yīng)用服務(wù)器,檢查eas/server/bin/set-server-env.sh(bat)中的JVM_CUSTOM_PARAMS變量3SUN JDK同上1.5.0_08及以上版本4JVM 參數(shù)檢查-XX:NewSize=300m -XX:MaxTenuringThreshold=3 -XX:+UseParallelOldGC -XX:+DisableExplicitGCNew區(qū)內(nèi)存至少300M對象在New區(qū)存活超過3次則移動到Old區(qū)Old區(qū)使用并行GC策略禁止System.gc()最小堆內(nèi)存和最大堆內(nèi)存建議相等,1024m 1536m。5H

13、P JDK同上5及以上版本6JVM 參數(shù)檢查同SUN JDK7ApusicApusic和EAS捆綁,無需檢查。N/A8WebSphere版本檢查:進入WebSphere/AppServer/bin,sh versionInfo.sh3及以上版本,3及以上版本。#數(shù)據(jù)庫檢查項目及方法建議或要求備注1Oracle 9i & 10g版本檢查:進入sql*plussqlselect * from v$version;,及以上進入sql*plus方法,在數(shù)據(jù)庫服務(wù)器上執(zhí)行sqlplus /as sysdba,下同2字符集檢查:進入s

14、ql*plussqlselect * from v$nls_parameters where parameter like %CHARACTERSET;返回結(jié)果應(yīng)該都是UTF8AL32UTF8也沒有問題,目前使用客戶較少。3共享及專用服務(wù)器模式:使用數(shù)據(jù)庫配置助手,dbcaWindows:直接在命令行執(zhí)行dbca。Linux,Unix:以oracle用戶身份執(zhí)行dbca,執(zhí)行之前可能需要設(shè)定DISPLAY環(huán)境變量。盡量采用專用服務(wù)器模式由于應(yīng)用服務(wù)器基于連接池管理,所以不建議Oracle使用共享服務(wù)器這種類似連接共用的機制。9i的共享服務(wù)器模式排序內(nèi)存參數(shù)需要手工設(shè)定無法自動擴展也是原因之一。

15、4數(shù)據(jù)庫參數(shù)顯示或者調(diào)整:進入sql*plus查看參數(shù)sqlshow parameters 參數(shù)名稱修改參數(shù)sqlalter system set 參數(shù)=值 scope=spfile;注:以下以8G內(nèi)存的服務(wù)器為例采用scope=spfile修改的參數(shù)在oracle重啟后才會生效。如果Oracle是以pfile方式啟動的,則需要手工修改init*.ora文件。#數(shù)據(jù)庫檢查項目建議或要求備注5Oracle 9i & 10gsga_target5600moracle 10g參數(shù),設(shè)定后oracle自動管理SGA內(nèi)存,此時db_cache_size以及若干pool_size的設(shè)定值為最小控制值。6s

16、ga_max_size5600m內(nèi)存總量70% db_cache_size + shared_pool_size + java_pool_size + large_pool_size不應(yīng)大于此值。7db_cache_size4500m數(shù)據(jù)緩存,盡量大一些。8shared_pool_size1000m根據(jù)內(nèi)存容量和并發(fā)規(guī)??蛇M一步增大。9java_pool_size16mOracle升級的時候,需要將此參數(shù)調(diào)大,請參考升級說明。10large_pool_size16m專用服務(wù)器模式通常不使用large_pool,如果是共享服務(wù)器模式,需要增加此值為processes*3m左右。11pga_agg

17、regate_target1000m大約等于參數(shù)processes*3m左右。12processes300oracle服務(wù)器進程上限,約等于并發(fā)用戶數(shù)80%13optimizer_index_caching90使Oracle傾向于使用索引。14optimizer_index_cost_adj50使Oracle傾向于使用索引。15workarea_size_policyauto用于排序等內(nèi)存根據(jù)需要自動擴展。9i共享服務(wù)器模式下無效。16“_b_tree_bitmap_plans”false避免EAS某些功能執(zhí)行計劃差17“_no_or_expansion”true同上18“_complex_v

18、iew_merging”false避免EAS某些功能觸發(fā)Oracle Bug19默認統(tǒng)計分析采樣率100%由于EAS是一套賬機制,多個組織的數(shù)據(jù)集中存放,不采用100%全采樣統(tǒng)計分析,容易導(dǎo)致執(zhí)行計劃惡化,性能差異可能會有數(shù)十倍。9i默認是全采樣,但10g默認是“auto”,需要修改成100%。注意:參數(shù)調(diào)整以不會導(dǎo)致注意:參數(shù)調(diào)整以不會導(dǎo)致PagingPaging為前提。為前提。n32位Windows上讓Oracle使用4G以上的內(nèi)存,10g有成功案例,以8G內(nèi)存服務(wù)器為例:n增加注冊表項 HKEY_LOCAL_MACHINESOFTWAREORACLE下增加REG_SZ類型AWE_WIND

19、OW_MEMORY,值:1288490188。 (1.2G)。用做DB緩存并與4GB以上內(nèi)存的交換空間。 n通過將SGA_TARGET的參數(shù)設(shè)置為0,關(guān)閉Oracle 10g的自動內(nèi)存管理。 n修改參數(shù) USE_INDIRECT_DATA_BUFFERS=true,使Oracle可以使用4GB以上內(nèi)存來做數(shù)據(jù)緩存。 n修改 DB_BLOCK_BUFFERS 參數(shù)的值為655360,將使用655360*8192(db_block_size)=5GB內(nèi)存用做數(shù)據(jù)庫緩存。 n清除 DB_CACHE_SIZE 參數(shù)設(shè)定,alter system reset db_cache_size scope=sp

20、file sid=*; n修改SGA_MAX_SIZE=6000m。 #數(shù)據(jù)庫檢查項目及方法建議或要求17DB 2 V8 & V9版本檢查:Linux,Unix: #su -db2inst1 $db2levelWindows: 在cmd命令行模式下輸入:db2level必須在DB2 8.1 Fixpack 11以上18字符集檢查:Linux,Unix: $db2 connect to eas 假設(shè)數(shù)據(jù)庫名為eas $db2 get db cfg Windows: 命令行中輸入db2cmd,在命令行模式下輸入: db2 connect to eas 假設(shè)數(shù)據(jù)庫名為eas db2 get db c

21、fg 查看Database code set 是否是UTF-819參數(shù)檢查和調(diào)整:參見EAS實施環(huán)境指南每個操作系統(tǒng)頁簽中參數(shù)配置說明20數(shù)據(jù)緩沖池顯示或者調(diào)整:進入db2cmd查看緩沖池db2 connect to dbnamedb2 “select * from syscat.bufferpools”修改緩沖池大小示例:db2 alter bufferpool EASBP8k size 100000 /這里的size為頁面的個數(shù),例如8k表空間即表示有那么多個8k,16k表空間即表示有這么多個16k。真實容量要經(jīng)過計算才能得到。通用規(guī)則為緩沖池所占內(nèi)存數(shù)為系統(tǒng)內(nèi)存的一半,如果有應(yīng)用經(jīng)驗豐富

22、的技術(shù)專家可以根據(jù)客戶數(shù)據(jù)的特征進行專門優(yōu)化調(diào)整,以下的建議值都為通用規(guī)則。注:以下以4G內(nèi)存的服務(wù)器為例21EASBP8k125000個8k頁面22EASBP16k30000個16k頁面23EASBP32k15000個32k頁面nSQL Server配置建議 大內(nèi)存支持n當系統(tǒng)的內(nèi)存超過1G,就可以打開相應(yīng)的開關(guān)以使得系統(tǒng)或者應(yīng)用程序可以訪問更多的內(nèi)存。n系統(tǒng)盤根目錄下的隱藏文件Boot.ini中可以添加兩個選項/3GB、/PAEn/3GB,此選項為應(yīng)用程序增加可尋址空間達到3GB,操作系統(tǒng)則只保留1GB。n/PAE,當物理內(nèi)存超過4G時,打開此選項以使Windows可以通過AWE API訪

23、問4GB以外的物理內(nèi)存。n注:此配置建議僅適用于SQL Server的 32位版本nSQL Server - 處理器控制參數(shù)n當SQL Server為專用服務(wù)器的時候,建議打開提升SQL Server優(yōu)先級的選項。n纖程是比線程更小的運行單位,由SQL Server管理,建議打開。nSQL Server配置建議 大內(nèi)存支持n這兩個開關(guān)適用的操作系統(tǒng)版本nMicrosoft Windows 2000 Advanced Server nMicrosoft Windows 2000 Datacenter Server nMicrosoft Windows Server 2003,Enterprise

24、 Edition nMicrosoft Windows Server 2003,Datacenter Edition nMicrosoft Windows Small Business Server 2003 n選項打開的時機n4GB RAM/3GBn8GB RAM/3GB /PAEn16GB RAM/3GB /PAEn16GB+ RAM /PAE (此時OS需要2GB空間用于管理擴展內(nèi)存)nSQL Server配置建議 大內(nèi)存支持nBoot.ini示例boot loadertimeout=0default=multi(0)disk(0)rdisk(0)partition(2)WINNTope

25、rating systemsmulti(0)disk(0)rdisk(0)partition(2)WINNT=“Microsoft Windows 2000 Advanced Server” /fastdetect /3GB /PAEnSQL Server配置建議 大內(nèi)存支持n當操作系統(tǒng)打開/3GB選項后,SQL Server會自動使用更多的內(nèi)存。n當操作系統(tǒng)打開/PAE選項后,需要在SQL Server中打開選項才可以使用額外的內(nèi)存。nSP_CONFIGURE awe enabled, 1RECONFIGUREGO n重新啟動SQL Server后,此選項生效。nSQL Server會用盡所

26、有的擴展內(nèi)存,除非配置“max server memory”選項。n此時不建議運行多個SQL Server實例。n某個客戶抱怨系統(tǒng)很慢,原因?n客戶機:機器配置、EAS參數(shù)、其它程序影響、病毒 、殺毒軟件。n網(wǎng)絡(luò):帶寬、延遲、丟包、通訊故障、病毒泛濫。n集群前置機:均衡失效、內(nèi)存溢出、連接泄漏、停止響應(yīng)。n自動更新服務(wù)器:更新流量過大、阻塞。n應(yīng)用服務(wù)器:內(nèi)存泄漏、連接泄漏、文件句柄泄漏、CPU消耗、停止響應(yīng)、進程消失、磁盤空間滿、License失效。n數(shù)據(jù)庫服務(wù)器:阻塞、死鎖、高IO、高CPU、磁盤空間滿。1確定問題的嚴重確定問題的嚴重/緊急程度,影響范圍緊急程度,影響范圍1.1系統(tǒng)已經(jīng)癱瘓

27、應(yīng)用服務(wù)器無法啟動;數(shù)據(jù)庫無法啟動;服務(wù)器無法連接;網(wǎng)絡(luò)中斷等。1.2系統(tǒng)整體非常緩慢大面積出現(xiàn)白屏;難以登錄;響應(yīng)時間衰減嚴重;無法自動更新;1.3部分用戶/功能慢部分客戶端慢;部分功能慢;特定條件下功能慢等。 2出現(xiàn)性能問題之前發(fā)生過什么變化?(起因分析)出現(xiàn)性能問題之前發(fā)生過什么變化?(起因分析)2.1最近系統(tǒng)做過升級或者打過補丁沒有?操作系統(tǒng),數(shù)據(jù)庫,EAS服務(wù)器如果最近剛好做過升級等,可能是導(dǎo)致問題的誘因。2.2最近服務(wù)器配置調(diào)整過沒有?操作系統(tǒng)的參數(shù),EAS配置,數(shù)據(jù)庫參數(shù)調(diào)整不當可能導(dǎo)致性能問題。2.3最近網(wǎng)絡(luò)是否有過調(diào)整變化?網(wǎng)絡(luò)如果發(fā)生故障,比如受到蠕蟲病毒攻擊、路由器故障等

28、,可能影響網(wǎng)絡(luò)質(zhì)量進而影響EAS性能。2.4其它業(yè)務(wù)系統(tǒng)是否也有問題?企業(yè)的其它業(yè)務(wù)系統(tǒng)是否也有故障?其誘因可能也是導(dǎo)致EAS性能問題的根源。n講解內(nèi)容包括n日志和配置文件收集n服務(wù)器長期運行數(shù)據(jù)收集n客戶端問題診斷n網(wǎng)絡(luò)故障診斷n應(yīng)用服務(wù)器診斷n數(shù)據(jù)庫服務(wù)器診斷nLinux,Unix常用命令n當發(fā)生問題需要處理的時候,第一時間需要保護現(xiàn)場并收集必要的信息用于診斷。#類別文件名及作用查看工具備注1客戶端client/bin/set-client-env.bat,客戶端環(huán)境配置文件記事本以及其他文本查看工具包括JAVA,EAS路徑,服務(wù)器連接信息等,內(nèi)存設(shè)定。(內(nèi)存設(shè)定在個別版本EAS中需要修改

29、client.bat)2客戶端client/bin/client.bat,EAS啟動腳本同上包括EAS啟動命令和參數(shù),可以指定JAVA最大和最小內(nèi)存占用。3客戶端client/bin/client.vmlog,最近一次EAS的運行日志同上其中會記錄系統(tǒng)運行的詳細情況和出現(xiàn)的異常信息。每次啟動客戶端會刪除原有的內(nèi)容。4客戶端client/logs/autoupdate.log同上自動更新日志,會保存歷史記錄。5客戶端client/logs/log4j.log同上EAS運行日志,類似client.vmlog。會保存歷史日志,另外還有可控制日志詳細程度。受client/deploy/client/l

30、perties控制,需要專業(yè)人士協(xié)助配置。6客戶端client/logs/log4j.log.*同上log4j.log的歷史記錄,每天一個。7服務(wù)端$instance_home/bin/set-server-env.bat,服務(wù)端環(huán)境配置文件,會被EAS啟動腳本、管理控制臺啟動腳本調(diào)用。Windows平臺同上,其他平臺通常可以使用vi,less,dtpad等,也可以下載到Windows平臺用UltraEdit等工具查看。$instance_home 依EAS實例名稱而不同,default實例位于eas/server;而具體的實例則位于eas/server/instances/下

31、。如果是Linux,Unix平臺,文件的擴展名是.sh,下同。文件中包含了保證EAS運行的基本參數(shù),如JAVA路徑、實例路徑、應(yīng)用服務(wù)器控制參數(shù)等。#類別文件名及作用查看工具備注8服務(wù)端$instance_home/deploy/bosconfig.xml,$instance_home/deploy/*.properties,集群控制器,EAS節(jié)點的配置文件。同上V5.1集群需要手工管理ormrpc_perties, bosconfig.xml等文件。V5.2以后版本通常不需要手工調(diào)整。9服務(wù)端$instance_home/bin/start*.bat,stop*

32、.bat,啟動和停止EAS節(jié)點,集群控制器的腳本。同上直接調(diào)用這些腳本即可啟停EAS,無需管理控制臺。還可以依此寫出批處理的腳本。10服務(wù)端$eas_home/apusic/logs/apusic*.log,$instance_home/apusic/logs/apusic*.log,$wasprofile_home/logs/server1/System*.log,應(yīng)用服務(wù)器日志。同上$eas_home,EAS安裝目錄。其中包括應(yīng)用服務(wù)器啟動和運行日志,包括異常信息等。11服務(wù)端$eas_home/eas/server/tools/admin/admin.bat,EAS管理控制臺啟動腳本。同

33、上此腳本會先調(diào)用set-server-env.bat,取得環(huán)境配置信息。12服務(wù)端$eas_home/eas/server/tools/admin/admin.vmoptions,影響EAS部署行為的配置文件。同上包含KSQL Trace開關(guān)等部署相關(guān)選項,改變后通常需要重新部署。13服務(wù)端$eas_home/eas/server/tools/admin/admin.vmlog,admin.log4j.log*,EAS管理控制臺運行日志。同上在進行數(shù)據(jù)庫升級過程中如果有錯誤,在日志文件中會有詳細的體現(xiàn)。14服務(wù)端$instance_home/bin/jvm_gc.log,$wasprofile

34、_home/logs/server1/native_stderr.log,JVM GC日志,后者為IBM WebSphere下的。同上。另可用,IBM JDK:pmatHP JDK:jmeter$wasprofile_home,WebSphere的profile路徑。日志中包含JVM的內(nèi)存使用狀況,GC頻度,時間消耗等信息。set-server-env.bat中的VERBOSE_GC必須為true才會收集;WebSphere則需要在其控制臺中的Java虛擬機選項頁中打開“詳細垃圾收集”。nRPC日志n記錄操作過程中客戶端與應(yīng)用服務(wù)器或者應(yīng)用服務(wù)器與數(shù)據(jù)庫服務(wù)器之前的交互過程,每次交互執(zhí)行的動作

35、、消耗的時間、數(shù)據(jù)流量等。n用于診斷特定功能性能問題的有效手段。nEAS V5.3開始內(nèi)置RPC日志記錄特性。n日志配置開關(guān)n客戶端默認是打開狀態(tài)。nV5.3服務(wù)器端默認關(guān)閉,可用如下方法動態(tài)打開關(guān)閉打開: :/ip:port/easupdater/logmanager?ksql=on&rpcsql=on&sqlplan=on 關(guān)閉: :/ip:port/easupdater/logmanager?ksql=off&rpcsql=off&sqlplan=offnV5.4服務(wù)器端默認開啟,記錄執(zhí)行超過10s的操作日志。nV5.4日志存儲路徑有較大變化n客戶端所有日志存放在client/logs目

36、錄,服務(wù)端則存放在每個實例目錄下的logs中。如eas/server/cluster/logs、eas/server/profiles/server1/logs等。 neassupport工具自動收集日志和診斷信息nEAS 5.3打PT010990或者包含這個補丁的綜合補丁。nEAS V5.4 及后續(xù)版本內(nèi)置了eassupport工具。n能夠自動收集客戶端和服務(wù)端的EAS運行日志、系統(tǒng)配置、網(wǎng)絡(luò)診斷信息等。n收集方法n客戶端:執(zhí)行eas/client/bin下的eassupport.bat。n服務(wù)端:執(zhí)行eas/server/bin下的eassupport.bat(Windows平臺)或者ea

37、ssupport.sh(Linux、Unix平臺)。n執(zhí)行完成后會在bin目錄下生成一個support*.zip文件。n收集過程可能需要較長時間,中途可能會有異常提示,忽略即可。n目的n反映服務(wù)器和網(wǎng)絡(luò)在一段歷史時期的負荷和壓力分布,用于設(shè)備更新調(diào)整等決策依據(jù)。n通過異常的壓力和流量發(fā)現(xiàn)系統(tǒng)問題及時加以解決。n用于不同客戶之間的并發(fā)壓力對比分析。n收集工具n免費工具:Cactin專業(yè)工具:HP OpenViewn收集內(nèi)容n網(wǎng)絡(luò)流量、CPU、IO等n參考網(wǎng)絡(luò)監(jiān)控工具Cacti安裝配置指南.pptn分析客戶端日志n分析client/bin/client.vmlog(V5.3及之前版本)中的輸出信息

38、。n查看client/logs目錄下運行日志、自動更新日志等。n檢查set-client-env.bat中的設(shè)置。n內(nèi)存根據(jù)機器實際配置調(diào)整。n設(shè)置全下載更新或者按需更新。nEAS系統(tǒng)中的系統(tǒng)菜單|系統(tǒng)信息功能n顯示JVM內(nèi)存消耗、網(wǎng)絡(luò)帶寬等信息,如果是IBM JDK,可以收集Dump文件用于分析內(nèi)存泄漏等問題。n任務(wù)管理器n查看Java進程CPU、內(nèi)存占用。n物理內(nèi)存可用數(shù)。njconsole (jdk5.0)分析GC,線程等。n連通性測試nping -l 1000 n 100 ,響應(yīng)時間少于50ms,丟包率少于2次。n文件下載測試n從應(yīng)用服務(wù)器進行 文件下載,速度應(yīng)大于16KB/S。n下載

39、文件可正常打開,沒有錯誤。neassupport工具收集n最新版本會自動進行ping、rpcping、tracert、下載測試等。n流量監(jiān)測nDU Meter,Cacti。發(fā)現(xiàn)流量異常,判斷是否有病毒等問題。n本章節(jié)將從以下幾個方面講解n操作系統(tǒng)性能數(shù)據(jù)收集nJDK參數(shù)調(diào)整優(yōu)化nGC日志的收集和分析nDUMP信息的收集和分析nEAS節(jié)點故障診斷n集群控制器故障診斷n操作系統(tǒng)性能數(shù)據(jù)nAIX:topas、vmstat、sar、netstatnWin:任務(wù)管理器,性能監(jiān)視器nJDK參數(shù)優(yōu)化n盡量使用1.5最新版本的JDK(只有WAS6.0必須使用1.4JDK)。n使用分代垃圾收集策略,一開始就分配

40、最大內(nèi)存給JVM。n禁止調(diào)用System.gc()n堆大小通過部署工具修改,建議最大內(nèi)存不要超過1536mn如果是1.5JDK,建議最小堆內(nèi)存和最大堆內(nèi)存設(shè)置一樣大。n修改/eas/server/bin/set-server-env.sh(bat)文件,修改變量JVM_CUSTOM_PARAMS。nIBM JDK: -Xgcpolicy:gencon -Xmn300mnSun(HP) JDK:-XX:NewSize=300m -XX:+UseParallelOldGC -XX:+DisableExplicitGC -XX:MaxTenuredThreshold=3n針對優(yōu)化參數(shù)n-Xgcpol

41、icy:subpool :AIX平臺專用優(yōu)化選項,能夠更加有效智能的進行內(nèi)存分配。n-Xgcpolicy:optavgpause:一種并行垃圾回收算法。n-Xk50000 -Xp10240k,512k: 減少碎片幾率。n添加方法nWAS: “應(yīng)用程序服務(wù)器 server1 進程定義 Java 虛擬機” 中的“通用JVM實參”。nGC日志收集nV5.3及以后版本默認都是開啟GC日志的。nWAS的GC日志存放在native_stderr.log,通常位于/WebSphere/AppServer/profiles/logs/server1nApusic應(yīng)用服務(wù)器,文件名jvm_gc*.log,位于n

42、V5.3:/server/jvmlogs,server/instances/jvmlogs。nV5.4:/server/profiles/logsnIBM JDK、HP JDK可以輸出豐富的GC日志,SUN JDK較簡單。n警告:WAS不會自動清理日志文件,需要人工清理,否則文件可能會變得非常巨大。nIBM JDK GC日志分析() GC(90): GC cycle started Mon Sep 11 10:27:27 2006 = 32), weak 0, final 22, phantom 0l解釋:因申請31K內(nèi)存觸發(fā)了自應(yīng)用服務(wù)器啟動以來的第15次AF事件,上一次AF或者GC事件發(fā)生

43、在18s之前。AF觸發(fā)了第90次GC,本次GC共釋放81M內(nèi)存,完成后空閑31%,堆大小為366M(384104960)。整個AF周期共耗時100ms。(看起來一切正常)nDump分析(IBM JDK)nHeap Dump:JVM內(nèi)存Dump(HeapDump文件)。通過它可以快速診斷導(dǎo)致內(nèi)存消耗的原因。nJava Dump:JVM運行信息Dump(JavaCore文件)。包括環(huán)境信息,線程狀態(tài),鎖,堆棧等。用于診斷程序異常。n打開Dump收集開關(guān)nWAS請修改startServer.sh,其它環(huán)境修改/eas/server/bin/set-server-env.sh。增加下面的環(huán)境變量并ex

44、port。 IBM_HEAPDUMP=trueJAVA_DUMP_OPTS=ONOUTOFMEMORY(JAVADUMP,HEAPDUMP),ONINTERRUPT(NONE)“n當發(fā)生OOM時,系統(tǒng)通常會自動DUMP。當發(fā)生異常時,可以用kill -3 生成Heap Dump和Java Dump。nWAS的Dump文件會生成到相應(yīng)的profile目錄下,其它情況下通常會生成到/eas/server/bin 目錄下。名字為heapdump*.phd,javacore*.txt。nHP JDK GC日志分析工具HP Jmeter,豐富的圖形多角度展示GC情況。n匯總顯示GC統(tǒng)計信息n顯示JVM的

45、詳細參數(shù)以及操作系統(tǒng)當前信息n運行期間堆內(nèi)存使用趨勢圖n顯示每次GC的時間消耗圖n內(nèi)存分配總量變化趨勢圖n每秒內(nèi)存分配量變化圖n每個內(nèi)存區(qū)的大小和內(nèi)存使用趨勢圖nEAS節(jié)點故障類型n集群控制器失效或者故障原因:JDK、操作系統(tǒng)、程序Bugn影響所有客戶端無法工作。n單點失效(進程Crash等嚴重故障)原因:通常是JDK Bug、操作系統(tǒng)環(huán)境等引起n導(dǎo)致連接該節(jié)點的用戶中斷。n點擊“嘗試重連”,EAS客戶端會自動轉(zhuǎn)移到正常的節(jié)點。n重啟該節(jié)點,可自動加入集群環(huán)境。n如果是Master失效,通常須重啟集群。n單點故障(出現(xiàn)CPU高占用,內(nèi)存泄漏等)原因:業(yè)務(wù)功能內(nèi)存占用過大,連接泄漏,程序Bug等

46、。n連接該節(jié)點的用戶響應(yīng)變慢,白屏等。n可以手工重啟該節(jié)點,只影響部分用戶。n如果是Master故障,將影響所有用戶,通常重啟集群才能解決。n單點故障診斷n利用客戶端明確連接特定節(jié)點,判斷故障類型。ntelnet連接節(jié)點的EAS端口,是否能建立連接。nRPC RemotePing測試。n檢查操作系統(tǒng)中相應(yīng)的進程是否還存在。 psn查看節(jié)點進程的CPU消耗是否存在異常。 top,topasn查看GC日志,判斷內(nèi)存泄漏、頻繁GC等問題。n查看EAS服務(wù)器日志,性能日志等,檢查是否存在異常。nApusic pviewer查看數(shù)據(jù)庫連接泄漏問題,配置KSQL監(jiān)控菜單定位:。 :/ip:port/eas

47、portal/tools/ksqltrace.jsp nJconsole連接實例檢查內(nèi)存、線程、MBean狀態(tài)等。n :/ip:port/easportal/tools/threaddump.jsp顯示線程堆棧。n集群控制器診斷n查看負載均衡日志(loadbalance.log)判斷負載均衡是否正常。ntelnet 集群控制器端口是否正常。n利用netstat檢查并統(tǒng)計各節(jié)點的tcp連接占用情況。n檢查集群控制器進程狀態(tài)是否正常。n查看集群控制器GC日志,看是否存在內(nèi)存泄漏等問題。需先打開GC開關(guān)。-verbose:gc Xverbosgclog:nloadbalance日志分析nLoadBa

48、lance test connection to RPCServer(tcp:/localhost:11050)PF=0.2,P=0.007142857,CC=27,CF=false,LCT=2006-10-11 11:26:05 301,TCC=138LoadBalance dispatch connection to RPCServer(tcp:/localhost:11050)n解釋:每個連接轉(zhuǎn)發(fā)之前先進行測試,PF:該節(jié)點的權(quán)重;CC:該節(jié)點連接數(shù);CF:連接失?。?LCT:最后連接時間;TCC:連接總數(shù)。CF=false表示測試成功,接下來將請求轉(zhuǎn)發(fā)到本機11050端口。n如果CF=

49、true,則表示節(jié)點無法連接,需要進一步診斷原因。n本章節(jié)將從以下幾個方面講解n操作系統(tǒng)性能數(shù)據(jù)收集nSQL Server配置建議nSQL Server性能數(shù)據(jù)收集nSQL Server執(zhí)行計劃查看nOracle 配置建議nOracle 性能數(shù)據(jù)收集nOracle 執(zhí)行計劃查看n操作系統(tǒng)性能數(shù)據(jù)nAIX:topas、vmstat、iostat、sarnWin:任務(wù)管理器,性能監(jiān)視器n監(jiān)控TOP SQL(執(zhí)行時間消耗最多的那些SQL)nTOP SQL監(jiān)控結(jié)果示例n監(jiān)控死鎖n死鎖監(jiān)控n可以通過 select object_name(objectid)獲取對象名稱n執(zhí)行計劃查看(SQL Server

50、)n利用查詢分析器打開執(zhí)行計劃顯示功能,位于“查詢”菜單。n在“當前連接屬性”中打開統(tǒng)計信息輸出。n執(zhí)行計劃查看(SQL Server)nOracle 性能數(shù)據(jù)收集 Performance Managern執(zhí)行計劃查看nOracle 9i可以在sql scratchpad顯示執(zhí)行計劃。n命令行方式獲取SQL語句執(zhí)行計劃及統(tǒng)計n啟用收集執(zhí)行計劃n應(yīng)用用戶連接:SQL ?/rdbms/admin/utlxplannSQLCREATE public synonym plan_table for plan_table;nSQLgrant all on plan_table to public;nAut

51、otrace產(chǎn)生執(zhí)行計劃幾種方式 SET AUTOTRACE OFF -不生成AUTOTRACE 報告,這是缺省模式SET AUTOTRACE ON EXPLAIN - AUTOTRACE只顯示優(yōu)化器執(zhí)行路徑報告 SET AUTOTRACE ON STATISTICS -只顯示執(zhí)行統(tǒng)計信息SET AUTOTRACE ON - 包含執(zhí)行計劃和統(tǒng)計信息 SET AUTOTRACE TRACEONLY - 同set autotrace on,但不顯示查詢輸出 n編目,也即把遠程的數(shù)據(jù)庫映射到本地來ndb2 catalog tcpip node node6125 remote

52、5 server 50000ndb2 catalog database easdb as easdb at node node6125ndb2 connect to easdb user db2admin using db2adminn如何快速獲取錯誤信息n經(jīng)常能夠在EAS的報錯信息中看到db2的信息,諸如:錯誤信息:DB2 SQL error: SQLCODE: -911, SQLSTATE: 40001, SQLERRMC: 68n這是一個非常有用的信息,在db2的命令窗口中鍵入:db2 ? sql911(在SQLCODE前加上SQL關(guān)鍵字),則能很快得到這個錯誤的解釋、用戶下一步應(yīng)該做的

53、事情。n這是一個非常高效而簡單的過程,能夠解決90%以上的問題。n獲取實例級配置ndb2 get dbm cfgn獲取數(shù)據(jù)庫級配置ndb2 get db cfg for dbname n修改數(shù)據(jù)庫配置參數(shù)ndb2 update db cfg using 參數(shù)名 值 immediaten例如:db2 update db cfg using STMTHEAP 20480 immediaten獲取各種數(shù)據(jù)庫快照ndb2 update monitor switches using bufferpool on lock on sort on statement on table on timestamp

54、 on uow onndb2 get snapshot for db on dbname ndb2 get snapshot for locks on dbname ndb2 get snapshot for bufferpools on dbname n監(jiān)控SQL語句n連接數(shù)據(jù)庫db2 connect to dbname user username using pwdn創(chuàng)建event monitor,首先確保目錄存在并擁有write權(quán)限db2 create event monitor statemon for statements write to file /home/db2inst1/m

55、onn打開event monitor開關(guān)db2 set event monitor statemon state 1n可以看到目錄中生成一組擴展名為“ .evt ”的文件,這些文件就是事件監(jiān)視器文件。n關(guān)閉event monitor開關(guān)db2 set event monitor statemon state 0n將檢測結(jié)果輸出db2evmon -path /home/db2inst1/mon sqltrace.txt現(xiàn)象現(xiàn)象引發(fā)問題引發(fā)問題常見誘因常見誘因磁盤空間滿EAS無法啟動;客戶端報License過期;操作系統(tǒng)崩潰;日志占滿磁盤空間;EAS發(fā)生Dump;大的升級或者補丁占用;殘留EAS進

56、程無法停止EAS無法啟動;未停止EAS情況下調(diào)整部署結(jié)構(gòu);EAS進程故障;EAS進程消失客戶端報中斷錯誤;內(nèi)存參數(shù)超過操作系統(tǒng)限額;服務(wù)器遠程會話注銷;JDK Bug引發(fā);換頁空間用盡;EAS無法啟動EAS無法使用;內(nèi)存參數(shù)設(shè)置過大;Apusic License不匹配;防病毒軟件沖突;殘留EAS進程沒有停止;CPU 持續(xù)高消耗EAS響應(yīng)變慢,灰屏;并發(fā)壓力過大;部分業(yè)務(wù)功能異常;內(nèi)存參數(shù)不當,GC頻繁;換頁空間使用率高EAS響應(yīng)變慢,灰屏;EAS、操作系統(tǒng)崩潰;EAS內(nèi)存參數(shù)設(shè)置過高;EAS內(nèi)存泄漏;其它應(yīng)用占用過多內(nèi)存;Apusic License失效自動更新緩慢或者報錯;EAS運行緩慢,灰

57、屏;Portal功能慢,頁面無法正常顯示;Apusic License已過期;升級后忘了替換Apusic License文件,集群環(huán)境只替換了主實例,未替換其它實例;現(xiàn)象現(xiàn)象引發(fā)問題引發(fā)問題常見誘因常見誘因磁盤空間滿操作系統(tǒng)、數(shù)據(jù)庫崩潰;數(shù)據(jù)庫無法連接;EAS報數(shù)據(jù)庫異常;事務(wù)日志占滿空間;數(shù)據(jù)庫運行日志過多;CPU持續(xù)高消耗EAS響應(yīng)變慢;數(shù)據(jù)庫參數(shù)設(shè)置不當;統(tǒng)計信息過舊;索引缺失;功能缺陷;換頁空間使用率高EAS響應(yīng)慢;操作系統(tǒng),數(shù)據(jù)庫崩潰;操作系統(tǒng)參數(shù)設(shè)置不當;數(shù)據(jù)庫參數(shù)設(shè)置不當;數(shù)據(jù)庫運行異常;其它系統(tǒng)影響;IO等待率高EAS響應(yīng)慢;數(shù)據(jù)庫參數(shù)設(shè)置不當;全表掃描過多;數(shù)據(jù)庫碎片化嚴重E

58、AS響應(yīng)慢;未設(shè)置EAS臨時表空間;隨時間推移逐步碎片化;數(shù)據(jù)庫阻塞和死鎖EAS響應(yīng)慢;EAS部分功能或大面積灰屏;事務(wù)執(zhí)行時間過長;功能缺陷;現(xiàn)象現(xiàn)象引發(fā)問題引發(fā)問題常見誘因常見誘因網(wǎng)絡(luò)帶寬過低自動更新緩慢;EAS響應(yīng)慢;網(wǎng)絡(luò)不穩(wěn)定;帶寬被其它應(yīng)用占用;缺少Q(mào)oS配置;網(wǎng)絡(luò)延遲和丟包嚴重EAS響應(yīng)慢;網(wǎng)絡(luò)不穩(wěn)定;網(wǎng)絡(luò)負荷過大;網(wǎng)絡(luò)受到攻擊;EAS客戶端內(nèi)存消耗持續(xù)增加客戶端越用越慢;客戶端內(nèi)存泄漏;Portal方式登錄及使用慢 瀏覽器插件影響;防病毒,防火墻影響;其它程序影響;n文本編輯器nvi、dtpad(AIX)n顯示文件內(nèi)容ncat | pg 分頁顯示文件內(nèi)容。ntail -f nat

59、ive_stderr.log 滾動顯示日志信息。ngrep 顯示文件中,包括文本的所有行。n命令歷史nLinux可以直接用訪問歷史命令。nset -o vi 打開歷史命令編輯功能(sh不支持)。nEsc+k 顯示上一命令。然后用h、k滾動,回車執(zhí)行,Ctrl+c取消??梢允褂胿i行編輯及搜索命令。nr a=b 執(zhí)行上一條命令,執(zhí)行之前將命令中的a替換成b(AIX)。n進程操作相關(guān)命令nps -ef | grep java顯示所有java進程的詳細信息。nps -ef | awk /java/ & /apusic/ print $2 顯示所有apusic進程號。nkill -9 強行殺掉指定的進程。nkill -9 ps -ef | awk /java/ & /apusic/ print $2 殺掉所有apusic進程。(位于Tab鍵上方)nkill -3 可以收集JAVA進程的DUMP信息,收集可能需要較長時間,請注意檢查生成的文件時間和長度變化停止后才算完成。通常會生成heapdump*.phd,javacore*.txt兩個文件。(IBM JDK)n系統(tǒng)運行數(shù)據(jù)收集命令ntopas(AIX),top(Linu

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論