Долгий парсинг чанка на локальном хосте

Решил освоить REVO. Озадачился солидным временем парсинга простейших чанков.
debugParser показывает время генерации чанка 0.35с и 0.2с из кеша
<div class="top-menu">
    [[pdoMenu?
        &parents=`0`
        &level=`1`
        &tplOuter=`@INLINE <ul>[[+wrapper]]</ul>`
        &tpl=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a></li>`
    ]]
</div>
Остальной вывод:
Total parse time 0.9950569 s
Total queries 50
Total queries time 0.0130024 s
Memory peak usage 12.75 Mb

MODX version MODX Revolution 2.2.14-pl (traditional)
PHP version 5.3.28
Database version mysql 5.5.38-log
From cache false
Как уменьшить время парсинга?
Сергей
09 июля 2014, 15:28
modx.pro
1 635
0

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

Алексей Ерохин
09 июля 2014, 20:21
0
Тестируйте на хостингах. Может у Вас компьютер не тянет.
    Сергей
    09 июля 2014, 20:22
    0
    i5 3210. Вряд ли, но тестировать буду однозначно.
    Владимир
    10 июля 2014, 00:19
    0
    PHP Version 5.4.20 — и сразу будет быстрее
      Сергей
      10 июля 2014, 11:45
      0
      Ни 5.4, ни 5.5 не дали абсолютно никакого прироста.
      Василий Наумкин
      10 июля 2014, 07:39
      0
      Total queries 50 — многовато для одного вывода меню.

      Видимо, в шаблоне есть еще что-то.
        Сергей
        10 июля 2014, 11:42
        0
        Конечно, есть. Там еще 2 аналогичных вызова меню, и вывод нескольких ресурсов. Все тривиально. Но время исполнения запросов очень адекватное. Факт такого долгого парсинга конечно огорчает пока после EVO, но буду дальше устранять причину.
        Вот, например:
        [[pdoMenu? &parents=`0` &level=`1` &tplOuter=`@INLINE <ul>[[+wrapper]]</ul>` &tpl=`@INLINE <li[[+classes]]><a href="[[+link]]" [[+attributes]]>[[+menutitle]]</a></li>` ]]
        Запросов 14 время 0.0019999 парсинг 0.3010170
          Василий Наумкин
          10 июля 2014, 12:02
          0
          А можешь показать более быстрый парсинг чанков на Evolution? Потому что pdoTools делает это очень быстро, я не знаю, как еще быстрее можно сделать без потери функционала.

          Вот карта сайта документации, там дофига всего (pdoMenu, pdoCrumbs, MinifyX, pdoNeighbors) и страница открывается за 0.1 — 0.2 сек. Куда быстрее?

          Оформи тестовый сайт на h.simpledream.ru и попробуй поэксперементировать там.
        Наумов Алексей
        10 июля 2014, 10:32
        0
        DebugParcer попробуйте запустить, правда он немного платный)
          Сергей
          10 июля 2014, 11:42
          0
          Он и так запущен ;)
          Илья Уткин
          10 июля 2014, 12:14
          0
          Если это не является коммерческой тайной, выложите куда-нибудь файл
          core/cache/resource/web/resources/1.cache.php и покажите, чтобы мы видели что и как вызывается. Например, сюда: pastebin.com/
            Василий Наумкин
            10 июля 2014, 12:21
            0
            Кстати, предлагаю вот такой тест твоего локального хостинга:
            <?php
            define('MODX_API_MODE', true);
            require 'index.php';
            $modx->getService('error','error.modError');
            $modx->setLogLevel(modX::LOG_LEVEL_INFO);
            $modx->setLogTarget('FILE');
            
            $pdo = $modx->getService('pdoTools');
            $tpl = '@INLINE <p>[[+val1]] - [[+val2]] - [[+val3]]</p>';
            
            $output = '';
            for ($i = 0; $i <= 10000; $i ++) {
            	$array = array('val1' => rand(), 'val2' => rand(), 'val3' => rand());
            	$output .= $pdo->getChunk($tpl, $array);
            }
            
            echo '<pre>'; print_r($pdo->getTime()); echo '</pre>';
            echo $output;

            Скопипастить в файл /test.php в корне сайта, и вызвать. У нас на хостинге 10000 чанков заполняются случайными значениями за 0.2 сек.

            Еще раз: парсинг 10000 чанков занимает 2 десятых. 100 чанков — 2 тысячных (зависимость линейная). Если это медленный парсинг, то я и не знаю…

            Все могут сравнить свои хостинги этим нехитрым тестом, требуется установленный pdoTools.
              Mihan
              10 июля 2014, 12:42
              0
              0.0021732: Created inline chunk
              0.3751612: Total time
              6 815 744: Memory usage
              Это нормальный парсинг? 2 раза медленнее твоего хостинга почему-то.
                Василий Наумкин
                10 июля 2014, 12:46
                0
                Это уж ты сам решай, нормально тебе или нет =)

                У меня вот такие цифры
                0.0007112: Created inline chunk
                0.2255242: Total time
                3 145 728: Memory usage

                Ссылка на тест — bezumkin.ru/test.php, даже INLINE чанк создаётся быстрее в разы, не говоря про сам парсинг. Тариф «Визитка», за 100 рублей в месяц.
                Сергей
                10 июля 2014, 13:54
                0
                Все ясно с моим локальным хостингом =)
                0.0039999: Created inline chunk
                1.2950740: Total time
                4 980 736: Memory usage
                  Василий Наумкин
                  10 июля 2014, 13:55
                  0
                  Видимо, это очередной WAMP или Denwer?

                  Нужно использовать или виртуальную машину, или нормальный хостинг — всё остальное ерунда.
                    Сергей
                    10 июля 2014, 13:58
                    0
                    Ага, Open Server. Что посоветуешь на виртуальную ставить?
                      Василий Наумкин
                      10 июля 2014, 14:09
                      0
                      Я везде использую последнюю Ubuntu Server LTS, сейчас актуальна 14.04.
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                17