Время генерации страницы. Сколько надо?

paganelp

Guest
Время генерации страницы. Сколько надо?

Господа, умудренные опытом, подскажите, какое должно быть время генерации страницы. Точнее не больше какого значения. Рассматривается среднестатистический сайт. Будующая посещаемость неизвестна.
Вопрос интересует для оценки необходимости оптимизации скрипта.
 

Кром

Новичок
>Время генерации страницы. Сколько надо?

Чем меньше, тем лучше. Оптимизируй из принципа: "нет предела совершенству". :)
 

Фанат

oncle terrible
Команда форума
менше одной десятой секунды.
Если больше - теоретически, повод задуматься, если ты не знаешь, что именно так и должно быть.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: Фанат
менше одной десятой секунды.
Если больше - теоретически, повод задуматься, если ты не знаешь, что именно так и должно быть.
зачем ребёнка плохому учишь? щас же будут вопросы: "что быстрее --- foreach или while по массиву из 5 с половиной элементов?"

-~{}~ 26.01.05 10:25:

Дополнение: "я оптимизирую, а то на моём бесплатном хостинге страница целых 0,2 секунды генерируется!!!"
 

paganelp

Guest
Дополнение: "я оптимизирую, а то на моём бесплатном хостинге страница целых 0,2 секунды генерируется!!!"
:) На самом деле я сейчас пока работаю на собственном сервере (linux kernel 2.4.x, Apache 1.3.x, php 4.3.x, MySQL 3.x ну и т.д.) P3-933M / 512M / IDE HDD
Страница там генерится ... не не буду говорить, а то смеятся будите :)
Именно по этому и возник вопрос о оптимизации.

Автор оригинала: Sad Spirit
зачем ребёнка плохому учишь? щас же будут вопросы: "что быстрее --- foreach или while по массиву из 5 с половиной элементов?"
Ну не совсем так я хотел спросить, но близко к теме.
Если есть какие либо ресурсы по оптимизации скриптов на PHP, подскажите где взять, поиск не предлагайте, сейчас сам этим займусь.

И вопросы, пока что в голову приходит:
1. Что быстрее будет работать (скажем лежат в таблице куски из которых собирается контент (пример: 10 новостей)):
- сделать 1 SQL запрос и поместить все в массив, а дальше разгребать записи
- сделать SQL запрос на каждую строку отдельно, полученный результат в обработку.

еще придумаю вопросы - напишу.

Спасибо за ответы.
 

Фанат

oncle terrible
Команда форума
шикарный сервер.
Страница там генерится ... не не буду говорить, а то смеятся будите
не будем мы никого будить.
судя по всему - больше 1 десятой секунды?
Если есть какие либо ресурсы по оптимизации скриптов на PHP
есть.
берешь любой учебник программирования и читаешь, что такое "профайлинг".
И вопросы, пока что в голову приходит:
Вот над этими вопросами будут смеяться. Громко.

постарайся запомнить то, что я тебе сейчас скажу.
Не бывает медленных функций или алгоритмов.
Забудь навссегда идею о том, что достаточно просто поменять одну коменду на другую и все залетает.
Такое бывает только в сказках, которые тебе в детском саду читают.

В реальной жизни бывают реальные проблемы с производительностью.
Так вот оптимизировать надо их. Реальные.
Именно те, которые у тебя в скрипте. В твоем. Конкретном скрипте.
Ферштеен?
Не абстрактный "какой запрос лучше".
А САМ взял и померял - какой запрос выполняется дольше всех?
Вот этот.
Вот его взял и начал оптимизировать.

Повторяю основную мысль:
Оптимизироватьнадо не то, название чего сказал дядя на форуме.
А то, что У ТЕБЯ в ТВОЁМ скрипте тормозит.

Доходит?
 

paganelp

Guest
Да, это понятно. Я именно и спросил то, что у меня в скрипте есть.
На данный момент у меня контент страницы, структура сайта (используется dbtree), стуктура контента, шаблоны, все лежит в SQL. Именно от сюда и был вопрос про запросы.
Задам тогда еще вопрос: как измерять время?
PHP:
list($usec, $sec) = explode(' ', microtime());
$TimeBegin =  $usec + $sec;

//<Измеряемое место>

list($usec, $sec) = explode(' ', microtime());
$TimeEnd =  $usec + $sec;
$TotalTime = $TimeEnd - $TimeBegin;
echo "Время выполнения участка кода $TotalTime<br>";
так?

А про сервер - это сервер в основном для одного пользователя, для меня. И название сервер у него только по тому, что на нем нет ни клавиатуры ни монитора, и основная его функция это брэндмауэр. Для сравнения скажу, что typo3 генерит на нем страницы довольно быстро.

А профайлинг оказывается в zend studio есть. Попробую разобраться

-~{}~ 26.01.05 20:28:

С профайлингом вроде все понятно, как и измерением времени. Спасибо, Фанат.
 

Sad Spirit

мизантроп (Старожил PHPClub)
Команда форума
Автор оригинала: paganelp
Задам тогда еще вопрос: как измерять время?
PHP:
list($usec, $sec) = explode(' ', microtime());
$TimeBegin =  $usec + $sec;

//<Измеряемое место>

list($usec, $sec) = explode(' ', microtime());
$TimeEnd =  $usec + $sec;
$TotalTime = $TimeEnd - $TimeBegin;
echo "Время выполнения участка кода $TotalTime<br>";
так?
Для начала пойдёт, но лучше возьми Benchmark_Timer из PEAR, там просто ляпаешь в нужном месте
PHP:
$timer->setMarker('foo');
а он в конце выводит красивую табличку, сколько времени прошло от маркера до маркера.
 
Сверху