Время генерации страницы - как оптимизировать?

Духовность™

Продвинутый новичок
Время генерации страницы - как оптимизировать?

Привет.

Главная страница сайта http://moscow-post.ru/ генерируется около секунды (и больше) - можно посмотреть в HTML, внизу, время закомментированно.

Как видно из верстки, на странице расположено несколько сущностей:

- тема часа - 1 запрос
- хроника дня - 1 запрос

Далее идет 8 блоков-рубрик, где выводится до 4-х статей и по 5 новостей. Происходит это так: идем циклом по массиву рубрик, что у нас есть, один запрос выбирает последние 4 статьи данной рубрики, другой запрос - 5 последних новостей данной рубрики.

Итого 8*2 = 16 + 2 запроса (см. выше) = 18 запросов.

Этот вывод, как мне кажется, и тормозит. Но я не знаю как иначе это оформить.

Есть какое-нибудь решение?
 

melo

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

Qwerty

Новичок
Поставьте в код сайта от начала и до конца несколько замеров времени, чтобы найти кусок, который действительно тормозит. Возможно, не в запросах дело.
 

fixxxer

К.О.
Партнер клуба
оптимизировать надо то, что тормозит

расставь метки с microtime()
или xdebug
включи и посмотри slow query log
выясни что тормозит
потом как выяснишь приходи уже с конкретным вопросом

-~{}~ 25.12.07 19:47:

а задавать на форуме вопрос в такой постановке это худшее что можно придумать

тут тебе и двойные кавычки на одинарные поменять посоветуют ;)
 

fixxxer

К.О.
Партнер клуба
как видишь помогло несильно :D

-~{}~ 25.12.07 20:22:

http://xdebug.org/docs/profiler вникай
 

fixxxer

К.О.
Партнер клуба
а давайте он *сначала* проведет профилирование, и расскажет где у него тормозит,
а потом мы все хором покажем какие мы умные?
 

Фанат

oncle terrible
Команда форума
triumvirat
Перечитай всю эту тему ещё рез. Медленно и внимательно.

После этого напиши ответ.
Если ответ будет неправильным, то тема отправится в помойку.
 

Духовность™

Продвинутый новичок
Я посмотрел explain. Где было указано, что не используются индексы, проставил их. Но я не понимаю, как наиболее грамотно индексы на таблицу ставить. Вот в чем проблема. Например, если в таблице в where все столбцы участвуют - нужно ставить одиночные индексы или многостолбцовые? Про это нигде не написано((

Через phpmyadmin запустил каждый используемый SQL. Каждый запрос не более 0.0008 сек генерируется, обычно - 0.0004

А в результате я получаю от 0.1 до 1 сек генерации!

Неужели проблема не в SQL, а в коде?
 

kode

never knows best
вот только учитывайте что с utf8 (в мускуле 1 символ utf8 = 3 байтам. а мультиключ может быть максимум 1000 байт длинной) беда....ну это так, замечание, если кто использует.
 

kruglov

Новичок
Неужели проблема не в SQL, а в коде?
Чего от нас-то хотите? Сочувствия?

Вставьте между логическими блоками echo microtime() да посмотрите, где торможения. Вам тут это с прошлого года советуют через пост, а вы что-то непонятное делаете.
 

Духовность™

Продвинутый новичок
kruglov
да проблема в коде. все тормоза идут от инклюдов классов и функций.

странно - делаю инклюд файла function.php, где есть ещё 7 инклюдов постоянно использующихся файлов с функциями.

До инклюдов время генерации - 0.000с копейками

после уже 0.1......

почему так хз, но буду код править. вообще, спасибо всем.
 

korchasa

LIMB infected
Автор оригинала: triumvirat
kruglov
да проблема в коде. все тормоза идут от инклюдов классов и функций.

странно - делаю инклюд файла function.php, где есть ещё 7 инклюдов постоянно использующихся файлов с функциями.

До инклюдов время генерации - 0.000с копейками

после уже 0.1......

почему так хз, но буду код править. вообще, спасибо всем.
Инклуд конечно тяжелая операция, но 0.1 секунды на 7 файлах многовато, для сервера.
В любом случае - http://xdebug.org/
 

fixxxer

К.О.
Партнер клуба
не верю про инклюды
тольео ксли без акселератора - а это всех причастных к вопросу надо убивать ;)
 

korchasa

LIMB infected
Автор оригинала: fixxxer
не верю про инклюды
тольео ксли без акселератора - а это всех причастных к вопросу надо убивать ;)
Что именно? Данный случай, или вообще?
 
Сверху