我眼中的 性能劣化、優化的曲線

jopen 10年前發布 | 6K 次閱讀 優化

我眼中的 性能劣化、優化的曲線

        性能劣化

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

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

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

        性能優化

我眼中的 性能劣化、優化的曲線

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

        從業務實現的角度進行優化的效果是很明顯的。

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

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

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

        作為開發人員,應該重視每一個細節。

來自: coderbee.net
                    <span id="shareA4" class="fl">                            
                        </span> 

</div>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!