>  기사  >  운영 및 유지보수  >  Nginx에서 최대 연결 수를 구성하는 방법

Nginx에서 최대 연결 수를 구성하는 방법

WBOY
WBOY앞으로
2023-06-04 09:57:392926검색

Nginx 최대 작업자 프로세스 수 구성 ##

worker_processes: 최대 작업 프로세스 수

Nginx에서 최대 연결 수를 구성하는 방법

work_connections: 각 작업자 프로세스가 동시에 설정되도록 허용할 수 있는 외부 연결 수입니다.

최대 열린 파일 수 수정

운영 체제의 "프로세스에 대한 최대 열린 파일 수" 설정을 변경하세요

먼저 운영 체제의 루트 권한이 필요하고 그 다음에는 제한이 필요합니다. conf 기본 구성 파일:

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

파일에 다음 문을 추가합니다.

* soft nofile 65535
* hard nofile 65535

참고: * 파일에 추가하려면 Limits.conf 파일에 위에 추가된 두 문장의 의미는 최대 개수에 대한 제한입니다.
소프트(응용 프로그램 소프트웨어) 수준으로 제한되는 파일 열기
하드는 작동을 의미합니다. 최대 열린 파일 수에 대한 시스템 수준 제한,
*은 모든 사용자에게 적용됨을 의미합니다.

파일을 저장한 직후에는 적용되지 않습니다. 다음 명령을 사용해야 합니다

ulimit -n 65535

Ulimit -a를 보려면

[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

열린 파일이 65535

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/process number/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

Max 클라이언트 계산 방법

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

위 내용은 Nginx에서 최대 연결 수를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제