У меня есть запланированное задание, которое запускает скрипт на регулярной основе (каждый час). Этот скрипт интенсивно взаимодействует с базой данных и файловой системой, и его запуск занимает несколько минут. Проблема заключается в том, что во время работы скрипта увеличивается загрузка ЦП на сервере, что замедляет обычные операции. Есть ли способ ограничить этот процесс, чтобы он занимал больше времени, но не потреблял столько ресурсов?
Я рассмотрел различные параметры конфигурации для PHP, но, похоже, не было ни одного, соответствующего моим потребностям.
Установка значения memory_limit в php.ini на более низкое значение приводит к тому, что мои объекты данных легко переполняются.
Я видел похожие посты, в которых люди предлагали использовать sleep () в определенных точках скрипта, но это не мешает скрипту заскочить на сервер.
Оптимальным решением было бы как-то сказать, чтобы стек Lamp (в данном случае Wamp) использовал только 10% загрузки процессора. Меня совсем не волнует время выполнения, и я бы предпочел, чтобы это заняло больше времени, если это означает экономию циклов процессора в секунду. Моим альтернативным решением было бы настроить другой сервер с репликацией базы данных, чтобы cron мог отправиться в город, не замедляя все остальное.
Среда: Windows Server 2k3, Apache 2.2.11, PHP 5.2.9, MySQL 5.1
Я ценю любое понимание этой ситуации.
РЕДАКТИРОВАТЬ: Я ценю все ответы, даже те, которые * NIX-конкретных. В моей ситуации еще рано менять среду размещения. Надеюсь, этот вопрос поможет другим независимо от ОС.