Java後臺效能優化簡要

abel_cao發表於2015-03-15

版權宣告:本文為半吊子子全棧工匠(wireless_com,同公眾號)原創文章,未經允許不得轉載。 https://blog.csdn.net/wireless_com/article/details/44276323

業務系統效能優化的前提時觀察和診斷,觀察工具如下:
前端優化工具:YSlow
頁面響應時間:Firebug
方法相應時間:btrace
GC日誌分析:JVM 啟動引數
資料庫優化:慢查詢
系統資源呼叫:監控

效能診斷測試工具如下:
ab: httpd.apache.org/docs/2.2/programs/ab.html
JMeter: jmeter.apache.org
Loadrunner
反向代理引流,TCPcopy:請求複製工具 github.com/wangbin579/tcpcopy

效能優化方法:
前端效能:http請求數量,CDN網路,使用壓縮
Java程式優化:單例,Future模式的非阻塞,執行緒池,使用NIO,減少上下文切換,減低鎖競爭
傳輸壓縮與結果快取
資料庫查詢優化:合理索引,減少關聯查詢的反正規化設計,使用查詢快取,搜尋引擎,使用Key-Value資料庫,
GC優化
提升硬體效能

Java應用排查工具:
JPS:輸出JVM的程式資訊
JSTAT:JVM狀態監控工具
JInfo:應用程式的配置引數
JStack:執行緒快照
JMap:回收物件的佇列,堆疊資訊
Btrace:動態跟蹤工具 kenai.com/projects/btrace
Jconsole:圖形化工具
MAT: 圖形化堆分析工具

VisualVM:全能複合工具

Linux 日誌分析常用命令:
檢視檔案內容:cat 
分頁顯示檔案:more,less
顯示檔案頭尾:tail head
內容排序: sort
字元統計:wc
檢視重複出現的行:uniq
字串查詢:grep
檔案查詢:find
歸檔:tar
URL訪問工具:curl

檢視最耗時的頁面:
cat localaccess.log |sort -k 2 -n -r |head -10

進一步,sed,awk shell了


相關文章