目錄
1、資料庫方面
2、應用伺服器方面
3、客戶端方面
4、網路傳輸方面
5、其他方面
1.1、配置連線池:合理設定連線池的保有量,增長量,連線保持時長(正確評估系統的併發量,高峰期訪問量,減少連線建立與銷毀的開銷)
1.2、優化表設計:對高頻率連線查詢進行資料冗餘(尤其是資料量極大的表、將需要連線查詢的主表字段冗餘至從表),以單錶查詢的方式提供高效查詢(以儲存空間換查詢效率)
2.1、快取配置:將經常訪問且又極少變化的資料進行快取處理(從而減少對資料庫的訪問),直接提供響應和結果返回。(可以直接用hashmap,也可以使用快取框架ehcache等)
2.2、日誌記錄:去除控制台列印和error以下的日誌輸出(僅記錄error級別的日誌到日誌檔案中。),以減輕io與伺服器系統資源。
2.3、每日檢查錯誤日誌,解決錯誤的問題,保證系統穩定執行無可控異常。
2.4、足夠的伺服器記憶體配置(監控系統記憶體使用情況,合理增加堆記憶體的配置,減少cg。)
)3.2、排序分組等複雜演算法:把無需保密的或其有許可權訪問的資料運算、處理加工放至客戶端進行(如:複雜的多規則排序,分組等),這樣可以減輕伺服器的壓力,將其分攤至客戶端,但相對增加了客戶端的要求。(這種方式可以明顯減少高併發,高訪問量的服務壓力,例:設執行需要消耗伺服器x個資源,100個客戶同時請求伺服器,如果在伺服器端執行則需要伺服器提供100*x個資源。如果在客戶端,則由每個客戶端獨自提供x個資源。只要客戶端普遍都能支付得起x個資源,那麼系統無論是100個客戶還是10000個使用者,那麼訪問都能穩定執行和響應。而放在服務端,則隨著客戶量的增加,系統很快就會到達瓶頸
)4.1、資料庫資料傳輸:去除沒必要的字段查詢,使資料庫僅返回有用的資料結構(列)。這樣可以減少資料庫伺服器的網路頻寬壓力,同時也會減少資料庫對磁碟的讀取量(io量),同時也會減少資料庫對響應資料的快取量(資料庫會對請求結果進行快取,在遇到相同的sql查詢時,直接將記憶體中的結果返回給請求者,那麼去除了沒必要的字段,則會節省不少記憶體空間,也就減少的資料庫快取的清理頻率。)
4.2、伺服器資料傳輸:去除沒必要的字段內容響應,使伺服器僅返回有用的資料結構給客戶端(vo)。這樣可以減少應用伺服器的網路頻寬壓力,(如果是特意的封裝vo,則會增加伺服器的資源開銷,在這個矛盾之間,就看系統的併發量和訪問量以及瓶頸的所在 -- 即,到底是網路導致了服務能力到達了瓶頸還是應用伺服器cpu/記憶體資源無法提供更高的服務能力)(但,一般資料庫查詢時已經優化了字段傳輸,則此處的傳輸就不會需要太多的優化。)
5.1、優質**和sql:這是對應工程師(資料庫工程師、後端工程師、前端工程師)自身的經驗與技能強度問題。
5.2、優秀的架構與布局:這是架構師自身的經驗與技能強度問題。
監控Linux系統節點和服務效能的方法
1 獲取資訊 bin bash 描述 把top資訊輸入到乙個檔案內部 作者 孤舟點點 版本 1.0 建立時間 2017 11 09 03 04 28 path bin sbin usr bin usr sbin usr local bin usr local sbin bin export path...
Linux系統的安裝和服務控制
常見的linux發行廠商和linux特點 1 lniux的髮型廠商 red hat 企業linux 紅帽公司產品 收費系統 centos 社群版linux和red hat 企業linux功能一樣 ubuntu 社群版的linux,更新速度塊半年更新一次 2 linux系統的特點 開源精神 占用硬體資...
規模化執行模型 GPU和服務
一 首先,檢視tensor flow擁有的資源 計算力查詢 python import tensorflow as tf sess tf.session config tf.configproto log device placement true 選擇cpu用於計算 with tf.graph.d...