|
0 / 0 / 0
Регистрация: 30.06.2018
Сообщений: 2
|
||||||
Нагрузка на процессор в конце долгого PHP-скрипта30.06.2018, 19:26. Показов 1543. Ответов 3
Метки нет (Все метки)
Всем привет!
Есть php-скрипт-парсер, который выполняется в среднем 4-5 часов. Запускается в Cron c интервалом в 5 мин, но т.к. стоит защита от повторного запуска - то по сути следующая итерация запускается только после конца предыдущей и с этим проблем нет. Условная структура скрипта выглядит так:
Проблема в том, что именно в конце выполнения скрипта (по прошествии 4-5 часов) создается большая нагрузка на процессор сервера (порядка 30 cpu). То, что нагрузка создается именно на исходе скрипта видно по статистике нагрузки от хостера (она разделена по часам). Нагрузка на MySQL околонулевая. Узнать больше, чем то, что нагрузка создается именно этим скриптом - в логах сервера нельзя. Изначально я грешил на последнюю операцию очистки БД, но убрав ее - ничего не изменилось. Почему может так получаться, что скрипт выполняет по сути одно и то же в цикле 5 часов (запись в базу), а именно в конце создает такую нагрузку?
0
|
||||||
| 30.06.2018, 19:26 | |
|
Ответы с готовыми решениями:
3
PHP - Замена долгого кода Нагрузка на процессор Нагрузка на процессор |
|
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
|
|
| 01.07.2018, 12:57 | |
|
Запустить через strace и анализировать что оно делает. По коду ничего выдающегося не видно
1
|
|
|
0 / 0 / 0
Регистрация: 30.06.2018
Сообщений: 2
|
|
| 02.07.2018, 21:53 [ТС] | |
|
Проанализировал задержки по времени и использование памяти на протяжении всего действия скрипта - проблем ни с тем, ни с другим нет. Пришел к выводу, что нагрузка создается именно в конце 5-часового парсинга просто потому, что скрипт завершился - хостинг логирует нагрузку, которую скрипт создал. Почитал, оказывается такие долгие скрипты надолго полностью занимают процессор сервера - вот и фиксируется нагрузка. Еще почитал - есть решение со вставкой sleep() внутри циклов для периодического освобождения процессора и снижения нагрузки. Но мне принципиальна скорость выполнения скрипта, и увеличивать время выполнения до 10+ часов я не хочу. Вопрос: есть ли какой-нибудь способ снижения нагрузки в таком случае?
0
|
|
|
1992 / 1216 / 440
Регистрация: 13.06.2013
Сообщений: 4,115
|
|
| 02.07.2018, 22:19 | |
|
Разделяй и властвуй. Если дело действительно в многочасовой беспрерывной работе, то логично ограничить работу скрипта по времени. Час поработает, 5 минут отдых и продолжит где остановился.
0
|
|
| 02.07.2018, 22:19 | |
|
Помогаю со студенческими работами здесь
4
Нагрузка на процессор Нагрузка на процессор Нагрузка на процессор! нагрузка на процессор Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|