後端系統效能優化經驗總結

2021-09-01 23:29:02 字數 1132 閱讀 8742

一、關於效能優化

效能優化這個詞其實還是蠻火的,很多時候都會聽很多人說過需要對系統進行優化,恰好自己經歷過乙個系統的優化週期,還算是有點小小的心得。

為什麼要優化系統效能,這個問題大家都心知肚明的。對於公司而言,如果一台機器可以做以前兩台機器的活,老闆能不高興嘛,公司成本降低了;

對於程式猿而言,效能優化應該是展現價值的所在,在優化的過程中更能提公升自己的核心競爭力。

二、效能優化的關鍵

看過很多哲人說過:過早的優化是萬惡之源。這句話自己還是有一點點體會的,什麼算是過早的優化。首先就是對於整體系統不熟悉,就拿後端系統舉例子,如果不能說出query從進入系統後一步一步的操作,到最終結果輸出出去,這就不能叫熟悉系統;熟悉系統只是可以進行系統優化的乙個小小的前提,除此之外還需要找出當前系統的瓶頸所在。

系統效能優化並不是東一榔頭西一棒子的那種做法,那樣做的後果是你付出了很多,可能最終得到的收益少的讓你自己都不敢相信。比如大家都看過河水的流動,當遇到河道狹窄的時候,河水的流量就會受限,儘管狹窄段的前部和後端都是比較寬廣的,這就是傳說中的瓶頸,當然這也符合木桶理論。只有真正找到系統的瓶頸,針對瓶頸進行優化,你的工作才能得到最大的收益。當時自己針對系統瓶頸進行優化後,系統整體系統提公升了3倍。

三、尋找瓶頸與解決瓶頸

在了解了系統瓶頸的重要性之後,我們需要學習如何尋找瓶頸。自己的做法是先人肉尋找可能的系統瓶頸,包括通過經驗大膽判斷,查詢日誌等,等有了大致的結論後,再採用工具檢查系統的瓶頸,兩者結合驗證,基本就可以確定瓶頸所在。

在自己的系統優化中也得到一些經驗需要分享一下:

1. 將需要處理的資料盡量集中,這可以最大發揮快取記憶體的作用。高速cache的工作原理是儲存cpu最常用資料,當cache中儲存著cpu要讀寫的資料時,cpu直接訪問cache。由於cache的速度與cpu相當,cpu就能在零等待狀態下迅速地實現資料訪問。

3. 合理的採用應用cache。程式中的存在cache可以很大的提高系統效能,自己必須根據系統的特點擊擇動態cache還是靜態cache。個人推薦能採用靜態cache就採用靜態cache。

4. 作為後端系統,更應該把自己看成服務的提供者,應該多為前端呼叫者著想,將更多的複雜的邏輯放在後端執行,最後提供給呼叫者的是最簡單,最實用的結果。

四、寫在最後

自己告訴自己:優化到一定階段需要壓制一下自己內心盈動的熱情。

MYSQL 效能優化的經驗總結

訪問量越來越大,mysql自然成為瓶頸。因此mysql 的優化成為我們需要考慮的問題,第一步自然想到的是 mysql 系統引數的優化,作為乙個訪問量很大的 日20萬人次以上 的資料庫系統,不可能指望 mysql 預設的系統引數能夠讓 mysql執行得非常順暢。1 back log 要求 mysql ...

優化系統效能

程式框架 hibernate3 struts2 spring2 資料庫 sqlserver2008 伺服器 tomcat6 優化方法 1 配置連線池 採用的c3p0連線池 2 在程式中獲取列表時,用iterator代替list 3 在查詢之後可以使用session.clear 方法釋放快取 4 用資...

Linux系統效能優化

由於各種的i o負載情形各異,linux系統中檔案系統的預設配置一般來說都比較中庸,強調普遍適用性。然而在特定應用下,這種配置往往在i o效能方面不能達到最優。因此,如果應用對i o效能要求較高,除了採用效能更高的硬體 如磁碟 hba卡 cpu mem等 外,我們還可以通過對檔案系統進行效能調優,來...