Рейтинг:0

Ошибка загрузки страницы

флаг co

В моей производственной среде я наблюдаю спорадическую проблему, когда страницы загружаются долго. В логах ошибок видим:

Неустранимая ошибка PHP: превышено максимальное время выполнения 30 секунд

Затронутая строка — это место, где для пользователя создается сеанс.

Каталоги физические. В каталоге +3,5 миллиона файлов. Сбор мусора установлен на 31 день для сессий в PHP.

Не могли бы вы подсказать, с какими проблемами мы можем столкнуться и как их решить?

Возможные решения, о которых я подумал:
Увеличьте подготовленный IOPS на диске
Очищать данные сеанса каждые X дней
Измените политику масштабирования, чтобы, если количество сеансов на каком-либо сервере превышало число X, мы запускали 
новый сервер
Изменить тип экземпляра наших производственных серверов
Переместить данные сеанса в другое место 
хранить данные сеанса в БД
Шлюз API AWS
эластичное кэширование

Может кто подскажет по каким вопросам?

флаг jp
Вам нужно профилировать ваше приложение, чтобы проверить, на что именно оно тратит свое время. Начните с поиска в Google «Профилирование PHP», «PHP APM».
флаг cn
Нам нужно больше информации — что делает PHP, когда создает сеанс? Какие типы баз данных/хранилищ используются? Сервер какого размера? Насколько велика нагрузка?
Santosh Baruah avatar
флаг co
Проблема спорадическая, поэтому я не могу ее вызвать. Поведение соответствует тому, что запуск сеанса всегда занимает более 30 секунд. Строки до этого работают нормально, если мы перечислим содержимое каталога сеансов (ls /var/www/sessions/), это займет +45 секунд только из командной строки. Я думаю, что мониторинг приложений был бы хорош, но, похоже, это проблема на системном уровне.
Tim avatar
флаг gp
Tim
Какая ОС? Какой тип экземпляра? Вы рассматривали кредиты процессора? Вы говорите о каталогах, какое это имеет значение? Если у вас есть 3,5 миллиона сессий, кэшированных в папке, которая, вероятно, плохая, вы можете очистить их намного раньше.
флаг jp
показать вывод `find /var/www/sessions/ | wc -l`.
Santosh Baruah avatar
флаг co
Боты не поддерживают сеансы, поэтому любые посещаемые боты создают новый файл для каждой посещаемой ими страницы. Есть ли инструмент для мониторинга приложений, который вы бы порекомендовали нам использовать?

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.