worker_processes
는 CPU 혹은 CPU Core의 총 갯수와 동일하게 맞춘다.grep processor /proc/cpuinfo | wc -l
CPU 갯수worker_connections
는 하나의 worker_process
가 받을 수 있는 클라이언트 갯수이다.worker_processes * worker_connections
로 지정된다.worker_processes * worker_connections / 4
이 값은 ulimit -n
의 결과값(open files)보다 작아야 한다. 보통 1024면 충분하다.ulimit -a
값이 작으면 오류가 발생한다. worker_rlimit_nofile 값을 줘서 튜닝해본다.client_body_buffer_size 8K; client_header_buffer_size 1k; client_max_body_size 2m; # 파일 업로드를 2mb 이상할 예정이라면 이 값을 늘려줘야 한다. large_client_header_buffers 2 1k;
지연시간이 길 경우 브라우저의 접속을 끊어서 서버 성능을 높여 주도록 한다.
client_body_timeout 10; client_header_timeout 10; keepalive_timeout 15; send_timeout 10;
location /images { access_log off; } 혹은 location ~* \.(js|css|png|jpg|jpeg|gif|ico) { access_log off; }
open_file_cache max=1000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on;
sendfile on; tcp_nopush on; tcp_nodelay on;
$ echo 15000 64000 > /proc/sys/net/ipv4/ip_local_port_range