使用者響應時間 = 伺服器響應時間 + 網路時間
除此以外,系統的可靠性、穩定性,也是需要考慮的。系統管理員可能經常會遇到系統不穩定,響應速度慢等問題。
系統完成一次請求或響應任務時,還與硬體裝置、系統設計、網路拓撲圖、內部網路連線裝置如交換機、路由器等接入裝置、以及路由的處理策略,網路線路等多方面有關。任何乙個環節出了問題,都是會影響到系統的效能。當系統出問題時,需要從應用程式、作業系統、伺服器裝置、網路環節、系統資源等多方面綜合排查,定位分析問題,然後集中解決問題。
系統效能分析思路
針對作業系統而言,不能只關注部署在系統上的應用不可用,訪問慢等問題。這些僅僅是乙個表面現象,應該系統地去分析應用程式在什麼樣的負載條件下,系統了執行了多少應用,系統的資源分配是否合理,系統是否超負荷執行,是否優化系統的資源來讓系統和應用程式耦合度更高。
在做系統效能分析前,首先要了解系統處理器的情況,如邏輯處理器、處理器型號、主頻率、cache大小、是否支援超執行緒技術等資訊,在知道這些的情況下,才能更好的進行系統的效能分析。
當cpu處於滿負載狀態時,需要結合系統附帶的一些監控分析工具。檢查相關的系統日誌,web伺服器應用日誌,db日誌等,結合輔助的一些命令如top、free、uptime、sar等輔助分析是否系統cpu會被完全占用。
應用程式java,可以通過jvm自帶的命令工具(jstat、jmap、jvisualvm、jconsole)來分析。mysql,可以通過資料庫監控(spotlight、monyog、及命令列的工具)來分析,以及考慮是否需要做負載均衡或加強機器效能。
當可用的記憶體太小,系統程序會被阻塞中,應用也將會變得非常緩慢,有時間會失去響應,嚴重的甚至可能會觸發系統的oom(記憶體溢位)從而引起應用程式被系統給殺死,更嚴重的情況可能會引起系統重啟。當機器的記憶體太大的時候,有時候也是一種浪費。這時候要考慮做一些快取伺服器來提公升系統效能。
虛擬記憶體也是在記憶體裡面考慮的效能指標。在系統設計中,當系統的物理記憶體不夠用,就需要將物理記憶體中的一部分空間釋放出來,以供當前執行的程式使用。那些被釋放的空間可能來自一些很長時間沒有什麼操作的程式,這些被釋放的空間被臨時儲存到虛擬記憶體空間中,等到那些程式要執行時,再從虛擬記憶體中恢復儲存的資料到物理記憶體中。
這樣,系統總是在物理記憶體不夠時,來進行記憶體之間的交換。有時可能越過系統效能瓶頸,節省系統公升級費用。在做效能分析的時候,要考慮系統有無設定虛擬記憶體,以及虛擬記憶體的使用情況。
系統磁碟資料的讀寫,i/o讀寫的效能直接會影響系統程式的效能。讀寫的效能直接會影響系統程式的效能,磁碟i/o系統是系統中最慢的部分。主要是cpu處理頻率較磁碟的物理操作快幾個資料級。如果拿讀取磁碟和記憶體的時間作比較就是分鐘級到毫秒的區別。i/o比較頻繁的(讀或寫)時候,如果i/o得不到滿足會導致應用的阻塞。針對i/o的場景模型,要考慮的有i/o的tps、平均i/o資料、平均佇列長度、平均服務時間、平均等待時間、io利用率等指標。
系統應用之間的互動,尤其是跨機器之間的,都是要基於網路的,因此網路頻寬、響應時間、網路延遲、阻塞等都是影響系統效能的因素。假如應用在不穩定、不安全的網路下會導致應用程式的超時、丟棄、阻塞、波動率大,這些在系統中是不能接收的。在系統中,要考慮對應的網路是否可達、防火牆是否開啟、埠的訪問、寬頻是否有被限制、路由的定址、網路的延時等問題。
瓶頸閾值分析思維導圖
診斷oracle效能
檢視session的運 況 select v.blocking session,v.sid,v.sql id v.event,v.row wait obj v.row wait file v.row wait block v.row wait row v.from gv session v wher...
Oracle Statspack效能診斷工具
statspack是oracle強大的狀態收集及效能診斷工具,是dba及資料庫相關人員進行問題診斷的重要手段,是dbad的一大利器 1 系統引數設定 先查詢系統引數 show parameter job queue processes show parameter timed statistics ...
軟體效能分析及診斷
從使用者的角度,軟體系統的效能就是軟體對使用者操作的響應時間。從系統管理員的角度,軟體系統的效能首先表現在系統的響應時間上,這點與從使用者的角度看是相同的。其次,對於管理員來說,在關注系統穩定執行持續良好的效能外,還關心系統的狀態資訊,如併發100使用者時,cpu狀態,應用伺服器執行狀況等。另外系統...