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

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!!! раз.

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

В чем может быть проблема?
 

Ergo

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

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

hermit_refined

Отшельник
т.е. эти 300 kb по-вашему накапливаются в вакууме и только потом отдаются?

получить адекватный результат, можете, например, так - захватить вывод через ob_start(), замерить время, и лишь потом сбросить ob_end_flush(). (только впоследствии это удалить не забудьте.)
 

Ergo

Новичок
Если я открою например страницу
то у меня она открывается 5 секунд, а внизу написано Page generated in 0.59836 seconds
 

hermit_refined

Отшельник
а у меня на сервер она загружается за секунду-полторы. ну и?
это означает лишь то, что либо они замеряют только время генерации данных (без обработки шаблона), либо используют буферизацию. в любом случае - время они измеряют корректно, в отличие от того, как это делали вы.
 

Ergo

Новичок
Понятно. но тогда те кто не учитывают обработку шаблона тоже не верно считают. Шаблон же на себя тоже берет время генерации.

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

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

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