Величина скрипта слишком сильно влияет на скорость работы

Sirius

PHP+MySQL=LOVE
Величина скрипта слишком сильно влияет на скорость работы

Привет всем!
Перед тем как написать этот пост я старался сам разобраться в проблеме и нашёл только одно объяснение - скрипты менее 7-8 Кб выполняются с обычной скоростью. Более 7-8 кБ обязательно более 3 секунд, а может доходить до 15

Измерял скрипт Димыным таймером. И этот таймер мне показывал различные точки пика (3 сек и более) в различных точках скрипта. Если я меняю код (убираю хидер или что-то другое, или наоборот добавляю большой текст) он мне сразу показывает пик приблизительно в районе 7-8 Кб, а потом время опять ровное и быстрое. Пик может прийтись на обычный вывод echo "text";

Версия ПХП 4.1.1 под Linux, MySQL 3.23.36.

Если кто встречался с проблемой или знает место в настройках где можно покопаться, буду признателен!
 

.des.

Поставил пиво кому надо ;-)
дело в самомо скрипте. в алгоритмах используемых функциях и т.д.
Один неудачный рег может выполняться десятки секунд даже над небольшими текстами.
Так что ищи ошибки в коде.
Скрипт размером более сотни килобайт способен выполняться за считаные доли секунды.
 

Frol

Новичок
у меня такие же "проблеммы" на хостинге
Например
PHP:
<input ... value="<?=$value?>">
<input ... value="<?=$value2?>">
<input ... value="<?=$value3?>">
и тоже при измерениях показывает , что в разных местах <?=..?> занимает ДО 2 СЕКУНД :(
OS RedHat Linux
PHP 4.2.3
ЗЫ Я грешу на ZendOptimizer, тк на локальном сервере, который без него, весь скрипт выполняется за 0.02 сек. :(:(
Забыл добавить:
пробовал и на других хостингах без Zend'a, все ОК
 

Sirius

PHP+MySQL=LOVE
2 des - ну я же сказал что я всё проверял :(
На локалке скрипт выполняется за 0.1 секунду, на реальном хостинге - более 3. Остальные (менее 7-8 Кб) скрипты с реального хостинга по времени выигрывают у локально проверенных в 10 и более раз.

Я думаю, что возможно где-то могли поставить защиту от порталов, или громоздких скриптов...
 

Sirius

PHP+MySQL=LOVE
Хммм... свою проблему решил :) Просто сравнил локальный и серверный php.ini и поставил на сервере output_buffering из off в:
output_buffering=on

Чтобы убедиться, что именно этот параметр помог, я его выключал и включал снова. Убедился, что только из-за него!

Сейчас всё классно - только вот вопрос мучает, а какая могла быть связь...
 

Леонов Василий

Guest
Re: Величина скрипта слишком сильно влияет на скорость работы

Автор оригинала: Sirius
Измерял скрипт Димыным таймером.
тупой вопрос: а что это и где лежит?
 

Frol

Новичок
>тупой вопрос: а что это и где лежит?
http://php.spb.ru
PS стыдно должно быть :p
 

slach

Новичок
2Сириус... связь ПРЯМАЯ...
при выключенной буфферизации вывода... на ЛЮБОЙ оператор echo и т.п. делается отсылка данных в STDOUT PHP интерпретатора, и соответсвенно в клиентский TCP сокет,
и пока не отошлется =) дальше не выполняется...

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

я понятно изъясняюсь ?
 
Сверху