Долгий парсинг чанка на локальном хосте
Решил освоить REVO. Озадачился солидным временем парсинга простейших чанков.
debugParser показывает время генерации чанка 0.35с и 0.2с из кеша
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
Комментарии: 17
Тестируйте на хостингах. Может у Вас компьютер не тянет.
i5 3210. Вряд ли, но тестировать буду однозначно.
PHP Version 5.4.20 — и сразу будет быстрее
Ни 5.4, ни 5.5 не дали абсолютно никакого прироста.
Total queries 50 — многовато для одного вывода меню.
Видимо, в шаблоне есть еще что-то.
Видимо, в шаблоне есть еще что-то.
Конечно, есть. Там еще 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
А можешь показать более быстрый парсинг чанков на Evolution? Потому что pdoTools делает это очень быстро, я не знаю, как еще быстрее можно сделать без потери функционала.
Вот карта сайта документации, там дофига всего (pdoMenu, pdoCrumbs, MinifyX, pdoNeighbors) и страница открывается за 0.1 — 0.2 сек. Куда быстрее?
Оформи тестовый сайт на h.simpledream.ru и попробуй поэксперементировать там.
Вот карта сайта документации, там дофига всего (pdoMenu, pdoCrumbs, MinifyX, pdoNeighbors) и страница открывается за 0.1 — 0.2 сек. Куда быстрее?
Оформи тестовый сайт на h.simpledream.ru и попробуй поэксперементировать там.
DebugParcer попробуйте запустить, правда он немного платный)
Он и так запущен ;)
Если это не является коммерческой тайной, выложите куда-нибудь файл
core/cache/resource/web/resources/1.cache.php и покажите, чтобы мы видели что и как вызывается. Например, сюда: pastebin.com/
core/cache/resource/web/resources/1.cache.php и покажите, чтобы мы видели что и как вызывается. Например, сюда: pastebin.com/
Кстати, предлагаю вот такой тест твоего локального хостинга:
Скопипастить в файл /test.php в корне сайта, и вызвать. У нас на хостинге 10000 чанков заполняются случайными значениями за 0.2 сек.
Еще раз: парсинг 10000 чанков занимает 2 десятых. 100 чанков — 2 тысячных (зависимость линейная). Если это медленный парсинг, то я и не знаю…
Все могут сравнить свои хостинги этим нехитрым тестом, требуется установленный pdoTools.
<?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.
0.0021732: Created inline chunk
0.3751612: Total time
6 815 744: Memory usage
Это нормальный парсинг? 2 раза медленнее твоего хостинга почему-то.
Это уж ты сам решай, нормально тебе или нет =)
У меня вот такие цифры
Ссылка на тест — bezumkin.ru/test.php, даже INLINE чанк создаётся быстрее в разы, не говоря про сам парсинг. Тариф «Визитка», за 100 рублей в месяц.
У меня вот такие цифры
0.0007112: Created inline chunk 0.2255242: Total time 3 145 728: Memory usage
Ссылка на тест — bezumkin.ru/test.php, даже INLINE чанк создаётся быстрее в разы, не говоря про сам парсинг. Тариф «Визитка», за 100 рублей в месяц.
Все ясно с моим локальным хостингом =)
0.0039999: Created inline chunk
1.2950740: Total time
4 980 736: Memory usage
0.0039999: Created inline chunk
1.2950740: Total time
4 980 736: Memory usage
Видимо, это очередной WAMP или Denwer?
Нужно использовать или виртуальную машину, или нормальный хостинг — всё остальное ерунда.
Нужно использовать или виртуальную машину, или нормальный хостинг — всё остальное ерунда.
Ага, Open Server. Что посоветуешь на виртуальную ставить?
Я везде использую последнюю Ubuntu Server LTS, сейчас актуальна 14.04.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.