Неизвестная производительность балансировщика нагрузки с лаком
В настоящее время мы используем Varnish, потому что он хорошо кэширует работу, и я пытаюсь заставить его работать хорошо при промахах кэша. Мои тесты дают мне результаты, которых я не понимаю.
У меня 3 бокса из стойки, все работают под управлением Centos 5.5. В 1 установлен Varnish (экземпляр 4 ГБ), в двух других запущено простое приложение узла Hello World (экземпляры 2x1 ГБ).
Сервер с одним узлом работает хорошо
httperf --hog --server 50.57.151.229 --port 1337 --uri / --rate=2000 --num-conns=20000 --num-call=1 --timeout 5
Это завершает, но во многих запросах были ошибки, в то время как 1750 работает нормально (1750 р / с)
Сбой балансировки нагрузки
httperf --hog --server 50.56.80.227 --uri / --rate=1800 --num-conns=18000 --num-call=1 --timeout 5
Если я переключаюсь на балансировщик нагрузки, он отлично работает в течение нескольких секунд. Varnishstat показывает 1800 запросов и соединений в секунду. Через несколько секунд соединения лака падают до 0, и httperf начинает получать ошибки. Процессы узла, кажется, делают хорошо.
Иногда соединения будут восстановлены, но они никогда не вернутся к 1800 снова. Это произойдет раньше, если я увеличу нагрузку до 1800.
Вот моя конфигурация, код и varnishstat как до, так и после удаления.
https://gist.github.com/1296924
Вопрос
Что происходит с Varnish, когда он падает до 0? Что мне нужно искать в лакистате?
1 ответ
Я думаю, что я насыщал свои тестовые серверы. Сейчас я тестирую с 40 блоками нагрузочного тестирования, и у меня есть более подробная информация о проблеме здесь:
Плохая производительность балансировщика нагрузки на стойках и в сантиметрах