nginx高級配置nginx
ipv4 網絡有關參數優化 追加到 /etc/sysctl.conf sysctl -p 修改生效服務器
net.core.netdev_max_backlog 網絡大於處理速度時,隊列數據包最大數目cookie
net.core.somaxconn 系統同時發生的tcp鏈接數網絡
net.ipv4.tcp_max_orphans 系統容許存在多少tcp套接字不被關聯到任何一個用戶文件句柄上tcp
這個限制只是爲了防止簡單的dos攻擊 內存充足的狀況下 能夠調大優化
net.ipv4.tcp_max_syn_backlog 還沒有收到客戶端確認信息的鏈接請求最大值.net
net.ipv4.tcp_timestamps 時間戳 當賦值0時 禁用tcp時間戳 建議關閉線程
net.ipv4.tcp_synack_tetries 內核放棄鏈接以前向客戶發送syn+ack 包的數量 通常設爲1隊列
net.ipv4.tcp_syn_retries 內核放棄簡歷鏈接以前發送syn包的數量 通常爲1進程
cpu 配置優化參數
多核提升並行能力 多核能夠實現線程的並行處理
worker_processes 賦值爲機器cpu內核數或倍數
worker_cpu_affinity 爲每個進程分配cpu工做內核
worker_cpu_affinity 0001 0100 1000 0010 建議不一樣的進程平均分配到不一樣cpu 這是4核分配
與網絡鏈接配置相關參數
keepalive_timeout 設置服務器與客戶端保持連接的超時時間
send_timeout 服務器響應客戶端的超時時間
client_header_buffer_size 服務器容許的客戶端請求頭部緩衝區大小 默認1kb 能夠根據系統分頁大小來設置 當cookie寫入了較大值時 能夠將此值設大
multi_accept 配置nginx服務器是否儘量多地接受客戶端網絡鏈接請求 默認off
事件驅動模型的相關配置
use 指定事件驅動模型
worker_connection 設置容許鏈接客戶端的最大數量 服務器容許同時鏈接的客戶端最大數量
client = worker_processes*worker_connections/2 通常設置爲65535
會和系統進程能夠打開的文件句柄數量有關係 cat /proc/sys/fs/file-max 查看該值
echo "2390251" > /proc/sys/fs/file-max; sysctl -p
worker_rlimit_sigpending 事件信號隊列長度上限 主要影響rtsig事件模型
epoll_events epoll 事件驅動模式下服務器與內核之間傳遞事件的數量 默認512