Мне очень нравится Elastic Beanstalk, и мне удалось запустить и запустить мое веб-приложение (Spring MVC, Hibernate,...) с использованием SSL в 64-разрядном контейнере Tomcat7.
Меня больше всего беспокоит производительность (я думал, что здесь поможет использование облака Amazon).
Чтобы оценить производительность моего сервера, я использую blitz.io (который использует облако Amazon для одновременного доступа нескольких клиентов к моему веб-сервису).
Мой самый первый простой тест производительности уже заставил меня задуматься: я проверил URL-адрес проверки работоспособности (который в основном просто печатает «Я в порядке»).
Без SSL: выглядит нормально. 13 ударов/с при времени отклика 9 мс 230 ударов/с при времени отклика 8 мс
С SSL: не так хорошо. 13 обращений в секунду со временем отклика 44 мс (хорошо, это должно быть немного больше из-за накладных расходов на шифрование) 30 обращений в секунду со временем отклика 3,6 с!
Переход выше оставил меня с тайм-аутами соединения (тайм-аут = 10 с).
Я попытался использовать более крупный экземпляр EC2 в фоновом режиме, практически с тем же результатом.
Если я не ошибаюсь, балансировщик нагрузки перед инстансами EC2 служит конечной точкой для SSL-шифрования. Как увеличить эту производительность?
Можно ли это сделать с помощью эластичного бобового стебля? Или мне нужно настроить собственный балансировщик нагрузки и т. д.?
Я также провел несколько тестов с использованием Heroku (хотя и с немного другим стеком технологий, play! vs. SpringMVC). Здесь я также увидел увеличение времени отклика, но оно осталось в основном постоянным. Я предполагаю, что они используют довольно эффективные конечные точки SSL. Как мне получить это для Elastic Beanstalk?