К содержанию

Запросы к б.д

Здравствуйте. Интересует такая вещь. При разборе времени генерации страницы

Время генерации страницы: [^t^]</br>
Время парсинга: [^p^]</br>
Время выполнения запросов: [^qt^]</br>
Всего запросов: [^q^]</br>
Источник: [^s^]</br>
Время генерации страницы: 0.2510 s
Время парсинга: 0.2452 s
Время выполнения запросов: 0.0058 s
Всего запросов: <b>49</b>
Источник: database
Собственно мне не нравится количество запросов…

Код шаблона
<!DOCTYPE html>
<html>
<head>
<meta charset=[[++modx_charset]]>
<title>[[*pagetitle]]</title>
<meta name=description content="[[*description]]">
<base href="http://ok-dok.ru/">
<link rel=canonical href="[[~[[*id]]? &scheme=`full`]]">
<meta name=viewport content="width=device-width; initial-scale=1">
<link rel="alternate" type="application/rss+xml" title="Добавь этот сайт в RSS" href="/rss.rss">
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body role=document>
<main id=catBook role=main>
<section>
<h1 itemprop=name>[[*longtitle]]</h1>
[[pdoResources? 
&tpl=`getKnigi` 
&parents=`[[*id]]` 
&depth=`1` 
&sortby=`menuindex` 
&sortdir=`ASC` 
&limit=`0`
]]
[[*content]]
</section>
<nav>
[[pdoMenu? 
&startId=`0` 
&level=`2` 
&firstClass=``
&lastClass=``
&rowClass=``
&outerClass=``
&hideSubMenus=`1`
&tpl=`rowNav`
&cache=`1`
&fastMode=`1`
&tplHere=`HereTpl`
]]
<div id=last></div>

</nav>
</main>
<link href="/assets/themes/css/style.css" rel=stylesheet>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script src="assets/themes/js/js.js"></script>
Время генерации страницы: [^t^]</br>
Время парсинга: [^p^]</br>
Время выполнения запросов: [^qt^]</br>
Всего запросов: [^q^]</br>
Источник: [^s^]</br>
</body></html>
Чанки для выборки пунктов в меню и статей
<b>getArticle</b>
<article role="article" itemscope itemtype="http://schema.org/ScholarlyArticle">
<a href="[[~[[+id]]]]" title="'[[+longtitle]]' откроется в новой вкладке" role="link" itemprop="headline">[[+menutitle]]</a>
<p itemprop=articleBody role=presentation>[[+introtext]]</p>
</article>

<b>rowNav</b>
<li[[+classes]]>
    <a href="[[+link]]">[[+menutitle]]</a>
    [[+wrapper]]
</li>
Не понимаю откуда берется 49 запросов. Можно ли ускорить страницу? Кеширование включено в админке.

Посмотреть можно пройдя по ссылке

Спасибо всем за помощь
Рустам Алимов
Рустам Алимов
16 февраля 2014, 13:21
modx.pro
1 578
Реклама

Комментарии: 13

Василий Наумкин
Василий Наумкин Администратор
16 февраля 2014, 17:41
Когда ты авторизован в админке, выполняются дополнительные запросы для определения твоих привелегий.

Если зайти в анонимном режиме, то первая генерация — 16 запросов, вторая — 0.
    Рустам Алимов
    Рустам Алимов Старожил
    16 февраля 2014, 18:16
    Василий спасибо. А можно вообще отследить на что тратятся запросы?

    Ведь по сути нужно вернуть контент выборка ресурсов и меню. Почему 16 то? А не скажем 3?
      Рустам Алимов
      Рустам Алимов Старожил
      16 февраля 2014, 18:21
      И еще я в мануале о pdo Tools пару ошибок по тексту нашел. Сюда как то сбрасывать некрасиво. Было бы здорово на почту или куда удобно. Если заинтересованы конечно)
    Aртур Чикин
    Aртур Чикин Старожил
    16 февраля 2014, 17:52
    Я вот сейчас сижу делаю сайт, у меня при пустом кэше:

    0.0303 s	Время на запросы к БД
    124		Количество запросов к БД
    жесть…
      Рустам Алимов
      Рустам Алимов Старожил
      16 февраля 2014, 18:17
      Попробуй разлогинится как подсказывает Василий. Кеш только почистить не забудь. Я вот разлогинился действительно 16. :)
        Aртур Чикин
        Aртур Чикин Старожил
        16 февраля 2014, 19:38
        У меня
        С удаленной папкой cache и авторизированным в админке:
        0.0331 s	Время на запросы к БД
        130		Количество запросов к БД
        0.4794 s	Время на работу PHP
        0.5125 s	Общее время на генерацию
        database	Источник содержимого (бд или кэш)
        С кэшем и авторизированным в админке:
        0.0054 s	Время на запросы к БД
        19		Количество запросов к БД
        0.1295 s	Время на работу PHP
        0.1349 s	Общее время на генерацию
        cache		Источник содержимого (бд или кэш)
        Без кэша и не авторизированный:
        0.0326 s	Время на запросы к БД
        124		Количество запросов к БД
        0.3754 s	Время на работу PHP
        0.4080 s	Общее время на генерацию
        database	Источник содержимого (бд или кэш)
        С кэшем и не авторизированный
        0.0021 s	Время на запросы к БД
        12		Количество запросов к БД
        0.1269 s	Время на работу PHP
        0.1290 s	Общее время на генерацию
        cache		Источник содержимого (бд или кэш)
        Вот такие дела, не знаю то ли радоваться то ли паниковать начинать…
      Рустам Алимов
      Рустам Алимов Старожил
      16 февраля 2014, 18:13
      Василий спасибо. А можно вообще отследить на что тратятся запросы?

      P.s: pdo Tools ВЕЩЬ!
        Aртур Чикин
        Aртур Чикин Старожил
        16 февраля 2014, 19:24
        Можно, есть плагин debugParser но он платный 250р вроде.
        http://store.simpledream.ru/packages/utilities/debugparser.html
        http://docs.modx.pro/components/debugparser
          Василий Наумкин
          Василий Наумкин Администратор
          16 февраля 2014, 20:14
          Можно купить и установить debugParser — очень полезный инструмент. Но он покажет только запросы и время на вызов сниппетов и плейсхолдеров, без всяких внутренних дел движка.

          Чтобы видеть все запросы, нужно включать логирование запросов MySql.

          Общее количество получается из логики работы:
          1. Нужно получить контекст
          2. Нужно получить ресурс
          3. Нужно получить шаблон ресурса
          4. Достать из БД сниппеты и чанки, указанные в шаблоне
          5. И только потом уже отработает меню и что-там у тебя еще
          Так что, 16 запросов — это мало.

          Если хочешь натурально ужаснуться от количества запросов — используй Wayfinder и getResources.
            Рустам Алимов
            Рустам Алимов Старожил
            16 февраля 2014, 21:03
            Понял, спасибо большое :)
          Aртур Чикин
          Aртур Чикин Старожил
          16 февраля 2014, 20:22
          <meta name=viewport content="width=device-width; initial-scale=1">
          Тут должна быть запятая.
          <meta name=viewport content="width=device-width, initial-scale=1.0">
            Рустам Алимов
            Рустам Алимов Старожил
            16 февраля 2014, 21:03
            Спасибо)) Вот такие уж мелочи сам не замечаю, а у тебя прямо глаз орла :) От души)
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            13