Назад | Перейти на главную страницу

Связь между nginx и Varnish

Я использую 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