문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 마지막 판 양쪽 다음 판 | ||
nginx:performance [2015/02/04 19:40] kwon37xi |
nginx:performance [2021/02/02 10:35] kwon37xi [nginx Performance] |
||
---|---|---|---|
줄 9: | 줄 9: | ||
* [[http:// | * [[http:// | ||
* [[http:// | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
- | ====== worker와 connection | + | ===== worker와 connection ===== |
* **'' | * **'' | ||
+ | * '' | ||
* 하지만 보통은 4개 정도가 넘어가면 이미 최대 성능치일 경우가 많다. | * 하지만 보통은 4개 정도가 넘어가면 이미 최대 성능치일 경우가 많다. | ||
* **'' | * **'' | ||
* 총 접속 가능 클라이언트 갯수(MaxClients)는 '' | * 총 접속 가능 클라이언트 갯수(MaxClients)는 '' | ||
- | * Reverse Proxy 상태에서는 '' | + | * Reverse Proxy 상태에서는 '' |
- | * 이 값은 **'' | + | |
- | ====== 운영체제 설정값 | + | |
+ | ===== 운영체제 설정값 ===== | ||
* 실무에서는 Windows에서 nginx 사용하지 말 것. | * 실무에서는 Windows에서 nginx 사용하지 말 것. | ||
* 운영체제 nginx 실행 계정의 '' | * 운영체제 nginx 실행 계정의 '' | ||
- | ====== 버퍼 | + | ===== 버퍼 ===== |
* Proxy를 사용할 경우 버퍼의 크기가 너무 작으면 nginx는 임시 파일을 만들어 proxy에서 전달되는 내용을 저장하게 된다. 장비의 메모리 상황등을 참조하여 적당한 수준으로 늘려줘야 한다. | * Proxy를 사용할 경우 버퍼의 크기가 너무 작으면 nginx는 임시 파일을 만들어 proxy에서 전달되는 내용을 저장하게 된다. 장비의 메모리 상황등을 참조하여 적당한 수준으로 늘려줘야 한다. | ||
< | < | ||
줄 31: | 줄 40: | ||
</ | </ | ||
- | ====== timeout | + | ===== timeout ===== |
지연시간이 길 경우 브라우저의 접속을 끊어서 서버 성능을 높여 주도록 한다. | 지연시간이 길 경우 브라우저의 접속을 끊어서 서버 성능을 높여 주도록 한다. | ||
< | < | ||
줄 40: | 줄 49: | ||
</ | </ | ||
* 혹시 대용량 트래픽시에 에러가 나는 것은 한계 트래픽에 가까웠을 때 timeout으로 인한 것은 아닐까? timeout을 높이면 에러가 안나는? | * 혹시 대용량 트래픽시에 에러가 나는 것은 한계 트래픽에 가까웠을 때 timeout으로 인한 것은 아닐까? timeout을 높이면 에러가 안나는? | ||
- | ====== access log를 꺼라 | + | |
+ | ===== access log를 꺼라 ===== | ||
* js, | * js, | ||
< | < | ||
줄 46: | 줄 56: | ||
access_log off; | access_log off; | ||
} | } | ||
+ | |||
+ | 혹은 | ||
+ | |||
+ | location ~* \.(js|css|png|jpg|jpeg|gif|ico) { | ||
+ | access_log off; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | ===== Keep Alive 튜닝 ===== | ||
+ | * [[web: | ||
+ | * keepalive를 무작정 선택하지 말고 성능 테스트를 해가며 조정해 볼 것. | ||
+ | |||
+ | ===== Disk IO 병목 ===== | ||
+ | * [[http:// | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | ===== tcp_nopush, tcp_nodelay ===== | ||
+ | * 보통은 할 필요 없다. | ||
+ | * 하면 성능 향상이 있을 수 있지만, 때로는 오히려 저하가 발생할 수도 있다. 따라서 꼭 테스트가 필요하다. | ||
+ | * < | ||
+ | sendfile on; | ||
+ | tcp_nopush on; | ||
+ | tcp_nodelay on; | ||
+ | </ | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | * [[http:// | ||
+ | |||
+ | ===== Local Port 를 못 열어서 프록시 못하는 문제 ===== | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | <code sh> | ||
+ | $ echo 15000 64000 > / | ||
</ | </ | ||
+ | | ||