Тормоза при выводе текста в PHP

IDr

Новичок
Тормоза при выводе текста в PHP

Здравствуйте.

На одном из хостингов столкнулся с тормозами при вывода текста в PHP (более 16 КБайт).
Вот тестовый код:
PHP:
list($usec, $sec) = explode(" ",microtime());
$doStart = (float)$sec + (float)$usec;

for ($i=0;$i<1600;$i++)
{
    echo('12345678, ');
}

list($usec, $sec) = explode(" ",microtime());
$doEnd = (float)$sec + (float)$usec;
echo "(".round(($doEnd - $doStart),5)*1000 . ")";
выполняется 0,9 миллисекунды.

Если увеличить количество выводимой информации, происходит резкое падение производительности:
PHP:
list($usec, $sec) = explode(" ",microtime());
$doStart = (float)$sec + (float)$usec;
	
for ($i=0;$i<1700;$i++)
{
    echo('12345678, ');
}

list($usec, $sec) = explode(" ",microtime());
$doEnd = (float)$sec + (float)$usec;
echo "(".round(($doEnd - $doStart),5)*1000 . ")";
он выполняется 250 миллисекунд, если еще увеличить, то падение скорости примерно пропорциональное….

Тормоза стабильные, до 16 КБ выводится стабильно меньше 1 миллисекунды, а больше 16 КБ стабильно больше 250 миллисекунд.

Сервер: Fedora Core 4, PHP 5.0.4, Apache/2.0.54.
Нагрузка на сервере нулевая, так что влияния загруженности сервера можно не учитывать.

Локально на винде установлена та же версия PHP и идентично настроена, такой проблемы не возникает.

Нашел похожую тему, но там так ничего и не решилось:
http://phpclub.ru/talk/showthread.php?s=&threadid=26332
 

Фанат

oncle terrible
Команда форума
Найч
а аутпут буфферинг у твоего 5.1.6 в какой позе стоит?
 

IDr

Новичок
Автор оригинала: Фанат
Найч
а аутпут буфферинг у твоего 5.1.6 в какой позе стоит?
output_buffering, пробовал ставить «Off», «4096» и «8192», картина одна и та же…

А вот когда установил «On» все заработало как надо, благодарю за наводку.

Вот только теперь вопрос номер два, какие могут возникнуть проблемы после установки «output_buffering=On» ? Не будет ли php кушать доп. ресурсы из за этого?
 

hermit_refined

Отшельник
иной раз "тормоза" не есть то, чем они кажутся.
у вас какая скорость подключения к интернету?..
 

IDr

Новичок
Автор оригинала: hermit_refined
иной раз "тормоза" не есть то, чем они кажутся.
у вас какая скорость подключения к интернету?..
256 кбит/с, задержки до сервера около 100 ms...

Вы хотите сказать, что скорость генерирования страницы PHP скриптом зависит от скорости пользователя?
То есть если я правильно понял намек то:
в PHP заполняется буфер (4КБ при output_buffering=4096) потом он ждет
пока передадутся данные, а потом дальше генерирует страницу?
 

hermit_refined

Отшельник
если очень-очень приближенно, то можете думать так, да.
но, конечно, "скорость генерирования PHP" - вообще непонятный термин, потом - не PHP ждёт, а сам процесс, и не ждёт, а блокируется, ну и т.д.
 

IDr

Новичок
Автор оригинала: hermit_refined
если очень-очень приближенно, то можете думать так, да.
но, конечно, "скорость генерирования PHP" - вообще непонятный термин, потом - не PHP ждёт, а сам процесс, и не ждёт, а блокируется, ну и т.д.
Подправил предыдущее сообщение...
Ладненько пойду учить теорию...
 
Сверху