Linux運維最佳實踐之網站調優

高性能靜態網站:

一、靜態頁面中針對圖片進行瀏覽器(客戶端)緩存,如公共JavaScript(jQuery,jQuery-1.12.1.min.js)進行緩存
二、對網站輸入內容壓縮(gzip)
三、配置靜態資源防盜鏈,經過判斷請求頭中referer進行域名防盜
四、圖片剪裁,經過系統自帶工具進行圖片剪裁
五、減小cookie攜帶,業務分離,如 img.dayutang.cn 用於提供圖片和css的訪問,www.dayutang.cn提供靜態頁面的訪問
六、靜態頁面的安全下載,進行內容資源鑑權,
        使用 ngx_http_secure_link_moudle模塊
        使用nginx中的X-Accel-Redirect控制頭部
七、使用cdn加速用戶訪問

高性能動態網站:

tomcat優化:
一、增長tomcat能夠使用的內存,配置使用內存最大值和最小值(catalina.sh)
二、mysql jdbc鏈接丟失配置jdbc重試機制:(jdbc:mysql://mysql-ip;3306/?autoReconnect=true)
 
 

nginx網站調優:

  • worker_processes:配置多少個工做進程,設置爲與服務器核心(core)數量相同
  • work_cpu_affinity(重要優化項):將進程與CPU綁定,提升了CPU Cache 的命中率,從而減小內存訪問損耗,提升程序的速度
  • sendfile:對於靜態大文件,啓用sendfile加速文件讀取
  • tcp_nopush:在Linux socket 上啓用 TCP_CORK選項,和sendfile合用,加速大文件讀取
 

針對訪問超時設置:(對於大型繁忙網站是重要的調優項目)

  • client_header_timeout:客戶端必須在此指定的時間內把請求的header傳輸完成,請設置成5s或如下值,對於抵擋慢速攻擊有做用
  • client_body_timeout:nginx2次連續讀取客戶端請求體的超時時間,請設置成5s或如下值
  • keepalived_timeout:定義保活時間,通常建議是60s
  • proxy_connect_timeout:nginx2次連續向後端服務器發送請求的超時時間,請設置成5s或如下值
  • proxy_send_timeout:nginx2次連續讀取後端服務器返回的超時時間,請設置成5s或如下值
相關文章
相關標籤/搜索