리버스 프록시로 nginx를 사용 중이며 업스트림 서버 (Windows 2003)에서 30,000 개가 넘는 TIME_WAIT 상태 포트를 찾습니다. 나는 내 서버가 여기 (http://nginx.org/pipermail/nginx/2009-April/011255.html)에서 설명한 "포트가 부족하다"는 것을 알고 있으며, TIME_WAIT를 재사용하고 더 빨리 재활용하기 위해 nginx와 업스트림 서버를 모두 설정합니다. 상류의 RPS보다 높은 1,000 일분 내에있을 때nginx 업스트림 서버 "out of ports"
[sysctl -p]
……
net.ipv4.ip_local_port_range = 1024 65000
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
하지만 여전히 오류를 nginx를 중단하고 "연결 서버를 상류 동안 연결 시간이 초과되었습니다"는, nginx를 오류 로그에서 찾을 수 있습니다. 업스트림이 Windows 인 경우 서버는 수초 내에 "포트를 벗어났습니다".
아이디어가 있으십니까? 대기열이있는 연결 풀? Maxim Dounin은 memcached와의 연결을 유지하는 데 유용한 모듈을 작성했지만 Web Server를 지원할 수없는 이유는 무엇입니까?
아마도 이것이 http://serverfault.com에 대한 것입니까? – Matthew