Я использую nginx в качестве обратного прокси с лаком в фоновом режиме. У меня есть топливный лак LAMP. Проблема, которую я вижу на сервере Varnish, заключается в том, что соединение с nginx устанавливается каждый раз, когда обрабатывается запрос.
Мы обслуживаем более 300 запросов в секунду и видим что-то вроде:
netstat -an|awk '/tcp/ {print $6}'|sort|uniq -c
2 ESTABLISHED
1 FIN_WAIT1
7 LISTEN
1 SYN_RECV
43187 TIME_WAIT
Это, конечно, нежелательно. Было бы лучше, если бы мы настроили туннель или соединение между nginx и varnish, и все взаимодействие происходило бы через это статическое соединение. Я не совсем уверен, как именно это можно сделать и есть ли лучшие способы сделать это.
Что еще я могу здесь сделать?
Спасибо
Nginx поддерживает только HTTP / 1.0 между собой и внутренними серверами, поэтому по умолчанию HTTP keep-alive отсутствует :(
Есть много странных и замечательных сторонних модулей, которые могут помочь, но пока я нашел только поддержку keepalive для memcache и redis, без HTTP