<noframes id="bhrfl"><address id="bhrfl"></address>

    <address id="bhrfl"></address>

    <noframes id="bhrfl"><address id="bhrfl"><th id="bhrfl"></th></address>

    <form id="bhrfl"><th id="bhrfl"><progress id="bhrfl"></progress></th></form>

    <em id="bhrfl"><span id="bhrfl"></span></em>

    全部
    常見問題
    產品動態
    精選推薦

    Nginx:影響高并發性能優化的主要參數配置

    管理 管理 編輯 刪除

    Nginx 是一個高性能的 HTTP反向代理web服務器,在連接高并發的情況下,NginxApache服務不錯的替代品。

    日常的運維工作中,我們經常會用到nginx服務,也時常會碰到nginx因高并發導致的性能瓶頸問題。

    今天,我來簡單總結、梳理下配置文件中影響 Nginx 高并發性能的一些主要參數:

    1. worker_processes 6;

    nginx 進程數:建議設置為等于CPU總核心數(一般跟CPU核數相同或為它的倍數)。這里設置為多少,在進行top監控的時候就能看到高負載時就會打開多少個nginx進程??赏ㄟ^ lscpu 命令查看服務器里有幾個核(先看幾個CPU,以及每個CPU是幾核)。

    2. worker_connections 65535;

    單個進程最大連接數:默認的值是1024,理論上每臺nginx服務器的最大連接數 = worker_processes(最大進程個數) * worker_connections(單個進程最大連接數)。

    這個值太小的后果就是你的系統會報:too many open files 等錯誤,導致你的系統死掉。一般給到服務器后最好通過 ulimit 命令結合修改/etc/security/limits.conf(增加* soft nofile * hard nofile)兩個配置值,將其設置的更大些。

    /etc/security/limits.conf文件詳細說明

    3. keepalive_timeout 120;

    http連接超時時間:單位是秒,默認為60s,功能是使客戶端到服務器端的連接在設定的時間(即:keepalive_timeout )內持續有效,當出現對服務器的后繼請求時,該功能避免了建立或者重新建立連接。切記 – 這個參數不能設置過大!否則會導致許多無效的http連接占據著nginx的連接數,最終造成 nginx 服務崩潰!

    4. worker_rlimit_nofile 65535;

    每個 nginx 進程打開文件描述符最大數目:這個指令是指一個 nginx 進程打開的最多文件描述符數目,理論值應該是系統的最多打開文件數(ulimit -n)與nginx進程數相除,但是nginx分配請求并不是那么均勻,所以該配置要和系統的單進程打開文件數一致。

    5. gzip on;

    通過測試一個5000多bytesjson數據在經過壓縮只后只有700多bytes,壓縮效率可達7倍。有效降低帶寬的使用,加快響應速度。

    6. tcp_nopush on;

    防止網絡阻塞:告訴nginx在一個數據包里發送所有頭文件,而不一個接一個的發送。就是說數據包不會馬上傳送出去,等到數據包最大時,一次性的傳輸出去,這樣有助于解決網絡堵塞。

    7. tcp_nodelay on;

    防止網絡阻塞:告訴nginx不要緩存數據,而是一段一段的發送–當需要及時發送數據時,就應該給應用設置這個屬性,這樣發送一小塊數據信息時就不能立即得到返回值。

    注意:tcp_nopush on和 tcp_nodelay on:這兩個指令也許是最難理解的nginx配置,他們對于nginx的影響在網絡的較低層.??梢院唵蔚恼J為這些指令決定了操作系統如何處理網絡緩存和他們何時將這些緩存輸出到最終用戶(客戶端).。建議如果之前不了解這些概念你最好不要動它.,他們不會顯著的改善或者改變性能,,所以最好使用他們的默認值。

    8. client_header_buffer_size 4k;

    客戶端請求頭部的緩沖區大小,這個可以根據你的系統分頁大小來設置,一般一個請求的頭部大小不會超過1k,不過由于一般系統分頁都要大于1k,所以這里設置為分頁大小。分頁大小可以用命令getconf PAGESIZE取得。

    9. use epoll;

    events標簽中使用epoll的I/O模型,用這個模型用來高效處理異步事件。

    10. server_tokens off;

    隱藏響應頭中的有關操作系統和web server(Nginx)版本號的信息,這樣對于安全性是有好處的。

    11. open_file_cache max=102400 inactive=20s;

    這個參數將為打開文件指定緩存,默認是沒有啟用的,max指定緩存數量,建議和打開文件數一致,inactive是指經過多長時間文件沒被請求后刪除緩存。

    12. open_file_cache_valid 30s

    指多長時間檢查一次緩存的有效信息


    [root@dev-huanqiu ~]# cat /usr/local/nginx/conf/nginx.conf
    user   www www;
    worker_processes 6;
    worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000;
    error_log   /www/log/nginx_error.log   crit;
    pid         /usr/local/nginx/nginx.pid;
    worker_rlimit_nofile 65535;
     
    events
    {
       use epoll;
       worker_connections 65535;
    }
     
    http
    {
       include       mime.types;
       default_type   application/octet-stream;
     
       charset   utf-8;
     
       server_names_hash_bucket_size 128;
       client_header_buffer_size 2k;
       large_client_header_buffers 4 4k;
       client_max_body_size 8m;
     
       sendfile on;
       tcp_nopush     on;
     
       keepalive_timeout 60;
     
       fastcgi_cache_path /usr/local/nginx/fastcgi_cache levels=1:2
                     keys_zone=TEST:10m
                     inactive=5m;
       fastcgi_connect_timeout 300;
       fastcgi_send_timeout 300;
       fastcgi_read_timeout 300;
       fastcgi_buffer_size 16k;
       fastcgi_buffers 16 16k;
       fastcgi_busy_buffers_size 16k;
       fastcgi_temp_file_write_size 16k;
       fastcgi_cache TEST;
       fastcgi_cache_valid 200 302 1h;
       fastcgi_cache_valid 301 1d;
       fastcgi_cache_valid any 1m;
       fastcgi_cache_min_uses 1;
       fastcgi_cache_use_stale error timeout invalid_header http_500; 
       open_file_cache max=204800 inactive=20s;
       open_file_cache_min_uses 1;
       open_file_cache_valid 30s; 
     
       tcp_nodelay on;
       
       gzip on;
       gzip_min_length   1k;
       gzip_buffers     4 16k;
       gzip_http_version 1.0;
       gzip_comp_level 2;
       gzip_types       text/plain application/x-javascript text/css application/xml;
       gzip_vary on;
     
       server
       {
         listen       8080;
         server_name   csdn.tianxiaowen.com;
         index index.php index.htm;
         root   /www/html/;
     
         location /status
         {
             stub_status on;
         }
     
         location ~ .*\.(php|php5)?$
         {
             fastcgi_pass 127.0.0.1:9000;
             fastcgi_index index.php;
             include fcgi.conf;
         }
     
         location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|js|css)$
         {
           expires       30d;
         }
     
         log_format   access   '$remote_addr - $remote_user [$time_local] "$request" '
                   '$status $body_bytes_sent "$http_referer" '
                   '"$http_user_agent" $http_x_forwarded_for';
         access_log   /www/log/access.log   access;
       }
     
    }
    


    請登錄后查看

    吳小汐 最后編輯于2023-08-08 16:19:56

    快捷回復
    回復
    回復
    回復({{post_count}}) {{!is_user ? '我的回復' :'全部回復'}}
    排序 默認正序 回復倒序 點贊倒序

    {{item.user_info.nickname ? item.user_info.nickname : item.user_name}} LV.{{ item.user_info.bbs_level }}

    作者 管理員 企業

    {{item.floor}}# 同步到gitee 已同步到gitee {{item.is_suggest == 1? '取消推薦': '推薦'}}
    {{item.is_suggest == 1? '取消推薦': '推薦'}}
    沙發 板凳 地板 {{item.floor}}#
    {{item.user_info.title || '暫無簡介'}}
    附件

    {{itemf.name}}

    {{item.created_at}}  {{item.ip_address}}
    打賞
    已打賞¥{{item.reward_price}}
    {{item.like_count}}
    {{item.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復

    {{itemc.user_info.nickname}}

    {{itemc.user_name}}

    回復 {{itemc.comment_user_info.nickname}}

    附件

    {{itemf.name}}

    {{itemc.created_at}}
    打賞
    已打賞¥{{itemc.reward_price}}
    {{itemc.like_count}}
    {{itemc.showReply ? '取消回復' : '回復'}}
    刪除
    回復
    回復
    查看更多
    打賞
    已打賞¥{{reward_price}}
    4464
    {{like_count}}
    {{collect_count}}
    添加回復 ({{post_count}})

    相關推薦

    快速安全登錄

    使用微信掃碼登錄
    {{item.label}} 加精
    {{item.label}} {{item.label}} 板塊推薦 常見問題 產品動態 精選推薦 首頁頭條 首頁動態 首頁推薦
    取 消 確 定
    回復
    回復
    問題:
    問題自動獲取的帖子內容,不準確時需要手動修改. [獲取答案]
    答案:
    提交
    bug 需求 取 消 確 定
    打賞金額
    當前余額:¥{{rewardUserInfo.reward_price}}
    {{item.price}}元
    請輸入 0.1-{{reward_max_price}} 范圍內的數值
    打賞成功
    ¥{{price}}
    完成 確認打賞

    微信登錄/注冊

    切換手機號登錄

    {{ bind_phone ? '綁定手機' : '手機登錄'}}

    {{codeText}}
    切換微信登錄/注冊
    暫不綁定
    亚洲欧美字幕
    CRMEB客服

    CRMEB咨詢熱線 咨詢熱線

    400-8888-794

    微信掃碼咨詢

    CRMEB開源商城下載 源碼下載 CRMEB幫助文檔 幫助文檔
    返回頂部 返回頂部
    CRMEB客服