Задать вопрос
MayorPlay
@MayorPlay
!developer

В чем причина странного поведения PHP?

Всем привет, обращаюсь к тем, кто с этим сталкивался или понимает спицифику вопроса. У нас есть проект, довольно нагруженный посетителями (сайт доставки). И время от времени не всегда сайт перестаёт адекватно отвечать, т.е. скрипты PHP просто висят и в итоге сайт падает с ошибкой 520 CloudFlare, мол сервер не ответил в заданное время (30 секунд).
Весь этот вопрос усложняется тем, что по графикам использования ресурсов сервера будто бы в простое, т.е. использование ЦП почти на минимуме 5-10% из 400% (4 ядра), оперативная занята на 1гб из 5гб в среднем. Что не так? По графикам сервера будто в простое, а скрипты PHP работают крайне медленно. Также сервера очень быстро отдают статику, т.е. сервера не лежат, но скрипты работают медленно...
  • Вопрос задан
  • 353 просмотра
Подписаться 1 Простой 4 комментария
Решения вопроса 1
@rPman
Профилировать вам нужно ваш код, и не только работу с базой данных, там как раз нагрузка была бы.
Самое простое, чего может оказаться достаточно чтобы локализовать проблему:
* если используется cgi способ запуска php (обычно если это fastcgi/phpfpm) то все процессы php будут видны как обычные процессы (top/atop) а подробности по каждому можно посмотреть в /proc/$pid/{environ и cmdline} будет видно какой php работает и какой там запрос
* если используется apache module, то ставишь apachetop

Ну и в общем случае, в код (очень часто есть единая точка входа, какой-нибудь index.php) или если место проблемы локализовано но нужно дальше изучать, в код на php вставляешь вывод отладочной информации с временными метками и ковыряешь логи

Конечно используй php profiler, любой на выбор, считай это продвинутый логер всего что запускается и как долго работает и сколько памяти потребляет.

p.s. с высокой вероятностью где то в коде стоит загрузка чего-либо по сети (не обязательно http), с игнорированием ошибок, ресурс стал не доступен, вот и виснет все.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
index0h
@index0h
PHP, Golang. https://github.com/index0h
Похоже на БД. Посмотрите нагрузку цпу/рам/то на сервере с БД. Так же не лишним будет посмотреть лог медленных запросов и процесс лист. Если наблюдаются сильные тормоза при вставке, посмотрите загруженность буфера бд.
Ответ написан
@sasmoney
Арендовать выделенный сервер
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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