tolik777
Новичок
Проблема с echo. Сильно замедляется работа скрипта.
Хостер начал на меня наезжать, что я сильно гружу их проц. Посещаемость сайта около 500 хостов. Вообщем занялся я оптимизацией своих скриптов. Все построено на PHP + MySQL (магазин цифровых товаров).
Так вот, дома (Пень 2.4, 512 РАМ, Win XP + Denwer) добился уменьшение время выполнения скрипта в 2 раза, т.е. было около 0.080 сек, сейчас 0.043.
Закачал на сервер, да не тут то было. Время выполнения около 0.570 сек. Причем например сегодня с утра доходило до 5 сек!!!
Закачал на бесплатный хостинг с поддержкой MySQL и PHP, Там все нормально. Время выполнения около 0.020 сек.
Начал разбираться. Думал Мускул виноват, да нет! Оказалось ECHO!
В цикле у меня выводиться около 10 строк таблицы:
Так вот, когда отключаю ECHO вообще, то время 0.003 сек. Пробовал сначала все закидывать в переменную, а потом выводить. Не помогает. Менял на print, тоже самое.
Затем стал попеременно отключать то одну echo, то вторую. Обнаружил, что если в echo содержиться малое кол-во кода, то время генерации нормальное.
Попробовал после echo, вставил flush() то же непомогает.
Мне так кажется, что это связано с буфером вывода функции echo.
Вот кстати phpInfo моего хостера: knigman.net/phpinfo.php
Что делать то?
Хостер начал на меня наезжать, что я сильно гружу их проц. Посещаемость сайта около 500 хостов. Вообщем занялся я оптимизацией своих скриптов. Все построено на PHP + MySQL (магазин цифровых товаров).
Так вот, дома (Пень 2.4, 512 РАМ, Win XP + Denwer) добился уменьшение время выполнения скрипта в 2 раза, т.е. было около 0.080 сек, сейчас 0.043.
Закачал на сервер, да не тут то было. Время выполнения около 0.570 сек. Причем например сегодня с утра доходило до 5 сек!!!
Закачал на бесплатный хостинг с поддержкой MySQL и PHP, Там все нормально. Время выполнения около 0.020 сек.
Начал разбираться. Думал Мускул виноват, да нет! Оказалось ECHO!
В цикле у меня выводиться около 10 строк таблицы:
PHP:
echo '<tr bgcolor='.$clr.'>';
echo '<td><p><a href=buy.php?tovid='.$row_good[id].' class=cap2>'.$row_good[tov_name].'</a></p></td>';
echo '<td><p><a href=seller.php?name=' . $row_good[user_holder] . ' class=cap2>' . $row_user[org_name] . '</a> '.$skidka_img.'</p></td>';
echo '<td><p align=left>'.$esumm.'$</p></td>';
echo '<td><p align=right><a href=buy.php?tovid='.$row_good[id].' class=cap2><img border=0 src=pic_buy.gif alt=Купить!></a></td>';
echo '</tr>';
Затем стал попеременно отключать то одну echo, то вторую. Обнаружил, что если в echo содержиться малое кол-во кода, то время генерации нормальное.
Попробовал после echo, вставил flush() то же непомогает.
Мне так кажется, что это связано с буфером вывода функции echo.
Вот кстати phpInfo моего хостера: knigman.net/phpinfo.php
Что делать то?