![]() |
PHP тормозит, но сервер норм — где копать?
Привет, ребята. Есть PHP-приложение, вроде не тяжелое, сервер мощный, но работает медленно. Начал копать — что можно реально сделать без обновления железа?
Первое, на что смотрю — профилирование через Xdebug или что-то похожее, чтобы понять, где узкие места. Обычно топятся запросы к базе и тяжелые функции. Кэширование — APCu или OPcache подключил? Бывают случаи, когда OPcache отключен, а с ним прирост в скорости 2-3 раза. Еще сессии — если они хранятся в файлах и много одновременных пользователей, то могут возникать блокировки. Redis или memcached для хранения сессий — очень советую. Проверял ли кто оптимизацию SQL-запросов? Иногда проблема именно там, а не в PHP. Можно подгрузить ORM или написать свои более простые запросы. И да, иногда помогает разбить большую логику на несколько шагов или использовать долгоживущие процессы (ReactPHP, Swoole) — но это уже доработка кода. Что еще обычно спасает без замены сервера? У кого есть проверенные фишки? |
Если OPcache не включен — его надо срочно юзать, реально меняет картину. И с сессиями — держать их в Redis гораздо быстрее, чем в файлах, особенно при нагрузке. Еще глянь, может кто-то постоянно дергает базу с тяжелыми JOINами, иногда проще кеш на уровне запросов поставить.
|
OPcache — мастхэв, реально ускоряет. Сессии в файлах при высокой нагрузке — тормозят однозначно, redis сильно помогает. SQL посмотри внимательно, иногда базу грузят тяжелыми запросами без нужды. Часто помогает просто разбить логику, если много всего подряд происходит за один запрос. Профилировщик — штука полезная, иногда сразу видно, где косяк.
|
| Время: 08:53 |