Время генерации страницы

123 4
E
На сайте с 08.04.2001
Offline
221
2488

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

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

Но на домашнем компьютере у меня главная страница генерируется 0.02 секунды. А на выделенном сервере - 0.46 секунд. Есть у меня еще одна очень тяжелая страница. На домашнем компьютере генерируется 0.37 секунд - а на хостинге - 39 секунд (350 кб).

Спецификации сервака (дедик) - Intel P4 2.4 Ghz 1024MB.

Server Load 0.28 (1 cpu)

Memory Used 17.3 %

В чем может быть загвоздка?

stealthy
На сайте с 15.06.2006
Offline
69
#1

Сделав первый шаг сделайте и второй. Расставьте свой секудомер по всему коду и посмотрите какая его часть выполняется дольше всего. Обычный анализ, то есть продвижение от общего к частному.

А что, для PHP нет никаких профайлеров, обязательно самому писать нужно?

Twilight CMS (http://www.twl.ru): есть Free версия, очень проста и удобна в использовании. Консультирую по любым вопросам. Новый спорт - практическая стрельба (http://nikit.in) - не для офисного планктона.
E
На сайте с 08.04.2001
Offline
221
#2

а что такое профайлер?

E
На сайте с 08.04.2001
Offline
221
#3

Начал разбираться на примере главной страницы. Методом исключения определил, что увеличение времени генерации страницы делает!!! банальная часть HTML кода. Т.е. если часть HTML-кода убираем - время генерации страницы 0.02 секунды. Возвращаем обратно - 0.49 секунд. Мистика? Или что это может быть?

stealthy
На сайте с 15.06.2006
Offline
69
#4

Вы некорректно сформулировали вопрос. HTML код не выполняется, выполняется PHP код. Поэтому надо детально разбираться с тем, как Вы отлаживаете приложение, что именно Вы комментируете и так далее. Хотя есть ненулевая вероятность, что увеличение размера файла со скриптом вызывает увеличение затрат интерпретатора по его парсингу. Но чтобы в разы - сомневаюсь.

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

Я не спец по PHP, поэтому может кто из знатоков подскажет что-то еще, но в Гугле по запросу "PHP profiler" я сразу нашел вот такой бесплатный инструментик: http://www.semanticdesigns.com/Products/Profilers/PHPProfiler.html (скриншот вот тут - http://www.semanticdesigns.com/Products/Profilers/PHPProfilerExample.gif). Мне кажется начинать нужно вот с чего-то подобного. Детально выясните где порылась собака, а уже затем выясняйте отчего она там порылась.

E
На сайте с 08.04.2001
Offline
221
#5

Пооткрывал различные страницы.

Действительно, если размер даже простого текста на странице увеличивается, то время генерации страницы сразу увеличивается в несколько десятков раз. Чем больше размер генерируемого HTML, тем больше время генерации. Т.е возьмем например один и тот же скрипт. когда он генерирует страницу для раздела где только 1 позиция - 0.78 секунд. Где 10 позиций - уже 2.7 секунды. Где 350 позиций - 39 секунд.

Причем на домашнем компьютере - все ок.

pelvis
На сайте с 01.09.2005
Offline
345
#6

Ergo, здесь много факторов. Может тупить php, может апач. Нельзя вот так по железу судить.

Какие процессы, какие нагрузки?

Ну и страничка тоже нормальная такая 350К ;)

Продаю вывески. Задарма и задорого (https://www.ledsvetzavod.ru/)
E
На сайте с 08.04.2001
Offline
221
#7

pelvis,

Факторов много. Если тупит апач или пхп, то это дело нужно вылечить. Но кто крайний и как это вылечить. Нужно выяснить причину. Вот провел небольшое исследование разных страниц:

Например страница #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!!! раз.

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

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

pelvis
На сайте с 01.09.2005
Offline
345
#8

Дело в апаче, скорее всего. Он же читает и отдает заголовки и прочее, прочее, прочее.

Тогда вопрос: какой размер БД дома и на дедике?

E
На сайте с 08.04.2001
Offline
221
#9
pelvis:
Дело в апаче, скорее всего. Он же читает и отдает заголовки и прочее, прочее, прочее.
Тогда вопрос: какой размер БД дома и на дедике?

На дедике база конечно раз в 50 больше.

М
На сайте с 01.12.2005
Offline
73
#10

А время передачи страницы во время генерации включается или нет?

Cервис для оптимизаторов Optimizer Desktop (http://jdev.ru/od/?utm_source=forum.se.ru&utm_medium=signature): мониторинг позиций, учет ссылок. Программа для оптимизаторов и вебмастеров OptiSuit (http://optisuit.ru/?utm_source=forum.se.ru&utm_medium=signature): Optimizer Desktop на Вашем компьютере
123 4

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий