nginx的核心配置參數如下:
- worker_processes : 配置多少個工作進程,設置為與服務器核心(core)數量相同。
- worker_cpu_affinity(重要優化項):將進程與CPU綁定,提高了CPU綁定,提高了Cpu Cache的命中率,從而減少內存訪問損耗,提高程序的速度。
- sendfile : 對於靜態大文件,啟用sendfile加速文件讀取。
- tcp_nopush : 在Linux socket上啟用TCP_CORK選項,和sendfile合用,加速大文件讀取。
以下是超時相關的設置:
- client_header_timeout : 客戶端必須在此指定的時間內把請求的header傳輸完成,請設置成5s或以下值。對於抵擋慢速攻擊有作用。
- client_body_timeout : nginx 2次連續讀取客戶端請求體的超時時間,請設置成5s或以下值。
- keepalive_timeout : 定義保活時間,一般建議是60s。
- proxy_connect_timeout : nginx 連接後端服務器的超時時間,請設置成5s或以下值。
- proxy_send_timeout : nginx 2次連續向後盾服務器發送請求的超時時間,請設置成5s或以下值。
- proxy_read_timeout : nginx 2次連續向後盾服務器讀取請求的超時時間,請設置成5s或以下值。
以上超時時間,對於大型繁忙網站是最重要的調優項目。
建議根據實際的業務需求根據推薦值進行微調。
閱讀更多 海淵haiyuan 的文章