性能調優整體思路
作爲一名團隊技術核心,如何讓系統跑得通、跑得穩、跑得快是必然會面對的場景。性能分析是一個大課題,不同的架構、不同的應用場景、不同的程序語言分析的方法若有差異,抽象一下大致分爲兩類:
自底向上:通過監控硬件及操作系統的指標(CPU、內存、磁盤、網絡等硬件資源的性能指標)來分析性能問題(配置、程序等問題)。因爲用戶請求最終是由計算機硬件設備來完成的,做事的是CPU。
自頂向下:通過生成負載來觀察被測試的系統性能,比如響應時間、吞吐量;然後從請求的起點由外及裏一層一層的分析,從而找到性能問題所在。
不管是自上而下還是自下而上,關鍵點就是生成負載、監控性能指標。好一點的方式是先用自頂向下的方式解決掉明顯的性能問題,再結合自底向上的方式分析更深層次的問題。
性能分析過程
步驟名稱 | 說明 |
檢查RT | 模擬用戶發起負載後,採用的自頂向下的方式首先分析RT(響應時間) |
檢查TPS | TPS大時RT小,說明性能良好 |
檢查負載機資源 | 檢查CPU使用率,CPU負載(Load Average)確認是用戶CPU佔用高還是系統CPU佔用高 |
判斷負載機是否有性能問題 | 排除負載機的性能問題,確保測試結果可參考 |
檢查Web服務器的資源消耗 | 1、檢查CPU使用率,確認用戶CPU與系統CPU佔用情況 |
確認是否Web服務器瓶頸 | 標判斷是否是Web服務器硬件性能瓶頸 |
檢查中間件配置 | 確認是否是此配置問題 |
檢查APP服務器資源消耗 | 關注CPU、內存、磁盤、IO,判斷是否是App服務器硬件性能瓶頸 |
數據庫服務器資源消耗分析 | 1、CPU消耗,CPU負載 |
是否是DB性能問題 | 由監控結果來判斷是否是DB性能問題 |
是否SQL問題 | 1、定位最不合理的SQL佔比索引是否正常引用 |
其他 | 比如網絡阻塞、磁盤IO瓶頸、熱點等 |
.NET性能調優四天集訓
3月11日~14日,架構師Zilor老師將帶領大家開啓.NET性能調優4天突擊營,Zilor老師擁有12年軟件開發經驗,7年大型互聯網架構經驗,此次,他將會爲大家覆盤.NET性能調優的經典場景,爲大家提供高效、接地氣的解決方案,讓您迅速成爲面試官或同事眼中的“老司機”。
課程原價599元,本號粉絲一律0元學(免費名額僅499名),長按掃碼進班級羣。
第一天:如何使用VS進行性能排查算法對性能的影響
緩存對性能的作用
鎖的問題
響應與吞吐
Performance Diagnostic Tools
內存緩存與響應緩存中間件
響應壓縮
負載測試與壓力測試
SQL語句優化
索引
分區、分表與分庫
讀寫分離
延遲加載與貪婪加載
IQueryable與IEnumerable的區別
實體追蹤
查詢優化
標量函數
進羣享四大福利
福利1:送價值399元.NET Core視頻合集
福利2:送價值299元微服務視頻合集
福利3:送價值499元數據結構算法視頻合集
福利4:贈送價值199元Redis視頻合集
掃碼獲取以上福利
僅限前199名