效能測試過程中,我們會去監控資源的使用情況,一般監控哪些方面呢?
1、伺服器的資源情況(cpu/記憶體/網路/執行緒)
2、資料庫(慢查詢/死鎖)
3、中介軟體(redis/memcache/rabbitmq)
某日,在測試監控過程中發現,應用伺服器的cpu非常高。
分析:應用cpu高,說明程序非常耗用資源,程序又是由執行緒組成的,故登入伺服器排查:
步驟:1)用top命令檢視占用資源高的程序,記下程序pid。
2)top -hp pid 列出程序下面的哪些執行緒消耗資源,記下執行緒的pid,轉換為16進製制。
3)打出程序dump資訊:命令為:jstack -l pid >111.txt
5)定位到**,就是**的執行緒一直在耗費資源,定位出來讓研發去解決。
原因:我之前專案的原因是;使用了不安全的執行緒,導致占用cpu較高。
至此,完美定位並且解決了占用資源高的效能問題。
應用伺服器cpu,記憶體占用高
自上次解決負載均衡導致伺服器飄紅問題後,房產應用伺服器還是會時不時出現cpu負載過高的問題,並經常在半夜0點後,偶爾也在白天。開始查詢問題原因。1.哪些請求太慢?找出了一些慢請求,結果分析後,找不出導致慢的 而這些慢的請求也是在服務出問題時出現的。2.cpu高時記憶體是正常的,開始懷疑是不是因為jv...
應用伺服器CPU高效能定位和排查
本課程的主旨及目標 導致應用cpu高的常見原因 定位問題的大體思路 定位問題的具體方法 實際案例 應用cpu高常見原因 1.程式計算比較密集 2.程式死迴圈 死鎖 3.程式邏請求堵塞 4.io讀寫太高 df h看看磁碟是不是滿了 5.自創執行緒沒有限制 執行緒池 6.不合理的建立物件,導致頻繁gc ...
基於應用伺服器的測試
web伺服器 通過ms iis bea weblogic和apache等中介軟體 外掛程式,提供internet intranet web服務,實現與眾多客戶之間的資料交換和共享。資料庫伺服器 提供資料的查詢 處理的平台,通過oracle sql server informin db2等中大型資料庫...