2015-04-08 4 views
8

Я получаю прерывистые, но регулярные 503 ошибки («Сервис недоступен: серверный сервер в емкости») с сайта, состоящего из 2 экземпляров t2.medium за ELB. Ни один из них не находится под особенно тяжелой нагрузкой, и все наблюдение кажется нормальным.Как решить AWS ELB/EC2 HTTP 503 с настройками таймаута?

Документы AWS здесь: http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ts-elb-error-message.html говорят, что потенциальная причина несоответствующих параметров тайма-аута между УДРА и EC2s: «установить Keep-Alive таймаут на больше или равно праздные настройки тайма-аута вашей балансировки нагрузки»

Apache конф на EC2s есть:

  • KeepAlive на
  • MaxKeepAliveRequests 100
  • KeepAliveTimeout 5

Время ожидания на балансировочном устройстве составляет 60 секунд.

Таким образом, это может быть причиной, но я не уверен в исправлении. Увеличение Apache KeepAliveTimeout не является - я понимаю - обычно рекомендуется, и я в равной степени не уверен в том, что снижение времени ожидания на ELB будет иметь производительность сайта.

Какой рекомендуемый подход? Как я могу получить представление о том, какие идеальные настройки для моей настройки и какой уровень трафика (в настоящее время около 30-50 запросов/мин) он имеет?

+3

Увеличение времени ожидания apache должно быть прекрасным, за ELB, потому что ELB поддерживает соединения, а не браузеры, удерживающие их напрямую. Попробуй? –

ответ

3

Я бы понизил тайм-аут простоя в ELB. Клиентам необходимо чаще открывать новые подключения, но это немного медленнее, чем повторное использование keepalive-соединения.

Поднять keepalive до 60 в Apache также можно было бы исправить 503, но вам нужно быть осторожным, чтобы не кончаться соединениями или памятью, особенно с предпроданием mpm, потому что вы получите намного больше слотов, используемых в keepalive. Используйте рабочий mpm (или событие mpm, если вы не боитесь предупреждения «Этот MPM является экспериментальным»), убедитесь, что у вас достаточно достаточно MaxClients для обработки всех запросов, но достаточно низкого, чтобы не было из памяти.

Смежные вопросы