很多創業型企業,都是追求快速把產品推向市場。也因這個因素,在設計和研發過程中,往往追求快為目標,在架構選型、代碼編寫等環節往往疏忽了性能的考慮。但這種現象是屬於正常的,一個好的產品是在客戶使用下不斷重構成長起來的。 產品的長期運行中,會隨著數據的不斷龐大、操作用戶的不斷增加及網路慢等元素,會慢慢.....
很多創業型企業,都是追求快速把產品推向市場。也因這個因素,在設計和研發過程中,往往追求快為目標,在架構選型、代碼編寫等環節往往疏忽了性能的考慮。但這種現象是屬於正常的,一個好的產品是在客戶使用下不斷重構成長起來的。
產品的長期運行中,會隨著數據的不斷龐大、操作用戶的不斷增加及網路慢等元素,會慢慢暴露出系統運行慢的問題。在這裡給大家分享一些在實際操作中如何快速定位問題的方方法。
1、現象:
1、用戶會經常反饋在某個時間節點系統運行速度非常卡
2、在某次系統升級後,某個查詢功能突然非常慢或某個功能無法使用等。
3、經常接到用戶投訴系統突然操作很慢的問題。
2、發現變化
大家在接到用戶的投訴時,千萬別盲目的打開代碼或調試代碼。首先是瞭解一下用戶的操作場景,例如
現象一,瞭解一下這個時間節點系統都在頻繁做一些什麼運算、這個時間節點用戶是否頻繁操作某個功能導致。
現象二、先瞭解一下這次升級的功能點所做的改變,是否因增加或修改某個功能導致性能慢
現象三,首先先瞭解客戶的網路情況,如果發生現象的頻率很低,及大部分用戶無反饋慢的現象,優先考慮用戶的網路環境導致。
3、跟蹤變化
通過發現變化,把問題的範圍進行縮小。
現象一,通過後臺監控獲取這個時間節點一些日誌例如:資料庫使用日誌報告、SQL語句的監控、IIS請求數的監控及IIS請求日誌、伺服器資源的監控、網路境況等因素
現象二、瞭解本次升級所做的改變,從而快速定位是否是SQL語句問題或演算法進入死迴圈或堵塞等因素。
現象三、通過一些網速測試、ping\tracert等命令來判斷用戶網路情況。
4、定位問題
通過上述的查找環節來快速定位問題。