Различается ли время выполнения процессора в цикле с Sleep () и Long Loops без sleep (), причем оба имеют одинаковое общее время выполнения? - PullRequest
0 голосов
/ 08 марта 2010

У меня есть цикл, который работает в течение ок. 25 минут, т.е. 1500 секунд. [100 петель со сном (15)]

Время выполнения операторов внутри цикла очень меньше.

Мои скрипты размещены на GoDaddy. Я уверен, что у них есть какое-то ограничение по времени выполнения.

У меня вопрос, они касаются "общего времени выполнения ЦП" или общего времени работы.

Ответы [ 2 ]

3 голосов
/ 08 марта 2010

Их будет интересовать Время выполнения ЦП , а не общее время работы, если соединения не являются проблемой, и вы используете их много (что не похоже на вас).

Время работы, как в секундомере, не имеет большого значения для общего хоста, если ваш цикл работает в течение 3 лет, но использует только 0,01% процессора, это не влияет на их способность к хосту. Однако, если вы работали в течение 3 лет на 100% ЦП, это напрямую влияет на то, сколько других приложений / ВМ / что угодно может быть запущено на том же оборудовании. Это означало бы, что на серверах будет размещаться столько же людей, что означает деньги ... , которые им нужны.

К вопросу в заголовке: они очень разные. При sleep() и том же количестве общего времени это означает, что фактическая работа, которую выполняет ЦП, намного меньше, потому что он может выполнять работу, находясь в режиме ожидания / простоя и все же заканчивая за то же время. Когда вы звоните sleep(), вы не облагаете налогом процессор, это операция с очень низким энергопотреблением, чтобы таймер работал до повторного вызова кода.

0 голосов
/ 08 марта 2010

Это типичный срок:

http://es2.php.net/manual/en/info.configuration.php#ini.max-execution-time

Обычно его можно изменить для каждого сценария с помощью ini_set (), например ::

.
ini_set('max_execution_time', 20*60); // 20 minutes (in seconds)

Как бы то ни было, точные временные ограничения, вероятно, зависят от того, как работает PHP (модуль Apache, fastCGI, CLI ...).

...