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

AWS ELB низкая производительность

Мы используем ELB для завершения SSL. Наши приложения работают на экземплярах EC2 за ELB с использованием HTTP. Мы отслеживаем время отклика приложений, и падение производительности при прохождении ELB кажется очень высоким: - Среднее время отклика при прохождении ELB: 1+ секунда, - Среднее время отклика при обходе ELB: ~ 250 мс.

Похоже, прохождение ELB добавляет около секунды, а иногда и до 4-5 секунд. Ожидается ли это? Какие типичные накладные расходы добавляются при завершении SSL-соединения ELB?

Любые указатели были бы очень признательны!

Это может быть связано с тем, как настроен ELB для вас, и это определенно ненормально. Узлы ELB меняют размер и масштаб в зависимости от нагрузки. Если ваш сайт не получает очень много трафика, возможно, ваш ELB уменьшился в размере до меньшего узла. Вам следует связаться с AWS через Premium Support или форумы AWS, чтобы они могли это проверить.

Для тех, у кого похожие проблемы, и которые пытаются выяснить, как диагностировать свой ELB, я написал инструмент под названием эльбинг это призвано облегчить диагностику ELB. Я написал этот инструмент специально, чтобы проверить, что все узлы ELB отвечают, инициируя HTTP 405 (метод запрещен) для ELB в режиме HTTP (s).

Он доступен как рубиновый драгоценный камень, поэтому, если у вас есть rubygems, вы можете установить его, просто выполнив:

$ gem install elbping

Теперь можно запустить:

$ elbping -c 4 https://elb-123456789.us-east-1.elb.amazonaws.com
Response from 54.243.63.96: code=405 time=210 ms
Response from 23.21.73.53: code=405 time=189 ms
Response from 54.243.63.96: code=405 time=191 ms
Response from 23.21.73.53: code=405 time=188 ms
Response from 54.243.63.96: code=405 time=190 ms
Response from 23.21.73.53: code=405 time=192 ms
Response from 54.243.63.96: code=405 time=187 ms
Response from 23.21.73.53: code=405 time=189 ms
--- 54.243.63.96 statistics ---
4 requests, 4 responses, 0% loss
min/avg/max = 187/163/210 ms
--- 23.21.73.53 statistics ---
4 requests, 4 responses, 0% loss
min/avg/max = 188/189/192 ms
--- total statistics ---
4 requests, 4 responses, 0% loss
min/avg/max = 188/189/192 ms

Если ты видишь code=405 тогда это означает, что ELB и его узлы отвечают. Эти "пинги" никогда не поступают на ваш сервер, поэтому время ответа только время в обе стороны от / до ELB.

В случае SSL это поможет вам определить, сколько времени уходит на установление SSL-соединения с ELB по сравнению с тем, сколько времени требуется ELB для связи с вашими бэкэндами.

HTH

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

В настоящее время ELB могут иметь Журналы доступа включены, которые предоставляют вам множество различных показателей по запросам, чтобы вы могли определить, виноват ли ELB, или ваши серверные экземпляры. (См. Request_processing_time и backend_processing_time)