nginx(三)

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

相關文章
相關標籤/搜索