影響系統性能的因素有不少,如下列舉了常見的一些系統性能優化的方向:前端
提交請求和返回該請求的響應之間使用的時間,通常比較關注平均響應時間。git
如:數據庫查詢花費的時間,將字符回顯到終端上花費的時間,訪問 Web 頁面花費的時間;github
指同一時刻,對服務器有實際交互的請求數。和網站在線用戶數的關聯。面試
對單位時間內完成的工做量(請求)的量度。算法
如:每分鐘的數據庫事務,每秒傳送的文件千字節數,每分鐘的 Web 服務器命中數。數據庫
一般,平均響應時間越短,系統吞吐量越大;平均響應時間越長,系統吞吐量越小。可是,系統吞吐量越大,未必平均響應時間越短。編程
對於系統的性能調優,整體上從以下三個方面入手:後端
可是不管怎麼優化,總原則就是:瀏覽器
CDN加速緩存
反向代理緩存
WEB組件分離
1. 緩存
優先考慮使用緩存優化性能。
2. 集羣
3. 異步
組合起來有4種狀態。
4. 程序
GC調優的方向:GC的時間夠小,GC的次數夠少
大多數的Java應用不須要GC調優,大部分須要GC調優的,不是參數問題,是代碼問題 GC調優是最後手段。
GC調優的優先級: 第一位:選擇合適的GC回收期 第二位:選擇合適的堆大小 第三位:選擇年輕代在堆中的比重
步驟: 1.監控GC的狀態 2. 分析結果,判斷是否要優化 minGC 時間《 50ms,10s一次 FullGC執行1s一下,頻率10分鐘以上
打印GC日誌:
-XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath -XLogger:logpath -XX:PrintHeapAtGC
本文由『後端精進之路』原創,首發於博客 teckee.github.io/ , 轉載請註明出處
搜索『後端精進之路』關注公衆號,馬上獲取最新文章和價值2000元的BATJ精品面試課程。