ホームページ >運用・保守 >Nginx >Nginx で最大接続数を構成する方法

Nginx で最大接続数を構成する方法

WBOY
WBOY転載
2023-06-04 09:57:393008ブラウズ

Nginx ワーカー プロセスの最大数の構成

##worker_processes: ワーカー プロセスの最大数

Nginx で最大接続数を構成する方法

work_connections: それぞれワーカー プロセス 同時に確立できる外部接続の数。

オープンできるファイルの最大数を変更する

オペレーティング システムの「プロセスでオープンできるファイルの最大数」の設定を変更します

まず、オペレーティング システムの root 権限が必要です。次に、limits.conf メイン設定ファイルが必要です。

[root@localhost /]# vim /etc/security/limits.conf

次のステートメントをファイルに追加します。

* soft nofile 65535
* hard nofile 65535

注: * ファイルに追加するには、limits.conf ファイルに上記の 2 つの文を追加します。意味は、オープン ファイルの最大数に対する
ソフト (アプリケーション ソフトウェア) レベルの制限です。
ハードは、オペレーティング システム レベルの制限を意味します。開いているファイルの最大数。
* はすべてのユーザーに有効であることを意味します。

ファイルを保存してもすぐには有効になりません。次のコマンドを使用する必要があります

ulimit -n 65535

Use ulimit -a to view

[root@localhost /]# ulimit -a
core file size          (blocks, -c) 0
data seg size           (kbytes, -d) unlimited
scheduling priority             (-e) 0
file size               (blocks, -f) unlimited
pending signals                 (-i) 14989
max locked memory       (kbytes, -l) 64
max memory size         (kbytes, -m) unlimited
open files                      (-n) 65535
pipe size            (512 bytes, -p) 8
POSIX message queues     (bytes, -q) 819200
real-time priority              (-r) 0
stack size              (kbytes, -s) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 14989
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

open files has become 65535

Change Nginx "オープン ファイルの最大数「プロセス」設定

nginx.conf を開き、worker_rlimit_nofile 属性と一致します。

#user  nobody;
worker_processes  4;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;
events {
    use epoll;
    worker_connections  65535;
}

Nginx の「プロセスが開くファイルの最大数」が機能するかどうかを確認する

Linux では、すべてのプロセスに一時的なコア構成ファイルの説明とストレージ パスが存在します。 /proc/プロセス番号/limit

[root@localhost sbin]# ps -aux|grep nginx
root       1733  0.0  0.0  32816  1792 ?        Ss   17:38   0:00 nginx: master process ./nginx
nobody     1734  0.0  0.7  59952 29184 ?        S    17:38   0:00 nginx: worker process
nobody     1735  0.1  0.7  59952 29184 ?        S    17:38   0:00 nginx: worker process
nobody     1736  0.2  0.7  59952 29184 ?        S    17:38   0:00 nginx: worker process
nobody     1737  0.1  0.7  59952 28928 ?        S    17:38   0:00 nginx: worker process
root       1739  0.0  0.0 112824   980 pts/0    S+   17:38   0:00 grep --color=auto nginx
[root@localhost sbin]# cat /proc/1734/limits
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             14989                14989                processes 
Max open files            65535                65535                files     
Max locked memory         65536                65536                bytes     
Max address space         unlimited            unlimited            bytes     
Max file locks            unlimited            unlimited            locks     
Max pending signals       14989                14989                signals   
Max msgqueue size         819200               819200               bytes     
Max nice priority         0                    0                    
Max realtime priority     0                    0                    
Max realtime timeout      unlimited            unlimited            us

最大オープン ファイルのソフト リミットとハード リミットは 65535 に設定されました

最大クライアント計算方法

#充当服务器时Nginx可同时承载的连接数量,是最大工作线程*每个线程允许的连接数量
max_client = worker_processes * worker_connections
#充当反向代理服务时,可同时承载的连接数量是最大工作线程*每个线程允许的连接数量/4
#(4)代表:浏览器会建立两条连接到Nginx,Nginx也会建立两条连接到后端服务器。这样就是4条了。
max_client = worker_processes * worker_connections/4

以上がNginx で最大接続数を構成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はyisu.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。