Время генерации страницы. Странная зависимость от размера генерируемого HTML кода

  • Автор темы Автор темы Ergo
  • Дата начала Дата начала

Ergo

Новичок
Время генерации страницы. Странная зависимость от размера генерируемого HTML кода

Решил для интереса установить подсчет времени генерации страницы. Решил установить уже готовое решение.

В результате оказалось, что время генерации страниц на домашнем компьютере и на выделенном сервере очень сильно различаются. Дома обыкновенная workstation Athlon 2400, 1024Mb, дедик P4 2.4 1024Mb. Загрузка дедика согласно WHM:

Server Load 0.28 (1 cpu)
Memory Used 17.3 %
Swap Used 0.01 %

Провел небольшое исследование разных страниц:

Например страница #1 (3 запроса к БД, размер HTML кода на выходе - 14Kb)
на домашнем компьютере генерируется 0.049201
на дедике - 0.490975 секунд (т.е. в 10 раз медленнее)

страница #2 (3 запроса к БД, 300Kb)
на домашнем компьютере генерируется 0.569938
на дедике - 39 секунд (т.е. в 68 раз медленнее)

страница #3 (280 запросов к БД, 80Kb)
на домашнем компьютере генерируется 1.01 секунд
на дедике - 10.366816 (т.е. в 10 раз медленнее)

страница #4 (34 запроса к БД, 10Kb)
на домашнем компьютере генерируется за 0.568850 секунд
на дедике - 0.024127 (т.е. в 23 раза быстрее)

Для интереса взял удалил из страницы #1 часть HTML-кода (уменьшил ее выход на 1.5Kb) - время генерации уменьшилось в 10!!! раз.

Т.е. чем тупо больше страница, пусть даже совсем без запросов к базе данных, тем дедик медленнее ее генерирует!

В чем может быть проблема?
 
подсоединяетесь через модем, не?..
ну вообще то ADSL. Правда скорость - 96/32 небольшая.
А разве время генерации страницы зависит от скорости соединения.

Я понимаю, что сначала html-код генерируется, а потом уже отдается клиенту. А сколько он будет отдаваться клиенту не важно. Или это не так?
 
т.е. эти 300 kb по-вашему накапливаются в вакууме и только потом отдаются?

получить адекватный результат, можете, например, так - захватить вывод через ob_start(), замерить время, и лишь потом сбросить ob_end_flush(). (только впоследствии это удалить не забудьте.)
 
Если я открою например страницу
то у меня она открывается 5 секунд, а внизу написано Page generated in 0.59836 seconds
 
а у меня на сервер она загружается за секунду-полторы. ну и?
это означает лишь то, что либо они замеряют только время генерации данных (без обработки шаблона), либо используют буферизацию. в любом случае - время они измеряют корректно, в отличие от того, как это делали вы.
 
Понятно. но тогда те кто не учитывают обработку шаблона тоже не верно считают. Шаблон же на себя тоже берет время генерации.

Тут вопрос в другом. Действительно, когда я беру открываю страницу и в это время еще что-то скачивается время генерации страницы увеличилось с 39 секунд до 42.

Попросил знакомого с каналом 256кбит открыть эту же страницу - у него результат получился 0.044041, т.е. почти в 1000 раз быстрее, хотя скорость у меня 96 кбит у него 256 - разница не такая уж и большая.

Как это объяснить?
 
Сверху