效能測試如何定位(思路)

2022-05-08 11:27:11 字數 886 閱讀 9056

思路如下:(從前到後,從表象到內部)

首先排除壓力機自身的問題,如cpu、記憶體、網路、指令碼、應用環境等問題;

監控中介軟體的訪問日誌,觀察響應時間,大體確定耗時處於哪乙個階段(把範圍縮小);

排查網路問題,監控壓力機到後端服務的網路,以及各服務間的網路,是否達到網路上線(網路問題一般不會出現,但是容易被忽略,條件允許的話,效能測試的網路獨立);

監控服務端所有機器的作業系統負載,如cpu,記憶體,磁碟,網路是否達到瓶頸(這塊主要監控應用伺服器和資料庫伺服器作業系統級別的);

監控應用服務的日誌,檢視是否有error,或者timeout級別的報錯(主要開啟部署應用,動態監控);

監控中介軟體的連線數,如nginx、tomcat、mysql 是否達到上限(目前專案中我就是檢視了mysql的連線數:show variables like '%connections%'和show status like '%thread%')

監控應用程式執行緒狀態,使用jstack和jvisualvm檢視是否有死鎖、阻塞情況;(監控的方法關注後面的blog);

監控應用程式的jvm,使用jstat和jmap檢視gc情況,是否有記憶體洩漏情況;

使用jprofiler監控應用程式,可以檢視耗時時間比較長的**(這個工具需要破解,在公司慎重使用,萬一被安排上了,哈哈)

監控資料庫,是否有慢查詢,一般資料庫cpu過高的原因都是慢查詢(這個一般阿里雲會提供這種服務,可以隨時監控);

監控資料庫執行計畫,是否有全表掃瞄,以及索引不生效的情況;

檢查系統是否有外部依賴情況,如果外部依賴性能很差,也會造成效能低下(這此壓測主要的問題,就是因為外部依賴性能差的原因);

對於不好定位的問題,可以採用模組隔離的方法來確定問題

ps :以上的思路都是理論,如何實踐,還需要做專案時,親自體會

如何定位專案效能問題

當遇到效能問題時,我們該怎麼辦?分治策略 1.首先我們應將整個專案細分成多個模組 2.測試每乙個模組的效能,找出每乙個模組的問題,分而治之 3.每乙個模組的效能都解決了,那麼整合到一起的專案效能問題舊解決了 如何gettickcount測試單個介面的呼叫時間?1.系統api gettickcount...

效能測試 瓶頸定位 工具使用(下)

報告分析 1 為方便查詢 a 以 timestamp webtestname userload 命名 test result b 將部分指標以 換算 ex network i o fail ratio 2 效能定位的目的 基於成本考量,將系統最昂貴部分用至極限從而確定了優先順序排序 i o cpu ...

如何對測試物件進行定位

首先,謝謝的分享。花了2周時間,看了幾本關於這方面的書,基本走完了selenium python webdriver的第一遍,目前能夠搭建環境,做到對任何網頁的控制項定位以及進行自動化測試,並能夠實現將測試結果生成測試報告以及資料引數化等知識點。前面幾篇博文是親自動手反覆實現過。通過實踐練習,對we...