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

Как устранить проблемы с низкой производительностью на AWS EC2 / RDS?

Недавно мы переместили наши веб-серверы с ящиков 10-летней давности на AWS EC2.

Использование сайта в настоящее время выше (это наш напряженный сезон), и сайт стал намного медленнее, что неожиданно, потому что размеры наших экземпляров намного выше, чем у нас раньше.

У нас довольно маленький сайт, на который за раз попадает всего несколько сотен. Мы запускаем c3. большой экземпляр на нашем веб-сервере и db.m1.large для нашей базы данных RDS MySQL. У нас нет реплик чтения и / или нескольких веб-серверов (балансировка нагрузки). Согласно Google Analytics, у нас было всего 18 106 просмотров страниц за день.

Наши пользователи (внешние и внутренние) продолжают видеть время ожидания сайта в своем браузере. Это практически повсеместно, а не какая-то конкретная страница. СПИСОК ПРОЦЕССОВ MySQL также почти пуст без каких-либо блокировок таблиц или чего-то еще.

Если вы посмотрите нашу статистику в CloudWatch, все должно быть в порядке. У нас очень высокая загрузка ЦП и, как мне кажется, довольно низкий уровень сетевого ввода-вывода. Точно так же и на стороне RDS здесь нет ничего кричащего "узкое место".

Использование EC2 (c3.large)

Использование RDS (db.m1.large)

Есть идеи, как мне решить эту проблему?

Наконец-то выяснили причину наших проблем. В Apache неправильно настроен тайм-аут Keep Alive на 30 секунд. Это в сочетании с чрезмерно агрессивным скриптом AJAX приводило к зависанию сайта и ожиданию соединения.

Превращение KeepAliveTimeout до 7, а также укрощение AJAX-скрипта вернули все в норму.