<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] ## 1. IP頻率以及并發限制 > 選擇對應站點,進入“流量限制” ![](https://img.kancloud.cn/56/39/56395057fc78bd27d41801316dac802d_1402x1254.png) > 可以在對應的配置文件里加入壓測的調試頁面 ``` location /status { stub_status on; access_log off; } ``` ## 2. PHP并發設置 > 軟件商城里找到對應的php,設置->性能調整 ![](https://img.kancloud.cn/f4/5a/f45a73988592c39c2929633d22592b9c_647x599.png) ## 3. NGINX性能優化 > 軟件商城里找到對應的nginx,設置->配置修改 ### worker_processes 配置 > 將 worker_processes auto 改為和你實際cpu數的1~2倍。 > 如本實例cpu為4核 ``` worker_processes 4; worker_cpu_affinity auto; ``` > 通過`ps -eo pid,args,psr | grep [n]ginx`可查看是否生效 ![](https://img.kancloud.cn/db/c6/dbc687ad906e3d1663c99040561864e6_1008x264.png) ### worker_rlimit_nofile 配置 > 當nginx的error.log里報了很多`Too many opened files`時候,則需要對《nginx 打開的文件句柄數》進行配置 > 查看系統支持的最大連接數 ``` ulimit -n ``` > 如果不是1048576 (默認1024),需進行修改 ~~~ # 該方式每次重啟就會失效,記得再次設置 ulmint -n 1048576 ~~~ 或者 ``` vim /etc/security/limits.conf root soft nofile 1048576 root hard nofile 1048576 * soft nofile 1048576 * hard nofile 1048576 ``` > ulimit -n 還會影響到mysql 的并發連接數。提高文件連接數設置,也能提高mysql并發。 > `worker_rlimit_nofile` 設置為和ulimit -n相同的數,或者稍小一點。 ``` worker_rlimit_nofile 51200; ``` > 可通過`cat /proc/{nginx worker進程的pid}/limits` 查看 `worker_rlimit_nofile` 生效情況,查看`Max open files` ``` Limit Soft Limit Hard Limit Units Max cpu time unlimited unlimited seconds Max file size unlimited unlimited bytes Max data size unlimited unlimited bytes Max stack size 8388608 unlimited bytes Max core file size 0 unlimited bytes Max resident set unlimited unlimited bytes Max processes 31202 31202 processes Max open files 51201 51201 files Max locked memory 65536 65536 bytes Max address space unlimited unlimited bytes Max file locks unlimited unlimited locks Max pending signals 31202 31202 signals Max msgqueue size 819200 819200 bytes Max nice priority 0 0 Max realtime priority 0 0 Max realtime timeout unlimited unlimited us ``` ### worker_connections 配置 > 指的是單個工作進程允許建立的并發連接數 > 一個工作進程建立一個連接后,進程將打開一個文件副本。**所以這個數量還受操作系統設定的,進程最大可打開的文件數有關** > 設置為和`worker_rlimit_nofile`一樣 ``` events { use epoll; worker_connections 51200; multi_accept on; } ``` ### keepalive_timeout 設置 > 是否支持tcp長連接,比如http 1.1之后,如果請求網站,需要打開其他的css以及圖片資源時候,會進行沿用之前的tcp連接資源,以此達到速度的加快。 > 但是如果是在高并發的情況下,tcp連接嚴重缺乏的情況,就沒必要再開啟長連接了,或者設置短一點,尤其是只針對做app開發的,就更沒有必要。 ``` keepalive_timeout 0; ``` > 當這個設置成功后,在chrome network調試,可以看到該請求資源由 connections: keepalive -> connections: close。 > 也可有效的防止“長連接測試“工具或者ddos工具 ## 系統層面進行調優 > `vim /etc/sysctl.conf` ``` net.core.somaxconn = 65535 #最大tcp監聽連接數,默認128 net.core.netdev_max_backlog = 20000 #每個網絡接口接收數據包的速率比內核處理這些包的速率快時,允許送到隊列的數據包的最大數目,默認1000 net.ipv4.tcp_max_syn_backlog = 16384 #記錄的那些尚未收到客戶端確認信息的連接請求的最大值,默認為1024 net.ipv4.tcp_max_tw_buckets = 180000 #TIME_WAIT的最大數量(盡量調大),超出的部分會被關閉掉,并且日志記錄報錯信息 net.ipv4.tcp_fin_timeout = 15 # 表示如果套接字由本端要求關閉,這個參數決定了它保持在FIN-WAIT-2狀態的時間,默認60 net.ipv4.tcp_max_orphans = 131072 #該參數用于設定系統中最多允許存在多少TCP套接字不被關聯到任何一個客戶文件句柄上,假如超過這個數字,沒有與客戶文件句柄關聯到TCP套接字將立即被復位,同時發出警告信息,這個限制只是為了簡單防治Dos攻擊,一般系統內存充足的情況下,可以增大這個參數,默認32768 net.ipv4.tcp_tw_reuse = 1 #開啟TIME-WAIT(空閑TCP)重用 net.ipv4.tcp_tw_recycle = 0 # (空閑TCP快速回收)不建議開啟,如果tcp_tw_recycle和tcp_timestamps同時開啟,服務器或者客戶機網絡處于NAT情況下,網絡會經常被斷開; net.ipv4.tcp_syncookies = 0 #不做TCP洪水抵御 net.ipv4.tcp_timestamps?=?1 # 記錄TCP連接的最新時間戳 ``` > `sysctl -p` 使其生效 > 為了以防tcp_timestamps、tcp_tw_recycle同時開啟,建議查看系統參數是否生效 ~~~ cat /proc/sys/net/ipv4/tcp_timestamps cat /proc/sys/net/ipv4/tcp_tw_recycle cat /proc/sys/net/ipv4/tcp_tw_reuse ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看