Дурацкий вопрос по max script execution time

rsv

Новичок
Дурацкий вопрос по max script execution time

У хостера в настройках сабж установлен на 5 сек
Скрипт соединяется через сокеты с несколькими серверами и с одного на другой сливает файлики.
Файлики от 1до 120 мег.
Причем верхний предел не точный может быть 100 а может 120. Зависит от скорости.
Т. е. в какой то момент после 100 метров с чемто вываливается ошибка типа max execution time 5 секунд истекли
Но я наблюдаю за процессом в реальном времени и там счет идет на минуты. Т.е. скрипт совершенно точно работает от 1 до 10 минут.
Вопрос такой скажите или ткните в ман где ниписано, какое время работы собственно входит в эти 5 секунд?
Это я к тому, что может можно в коде ченить наоптимизировать и добиться хотябы удвоения количества перекачиваемых мегов.
ЗЫ: Никто не знает халявный php хостинг с max exexution time больше чем 5 секунд и толстым каналом (хотя бы 2-3gb per month)? ;)
 

gray07

Новичок
Тебе скорее всего надо не новый хостинг, а использовать функцию set_time_limit(), если конечно ее не отключили...
 

gray07

Новичок
халявный php хостинг с max exexution time больше чем 5 секунд есть, но там исходящий трафик пресекают :)
 

IL78

Guest
rsv, нельзя ли уточнить, как ты измеряешь время работы скрипта и какой именно процесс занимает от 1 до 10 минут реального времени? Надеюсь, не вывод результата в браузер? ;)
 

rsv

Новичок
что значит пресекают исходящий трафик? а как же посетители сайта видят собственно сайт? ;)
ты будешь смеяться но вывод результата в браузер тоже входит в это время
вообще то измеряю я время собственно на глазок, я знаешь ли, могу отличить 5 сек от 5 мин не пользуясь часами :)
если серьезно то скрипт работает вполне прозрачно:
соединился с одни сервером
вывел в браузер лог об этом
потом flush
соединился с другим
вывел лог
потом flush
перелил с одного сервера на другой 1 мег
вывел лог об этом
потом flush
перелил с одного сервера на другой еще 1 мег
вывел лог об этом
потом flush
и так 100 мег
причем, flush работает вполне нормально и логи появляются не все сразу , а по мере того как их выдает браузеру скрипт
весь процесс занимает 5-10 минут
в конце концов я просто уверен в том, что 100 мег нельзя слить за 5 сек
поскольку я потом этот файл забираю уже со второго сервака по своим 100мб каналам и это длится не 5 сек :)
сервер 1 всегда разный поэтому совершенно точно можно сказать что там не 1гбит соединение между двумя серваками и тем на котором собственно скрипт работает :)
 

gray07

Новичок
что значит пресекают исходящий трафик? а как же посетители сайта видят собственно сайт?
Запрещают открывать соединения из скрипта. "исходящий трафик" - это они кстати написали.
 

rsv

Новичок
Note: The set_time_limit() function and the configuration directive max_execution_time only affect the execution time of the script itself. Any time spent on activity that happens outside the execution of the script such as system calls using system(), stream operations, database queries, etc. is not included when determining the maximum time that the script has been running.

Отсюда делаю вывод, что надо убрать из скрипта нафиг все выводы логов (логи ведь еще и в файл выводятся), всяких условий проверки количества перелитых мег и вообще все что не касается собственно чтения и записи из(в) сокеты и тогда по идее возможности скрипта на этом хостинге должны резко возрасти :)
 

asdd

Guest
говориш в настройках стоит 5 секунд?
попробуй юзать:
1) ini_set('max_execution_time',0);
если не получиться то
2) alter_ini('max_execution_time',0);

и исчё есть функция точно не помню какая что то типа
ini_restore(); - она восстанавливает стандартные значения (тоесть поставит тебе время выполнения 30 секунд)
 

nightik

PHP5 BetaTeam
asdd
ты не прав, ini_restore восстанавливает значение которое было установлено в php.ini, а не на стандартное
 
Сверху