Apapche + php-fpm + mysql слишком медленно на мощном сервере

Я пытаюсь протестировать загрузку приложения LAMP, которое моя команда разработала и развернула на AWS ubuntu 14.04, используя jmeter. Мы используем AWS CDN для обслуживания статических файлов, mysql и apache находятся на одном хосте.

Когда что-то делает только один пользователь, время отклика нормальное, от 2 до 5 секунд в зависимости от страницы.

Моя цель - заставить его реагировать в то же время на 500 подключенных пользователей, которые делают что-то одновременно.

Я начал с меньшего количества пользователей, используя mod_php и модуль prefork на t2.small (1vCPU, 2 Gb RAM), и меня удовлетворило всего 40 подключенных пользователей. Когда их становится 100, он сильно замедляется со временем отклика +20 с.

Я пробовал использовать php-fpm и модуль событий после использования некоторых ресурсов SO. Производительность была лучше, но остается медленной; +15 за любую отдельную страницу. Производительность была лучше, но остается медленной; +15 за любую отдельную страницу. Производительность была лучше, но остается медленной; +15 за любую отдельную страницу. Решил обновить сервер до M4.2xlarge (8vCPU, 32 Gb RAM). Для 100 подключенных пользователей он ведет себя нормально, и я доволен, но это дорого, и я хочу найти лучшую производительность, используя наиболее подходящую спецификацию сервера.

В любом случае, я попытался протестировать этот M4.2xlarge с 330 подключенными пользователи делали что-то одновременно, и это стало слишком медленно, + 15 ~ + 20 с на страницу. Пытался настроить конфигурацию событий и процесс fpm, но безуспешно (в большинстве случаев у меня + 90℅ процессора, но недостаточно оперативной памяти не используется, поэтому я думаю, что у нас где-то предел).

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

5
задан 29 November 2016 в 22:07
1 ответ

Я думаю, что вы могли бы установить nginx для кэширования и реверсивного прокси запросов к apache и Cloudfront. Я сделал это некоторое время назад. И решить мою проблему с задержкой.

Моя настройка: EC2 + RDS + Cloudfront/S3

Я настроил EC2 с помощью nginx кэширования и проксирования запросов статических файлов на облачный фронт, который указывает на ведро на S3. А также кэширование и проксирование запросов, которые должны выполняться на стороне сервера для apache. И настройка сервиса базы данных на RDS.

Это решает мою проблему и уменьшает мою задержку до миллисекунд.

.
0
ответ дан 3 December 2019 в 02:09

Теги

Похожие вопросы