nginx 优化突破十万并行连线数.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
nginx 优化突破十万并行连线数

nginx 優化突破十萬並行連線數 資料來源: /archives/326/ nginx 的安裝與基本配置文檔網上已經有很多了,但具體講優化的文章還比較少,偶爾發現有這麼一篇《nginx 優化突破 十萬並發》仔細拜讀後,轉至此做以收藏,感謝原作的辛苦編寫。 一般來說nginx 配置文件中對優化比較有作用的為以下幾項: worker_processes 8; nginx 進程數,建議按照cpu 數目來指定,一般為它的倍數。 worker_cpu_affinity000000100000100000100000 為每個進程分配cpu ,上例中將8 個進程分配到8 個cpu ,當然可以寫多個,或者將一個進程分配到多個cpu 。 worker_rlimit_nofile 102400; 這個指令是指當一個nginx 進程打開的最多文件描述符數目,理論值應該是最多打開文件數(ulimit -n )與nginx 進程數 相除,但是nginx 分配請求並不是那麼均勻,所以最好與ulimit -n 的值保持一致。 use epoll; 使用epoll 的I/O 模型,這個不用說了吧。 worker_connections 102400; 每個進程允許的最多連接數,理論上每台nginx 服務器的最大連接數為worker_processes*worker_connections 。 keepalive_timeout 60; keepalive 超時時間。 client_header_buffer_size 4k; 客戶端請求頭部的緩衝區大小,這個可以根據你的系統分頁大小來設置,一般一個請求的頭部大小不會超過 1k ,不過由 於一般系統分頁都要大於 1k ,所以這裡設置為分頁大小。分頁大小可以用命令getconf PAGESIZE 取得。 open_file_cache max=102400 inactive=20s; 這個將為打開文件指定緩存,默認是沒有啟用的,max 指定緩存數量,建議和打開文件數一致,inactive 是指經過多長時 間文件沒被請求後刪除緩存。 open_file_cache_valid 30s; 這個是指多長時間檢查一次緩存的有效信息。 open_file_cache_min_uses 1; open_file_cache 指令中的inactive 參數時間內文件的最少使用次數,如果超過這個數字,文件描述符一直是在緩存中打 開的,如上例,如果有一個文件在inactive 時間內一次沒被使用,它將被移除。 關於內核參數的優化: net.ipv4.tcp_max_tw_buckets = 6000 timewait 的數量,默認是180000 。 net.ipv4.ip_local_port_range = 1024 65000 允許系統打開的端口範圍。 net.ipv4.tcp_tw_recycle = 1 啟用timewait 快速回收。 net.ipv4.tcp_tw_reuse = 1 開啟重用。允許將TIME-WAIT sockets 重新用於新的TCP 連接。 net.ipv4.tcp_syncookies = 1 開啟SYN Cookies ,當出現SYN 等待隊列溢出時,啟用cookies 來處理。 net.core.somaxconn = 262144 web 應用中listen 函數的backlog 默認會給我們內核參數的net.core.somaxconn 限製到128 ,而nginx 定義的 NGX_LISTEN_BACKLOG 默認為511 ,所以有必要調整這個值。 dev_max_backlog = 262144 每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目。 net.ipv4.tcp_max_orphans = 262144 系統中最多有多少個TCP 套接字不被關聯到任何一個用戶文件句柄上。如果超過這個數字,孤兒連接將即刻被復位並打 印出警告信息。這個限制僅僅是為了防止簡單的DoS 攻擊,不能過分依靠它或者人為地減小這個值,更應該增加這個值 (如果增加了內存之後) 。 net.ipv4.tcp_max_syn_backlog = 262144 記錄的那些尚未收到客戶端確認信息的連接請求的最大值。對於有 128M 內存的系統

文档评论(0)

wujianz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档