性能問題診斷基礎_第1頁
性能問題診斷基礎_第2頁
性能問題診斷基礎_第3頁
性能問題診斷基礎_第4頁
性能問題診斷基礎_第5頁
已閱讀5頁,還剩48頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

EAS系統(tǒng)管理員

—EAS性能問題診斷基礎講師:黃云志金蝶顧問學院名詞解釋EAS部署模型EAS性能問題分類EAS性能問題診斷與分析總目錄了解性能問題主要分類掌握性能問題處理流程掌握性能問題基本診斷方法課程收益全國金蝶認證唯一指定叢書金蝶顧問學院認證產品部組編《金蝶認證教材—EAS系統(tǒng)管理員》《金蝶認證課件—EAS系統(tǒng)管理員》《金蝶認證考綱和考題—EAS系統(tǒng)管理員》課程介紹學習EAS性能問題的主要分類及排除手段;學習EAS性能問題的日志收集及診斷;時間:40%專業(yè)知識+20%產品演示+40%操作練習;課程介紹JVM

java虛擬機,java程序運行在java虛擬機中,它能模擬實際處理器的結構,解釋字節(jié)碼,并且擁有自己的內存空間。因為有jvm,所以java可以跨平臺

GC

java的內存是通過垃圾回收機制來回收的,一次gc操作,就是一次回收內存RPC

該課件提及的rpc,是指金蝶自主開發(fā)的ORM-RPC協(xié)議,用于eas的遠程調用,rpc日志則是記錄從eas客戶端調用到應用服務器,應用服務器到數據庫這一過程的性能數據,用于性能分析線程堆棧

指程序運行時的方法調用過程,分客戶端和服務端堆棧,通過對其的分析,可判斷目前eas在運行什么方法調用,在做什么操作名詞解釋統(tǒng)計分析(統(tǒng)計信息收集)收集數據庫中對象的詳細信息,并存儲在相應的數據字典。因為目前數據庫優(yōu)化器采用的是基于成本的規(guī)則,需要這些信息生成最優(yōu)的執(zhí)行計劃來運行sql語句。換頁空間

用作虛擬內存的空間,unix、linux等操作系統(tǒng)會將物理內存做為文件緩存使用,通過對

換頁空間使用率的高低觀察,可判斷操作系統(tǒng)內存是否吃緊磁盤IO

對磁盤的讀寫操作,尤其數據庫文件,會涉及到大量的磁盤IO內存溢出程序運行要用到的內存大于虛擬機能提供的最大內存內存泄露對象有被引用,但程序以后不會再使用這些對象,這些對象不能被GC回收,然而它卻占用內存。名詞解釋EAS部署模型-網絡圖客戶端性能網絡性能應用服務器性能數據庫性能EAS部署模型-部署圖(6.0)支持本機和多機集群一臺機器可以部署多個EAS組成本機集群。可以將多個服務器上EAS組成多機集群。兩種模式可以混合使用。異構的應用服務器之間可以組成集群。自動負載均衡和高可用特性:大并發(fā)時減少單點內存占用,降低故障幾率;根據預設權重以及運行期的實例負荷情況進行自動負載均衡;當實例健康狀態(tài)惡化,無法自行恢復時,系統(tǒng)會主動重啟相應的實例。實例因故障失效后,客戶端能重新連接到正常實例,且當前工作內容不會丟失。在運行期可以動態(tài)地裝載或者卸載EAS運行實例。自主集群技術:不依賴操作系統(tǒng)或者應用服務器的集群技術。EAS部署模型-EAS集群模型特點EAS性能問題分類—癥狀性能問題癥狀系統(tǒng)已經癱瘓,不可用系統(tǒng)整體非常緩慢部分功能點緩慢功能點卡住,“假死”狀態(tài)應用服務器或數據庫服務不能啟動EAS性能問題分類—排查手段序號問題描述分類排查手段1系統(tǒng)大面積報錯,提示與服務器失去聯(lián)系,系統(tǒng)已經癱瘓

應用服務器宕機1、通過管理控制臺查看實例的狀態(tài)

2、通過客戶端修改服務器rpc端口號以測試各個實例是否能登陸數據庫宕機數據庫連接工具或命令(sqlplus)數據庫連接泄露服務器未宕機,所有客戶端登陸報錯,搜索apusic日志中是否有"Resourceunavailable"的錯誤信息

2系統(tǒng)整體非常緩慢;大面積出現白屏;難以登錄;響應時間衰減嚴重服務器資源消耗嚴重查看cpu及內存使用情況數據庫資源消耗嚴重查看cpu及內存,io使用情況數據庫阻塞1、Oracle可通過em查看頂級會話是否出現一片“紅色”及實例鎖

2、sqlserver可查看活動監(jiān)視器網絡問題ping-l1000服務器ip,響應時間在50ms以下,丟包率2%以下下載更新導致服務器端網絡阻塞大量客戶端做更新操作,同時網絡阻塞,排查方法同上3某些功能點長時間等待或導致客戶端“死機”數據庫阻塞同上述數據庫阻塞功能點性能問題最終能操作完成4部分功能點慢功能點性能問題其他功能點正常5部分客戶端緩慢網絡問題或客戶端自身配置問題其他客戶正常6EAS服務器或集群不能啟動N/AN/A7數據庫不能啟動N/AN/A結合案例來對如下問題進行分析診斷功能點緩慢功能點“卡死”部分客戶端存在性能問題整體性能緩慢系統(tǒng)癱瘓EAS性能問題診斷與分析概述

屬于單點功能的性能問題,現場反饋只是特定功能點慢相關日志收集rpc日志客戶端線程堆棧

涉及到的知識點RPC日志分析使用jconsole工具收集客戶端線程堆棧

診斷與分析—功能點緩慢

功能點緩慢—處理流程收集rpc日志客戶端(eas\client\logs):rpcD.V60SP1.log服務器(server\profiles\server(N)\logs):RpcSqlD.V60SP1.log,SqlPlanD.V60SP1.log收集方法參考《EAS性能問題判斷定位與日志收集》分析rpc日志記錄操作過程中客戶端與應用服務器,應用服務器與數據庫服務器之間的交互過程交互執(zhí)行的動作、消耗的時間、數據流量等定位問題客戶端計算耗時網絡問題應用服務器計算耗時Sql語句耗時

功能點緩慢—rpc日志分析

功能點緩慢—rpc日志分析

場景

如下圖,兩個結束時間之間存在近30秒的調用,而rpc的調用時間卻為0,說明時間消耗在客戶端的計算,需要知道程序具體在執(zhí)行什么操作耗時(雖然知道是refresh方法,但還不能準確定位)

收集工具利用jdk自帶的工具jconsole來收集。每個eas客戶端的安裝目錄下都有安裝jdk,進入jdk安裝目錄(如eas\clientjdk\bin),

運行jconsole.exe

功能點緩慢—客戶端線程堆棧收集

功能點緩慢—客戶端線程堆棧收集概述

客戶端操作某個功能點長時間沒反應,表現為假死狀態(tài)相關日志收集服務端線程堆??蛻舳司€程堆棧數據庫鎖信息

涉及到的知識點如何打開并分析服務端線程堆棧如何使用em工具查看阻塞如何查看sqlserver的鎖等待

診斷與分析—功能點“卡死”

功能點“卡死”—處理流程是否有相關功能堆棧信息查看服務器線程堆棧根據堆棧信息判斷是否在等待數據庫返回查看客戶端線程堆棧否是查看數據庫鎖或阻塞是分析服務端代碼邏輯否分析客戶端代碼邏輯確定功能點運行在哪個實例上用戶監(jiān)控客戶端直接配置指定的server(實例)通過管理控制臺獲取該實例的http端口在瀏覽器中輸入如下URL

端口號/easportal/tools/threaddump.jsp

功能點“卡死”—查看服務器線程堆棧

功能點“卡死”—查看服務器線程堆棧Oem的操作詳見《OracleEnterpriseManager(OEM)基礎管理》

功能點“卡死”—查看oracle的阻塞

功能點“卡死”—查看oracle的阻塞ManagementStudio->對象資源管理器->數據庫實例->管理->活動監(jiān)視器

根據上圖,進程51的阻塞者為56,而56無阻塞者,并且阻塞一欄為1,說明56為阻塞源頭。查看該56號進程的sql并定位問題功能點“卡死”—查看sqlserver的鎖等待概述

部分客戶端存在性能問題,或者不同網段的客戶端存在性能問題相關日志收集客戶端eassupport涉及到的知識點網絡診斷客戶端配置

診斷與分析—部分客戶端存在性能問題子公司一般都是通過外網來訪問總部eas系統(tǒng)的,網絡質量不穩(wěn)定對EAS的運行性能可能產生較大的影響,網絡質量的評價指標主要包括帶寬、延遲、丟包率等。

要保障EAS正常運行,對于網絡質量有如下要求:每客戶端128kbit的帶寬保障;

多人共用出口時,帶寬要求:客戶端數量×128/2(客戶端數超過5人),客戶端數量×128/3(客戶端數超過10人);網絡延遲低于50ms(為理想值)小于100ms為可接受值;如果超過100ms,響應性能會出現明顯衰減不穩(wěn)定現象。丟包率小于2%。(附:電信服務規(guī)范,因特網數據傳送業(yè)務的服務標準第項IP包丟失率<2%)部分客戶端存在性能問題—網絡問題連通性測試ping<ip>-l1000–n100

,響應時間少于50ms,丟包率少于2次。文件下載測試從應用服務器進行http文件下載,速度應大于16KB/S。下載文件可正常打開,沒有錯誤。eassupport工具收集最新版本會自動進行ping、rpcping、tracert、下載測試等。流量監(jiān)測DUMeter,Cacti。發(fā)現流量異常,判斷是否有病毒等問題。部分客戶端存在性能問題—網絡問題

某些輸入法導致JVM異常退出查看client/bin或者桌面,通常能看到hs_err*.log文件,打開可看到如下字樣:

這里的最后一行UNISPIM6.IME是導致異常退出的模塊名字,google一下,通常就會知道是什么輸入法,甚至其版本號。JDK的Bug

同上,通常能看到hs_err*.log文件

部分客戶端存在性能問題—窗口消失查看客戶端日志文件(client.log)java.lang.OutOfMemory:Javaheapspacejava.lang.OutOfMemory:PermGenspace

修改set-client-env.bat中JVM_MAX_PERMSIZE變量的值為128或者更大,若無,請增加一行并設置java.lang.StackOverflow出現這樣的異常信息,通常是產品Bug引起,需要需求反饋系統(tǒng)提單處理

部分客戶端存在性能問題—內存溢出異常概述

現場反饋整體性能衰減,所有功能點運行緩慢相關日志收集Rpc日志客戶端eassupport、服務端eassupport數據庫配置信息、Awr報告

涉及到的知識點操作系統(tǒng)性能數據收集Cpu,內存,io等性能指標應用服務器與數據庫服務器參數調優(yōu)OEM查看頂級活動gc日志分析

診斷與分析—整體性能緩慢

整體性能緩慢—處理流程參數檢查應用服務器參數設置數據庫服務器參數設置查看應用服務器使用資源cpu消耗內存消耗查看數據庫服務器使用資源cpu消耗內存消耗IO等待sql頂級活動Oracle數據庫整體性能緩慢—數據庫參數檢查參數說明sga_max_size(物理內存*80%)*80%sga_target等于sga_max_sizepga_aggregate_target(物理內存*80%)*20%processesmax(500,EAS并發(fā)用戶數)open_cursors建議改為500optimizer_index_caching調整基于成本的優(yōu)化程序的假定值,建議值90optimizer_index_cost_adj索引方式與全表掃描成本折算比例,建議值50_b_tree_bitmap_plans在可以使用兩叉樹索引時,不考慮使用位圖索引,建議值FLASE(視情況修改)_no_or_expansion避免綁定變量復雜的語句解析執(zhí)行計劃時消耗過多內存,建議值TRUE(視情況修改)plex_view_merging避免使用內部復雜視圖合并,建議值FALSE(視情況修改)服務器JDK參數優(yōu)化整體性能緩慢—應用服務器參數檢查#參數配置文件:eas\profiles\server(N)\bin\set-server-env.bat(sh)1JVM_INITIAL_HEAP_SIZE最小堆內存,設置Xms、Xmx相等以避免在每次GC后調整堆的大小,默認空余堆內存小于40%時,JVM就會增大堆直到-Xmx的最大限制,大于70%時,JVM會減少堆直到-Xms的最小限制2SETJVM_MAX_HEAP_SIZE最大堆內存,非window系統(tǒng)設置為1536m,windows系統(tǒng)設置為1024m3JVM_VERBOSE_GC生成gc日志,默認為true4JVM_CUSTOM_PARAMSibmjdk-Xgcpolicy:gencon-Xmn200m(分代垃圾回收)Sun(hp)jdk-XX:NewSize=200m-XX:NewRatio=6-XX:MaxTenuringThreshold=1-XX:+UseParallelOldGC-XX:+DisableExplicitGCAIX:topasHpunix、linux:topWin:任務管理器,性能監(jiān)視器整體性能緩慢—應用服務器性能數據收集這是最常見的引起系統(tǒng)緩慢的因素,主要由如下兩個原因引起程序問題(復雜計算或死循環(huán)等)

通過收集服務器線程堆棧信息來分析jvm內存緊張通常jvm內存參數設置過低、GC參數設置不當或者應用存在內存泄漏,可引發(fā)頻繁FUllGC,會出現整體CPU利用率偏高的情況

注:如果出現內存溢出(也就是最終導致無可用內存分配),通常系統(tǒng)會宕機,但在某些jdk下(hpjdk),jvm會嘗試不斷回收內存(fullgc),造成系統(tǒng)大量消耗cpu,系統(tǒng)近乎癱瘓,這種情況的出現后,要手工收集內存文件(heapdump文件),用于事后分析,并果斷重啟eas服務。整體性能緩慢—應用服務器CPU持續(xù)高消耗案例(癥狀:應用服務器cpu占用高,系統(tǒng)運行緩慢)

AIX系統(tǒng),用topas查看資源使用情況整體性能緩慢—應用服務器CPU持續(xù)高消耗判斷是否為內存緊張導致

整體性能緩慢—應用服務器CPU持續(xù)高消耗判斷是否為內存緊張導致

整體性能緩慢—應用服務器CPU持續(xù)高消耗手工生產heapdump文件和線程堆棧用于分析,同時重啟有異常的eas實例HpJDK 1、$EAS_HOME\eas\profiles\server*\bin\set-server-env.sh里加上參數: JVM_CUSTOM_PARAMS="-XX:+HeapDump“2、運行kill-3進程號

IBMJDK

http://應用服務器IP:http端口號/easportal/tools/dump.jsp?type=heapdumpSun

JDK

用JDK自帶的jmap程序直接收集Windows系統(tǒng):jmap-dump:format=b,file=<filename><pid> Linux系統(tǒng):jmap–heap:format=b<pid>

整體性能緩慢—應用服務器CPU持續(xù)高消耗原因存在大量的全表掃描存儲設備的IO吞吐能力有限解決辦法優(yōu)化sql語句,查看索引是否建立正確,消除全表掃描檢查存儲設備是否存在瓶頸或者故障并排除。檢查操作系統(tǒng)、數據庫參數配置是否不當并調整整體性能緩慢—IO等待率高整體性能緩慢—IO等待率高整體性能緩慢—OEM查看頂級活動概述

現場反饋客戶端大面積報錯,無法登陸,系統(tǒng)不可用相關日志收集服務端eassupportoracle數據庫alert信息·Heapdump文件收集、打開、分析連接泄露

診斷與分析—系統(tǒng)癱瘓

系統(tǒng)癱瘓—處理流程應用服務器宕機數據庫服務器宕機數據庫連接不可用Servertrace查看服務器是否有異常停機$EAS_HOME\eas\profiles\server*\logs\server.trace

說明:[killserver]是人工手動執(zhí)行killserver.sh[Autokillserver]是管理控制臺自動殺掉(CC通知控制臺重啟實例時的記錄)[Stop]人工手動停止[Start]啟動JDKbug宕機$EAS_HOME\eas\profiles\server*\bin\hs_err_pid*內存溢出(OOM)宕機IBMJDK出現內存溢出宕機時會自動在如下目錄生成內存鏡像文件。其他JDK默認情況下則不會。$EAS_HOME\eas\profiles\ser

溫馨提示

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

評論

0/150

提交評論