Ресурсоемкие операции в PHP

Sanu0074
На сайте с 31.08.2012
Offline
110
782

Есть такая ситуация, когда на сервере в админке выполняется парсинг файла (xls), на выполнение требуется гдето 1-2мин. В этот момент висит весь сайт, никаких действий сделать нельзя ни в админке, не в публичной части, хотя ЦП сервера напрягается всего на 25%, а о памяти даже говорить не о чем, ее более чем достаточно...

Собственно вопрос в том, как сделать так что бы во время выполнения такой ресурсоемкой процедуры, сайт продолжал работать?

R
На сайте с 18.12.2009
Offline
92
#1

А Вы как выполняете парсинг? По cron задаче, запуском по http или...?

Sanu0074
На сайте с 31.08.2012
Offline
110
#2

rerighter, http, обычный запрос к скрипту с параметрами по ссылке

IL
На сайте с 20.04.2007
Offline
435
#3
Sanu0074:
В этот момент висит весь сайт, никаких действий сделать нельзя ни в админке, не в публичной части, хотя ЦП сервера напрягается всего на 25%, а о памяти даже говорить не о чем, ее более чем достаточно...

Попробуйте открыть сайт в другом браузере.

... :) Облачные серверы от RegRu - промокод 3F85-3D10-806D-7224 ( http://levik.info/regru )
Оптимизайка
На сайте с 11.03.2012
Offline
396
#4

Обычно для ресурсоемких (и длительных по времени задач) используют делегирование этой задачи какому-нибудь gearman.

В любом случае, если на сайт зайти совсем нельзя, дело не в загрузке сервера вовсе, видимо имеется какая-то блокировка. У вас какая конфигурация? Apache/nginx? PHP cgi/fastcgi/mod_php?

⭐ BotGuard (https://botguard.net) ⭐ — защита вашего сайта от вредоносных ботов, воровства контента, клонирования, спама и хакерских атак!
Sanu0074
На сайте с 31.08.2012
Offline
110
#5

Оптимизайка, Apache\PHP

dkameleon
На сайте с 09.12.2005
Offline
386
#6

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

другие юзеры нормально серфят.

Дизайн интерьера (http://balabukha.com/)
IL
На сайте с 20.04.2007
Offline
435
#7
ivan-lev:
Попробуйте открыть сайт в другом браузере.

Я вполне серьёзно. Пока в одном браузере выполняется что-то ресурсоёмкое - побродить по сайту в другом браузере...

dkameleon:
не удивлюсь, если просто ограничение в фаерволе на колличество открытых коннектов для айпи.

Если точнее - ограничение на количество одновременных соединений в пределах одной PHP сессии (php session file lock).

При необходимости (если запись в сессию больше не потребуется) -можно использовать

session_write_close();

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий