nginx keepalive_timeout을 조정하는 방법은 무엇입니까?


12

바쁜 MySQL 기반 사이트를 서버에 php-fpm과 함께 nginx를 사용하고 있습니다. 현재을 사용 keepalive_timeout = 5하고 있지만 최적으로 조정하는 방법에 대한 명확한 아이디어가 없습니다. 힌트를 주셔서 감사합니다.

답변:


10

조정하려면 어떻게해야합니까, 아니면 어떻게해야합니까? 설정 방법에 문제가 있습니까?

좋은 단일 크기의 대답은 없습니다. 대부분의 클라이언트 브라우저가 5 초 안에 페이지의 모든 리소스를로드 할 수 있다면 5 초는 괜찮지 만 nginx 서버가 Exchange ActiveSync의 역방향 프록시 역할을하는 경우 응용 프로그램의 요구 사항에 따라 완전히 달라집니다. 최대 30 분 동안 크랭크를 원할 것입니다.


글쎄, 나는 서버로드를 최소화하려고 노력하고 있는데 (선택 시간에 상당히 높음) keepalive_timeout을 최적화하면이 목표에 부분적으로 기여할 수 있다고 생각합니다. 그 외에도 그것은 단지 건강한 호기심입니다 :)
alfish

1
물론, "페이지를로드하기 전에 대부분의 클라이언트를 시작하지 않고 가능한 한 낮게"-페이지가 대부분의 클라이언트에 대해 1 초 미만으로로드되면 1 초의 시간 초과가 좋습니다. 그러나 시간 초과가 5 초보다 훨씬 크지 않으면 서버로드의 주요 원인이 아닐 수 있습니다.
셰인 매든

까다로운 점입니다. 어떻게 페이지로드 시간의 차이 주어진 페이지로드 시간을 확인할 수 등 방문자의 연결 속도, (일부는 다른 사람보다 무거워)
alfish

그냥 야구장. 몇 초간 어떤 방법 으로든로드에 실질적인 차이를 만들지 않을 것이므로, 높은로드를 예상 할 수 있습니다. 그러나 느리게로드되는 클라이언트를 위해 TCP 연결의 새로운 빌드 (해당되는 경우 SSL 핸드 셰이크를 사용하더라도) 전체 로딩 속도에 큰 차이를 만들지 않습니다.
셰인 매든

1
@ShaneMadden, 5 초는 연결 수명이 아니라 서버가 최대 다른 요청을 기다리는 시간 초과 keepalive_requests입니다. 따라서 브라우저가 이미지 / css 가져 오기를 시작할 때까지 html에 대해서만 전체 페이지를로드하는 데 걸리는 시간이 중요하지 않습니다. 연결 시간은 거의 열려 있습니다keepalive_timeout*keepalive_requests
Marki555
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.