小議性能測試中的曲線圖

小強創立的“三級火箭”學習方式


1、參加培訓班,即報名繳納學費後,拉入專屬QQ羣,由老師親自上課進行講解,課後仍提供視頻

  • 性能測試培訓班招生中,報名與諮詢QQ:2083503238

  • python自動化測試培訓班招生中,加入QQ羣519996731進行諮詢(備註我愛python)

2、挨踢脫口秀,由小強創辦的免費公益的脫口秀,目前從播放量和粉絲數上都遙遙領先,好評無數!收聽地址:http://www.lizhi.fm/200893/ (手機安裝荔枝FM客戶端,搜索 挨踢脫口秀 ,然後訂閱我們即可)

3、看視頻學習,即購買視頻後即可觀看,進行自學,地址:http://edu.51cto.com/lecturer/user_id-4626073.html


壞曲線

wKioL1Rq5EHBvo3uAABirz3YMyk969.jpg

性能劣化的圖形


隨着代碼寫得越來越爛,程序運行時 數據庫操作更多、IO 阻塞等待跟過、不必要的對象創建、GC 回收更頻繁,線程的上下文切換也更多,開銷越來越多,所有因素綜合起來,程序運行更慢,響應延遲加大。


當到達臨界點的時候,壓垮駱駝的最後一根稻草出現了,系統直接崩潰。


壞東西、副作用是會累積的。


稍好點的曲線

wKioL1Rq5F6gtM5wAABjDRK6r-Y295.jpg

性能優化的圖形


代碼的實現一直保持良好,不斷通過 合併查詢等措施減少數據庫操作,通過優化SQL語句縮短了單次數據庫操作的時間,通過更好的日誌記錄方式減少 IO 操作,減少 IO 阻塞等待的時間,進而又可以減少線程切換的次數,通過避免不必要的對象創建,可以提升代碼的執行速度,還可以減少 GC 的次數,種種優化效果綜合起來的結果就是程序運行穩定,響應時間縮短。


從業務實現的角度進行優化的效果是很明顯的。當然,到達臨界點之後,也就是沒法從業務實現的方式上優化性能的時候,只能通過更底層、更細微的優化手段進行優化,比如 JVM 參數、系統參數 調優等,這些措施帶來的效果都是不怎麼明顯的。


比如,業務實現減少一次數據庫操作,至少可以減少 10ms 的延遲,但要在更底層的地方得到 10ms 的優化效果應該是很困難的。


正面的作用也是可以累積的,只不過幅度是很緩慢的,且達到一定程度就很難再繼續提升了。


wKiom1XO6-qg9tLvAAC1mdY8jWo470.jpg

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章