Василий Наумкин

Василий Наумкин

С нами с 08 декабря 2012; Место в рейтинге пользователей: #1
Василий Наумкин
05 августа 2014, 21:36
0
Сочувствую. Нужно сменить или хостинг, или логику работы.

Можно вызвать сниппет 1 раз, чтобы он выставил плейсхолдер со строкой параметров для всех ссылок.
Василий Наумкин
05 августа 2014, 21:25
0
Меняем на вызов сниппета:
for ($i = 1; $i <= 100; $i++) {
	$id = rand(1, 105);
	$modx->runSnippet('Test', array('id' => $id));
}

Сам сниппет:
return $modx->makeUrl($id, '', $modx->request->getParameters(), 'full');
100 вызовов — 0.09 сек., 300 вызовов — 0.24 сек.

Даже если сайт так необычно устроен, что на одной странице необходимо вызвать 100 сниппетов — один фиг это лишь плюс 1 десятая секунды.

На мой взгляд, это никак нельзя назвать «ощутимыми тормозами».
Василий Наумкин
05 августа 2014, 21:08
0
Лютый бред.
<?php
define('MODX_API_MODE', true);
require 'index.php';
$modx->getRequest();
$time = microtime(true);

for ($i = 1; $i <= 300; $i++) {
	$id = rand(1, 105);
	$url = $modx->makeUrl($id, '', $modx->request->getParameters(), 'full');
}

echo microtime(true) - $time;
300 случайных ссылок — 0.04 сек.

Давай ты дальше рассказы про обращения к диску, БД и страшных тормозах будешь иллюстрировать цифрами?
Василий Наумкин
05 августа 2014, 21:02
0
Ну а так-то страница загружается вообще без запросов, да? Карту ресурсов MODX загружает из кэша при любом раскладе.

А даже если и нет — что за бред, ты 0.0001 сек экономишь?
Василий Наумкин
05 августа 2014, 18:53
0
Судя по названиям, это кто-то делал резервные копии таблицы ресурсов.
Василий Наумкин
05 августа 2014, 18:44
0
Это нестандартные таблицы — зачем в них что-то менять, и какая связь у них с mSearch2?
Василий Наумкин
05 августа 2014, 16:04
0
<?php

define('MODX_API_MODE', true);
require 'index.php';
echo '<pre>';print_r($_SERVER);die;
Василий Наумкин
05 августа 2014, 16:02
0
А зачем это делать на pdoFetch?

Вот исходник метода makeUrl — там есть ровно один запрос для получения alias ресурса, и то, только в том случае, если запрошенного ресурса нет в текущей карте сайта.
Василий Наумкин
05 августа 2014, 15:56
0
А это не на уровне парсера modx
А на уровне чего это? Вставляешь код в сниппет и его запускает именно парсер.

Плюс долго выполняется
<?php
define('MODX_API_MODE', true);
require 'index.php';
$modx->getRequest();
$time = microtime(true);
$url = $modx->makeUrl(1, '', $modx->request->getParameters(), 'full');

echo microtime(true) - $time;
Результат 0.0001220703125 — очень долго, да.

из-за ряда дополнительных обращений к БД
Да ладно? Добавь к коду выше
echo $modx->executedQueries;
и увидишь, что хоть с генерацией url, что без неё выполняется ровно 3 запроса в БД.

В общем, предложенный метод через request самый верный.
Василий Наумкин
05 августа 2014, 13:39
0
Просто сохраните ресурс, чтобы прописался источник по умолчанию.

Вот исправление, будет в новой версии.
Василий Наумкин
04 августа 2014, 17:00
0
Первое правило модыксера: если что-то не работает — чисти кэш!
Василий Наумкин
03 августа 2014, 14:02
0
У меня ошибка в регулярном выражении, поэтому работают баннеры до 10.

Поправил, сейчас обновлю пакет.
Василий Наумкин
03 августа 2014, 13:55
0
Пришли данные для входа в админку на bezumkin@ya.ru — посмотрю.
Василий Наумкин
03 августа 2014, 13:53
0
У меня нормально работает. Может, нужно кэш сайта почистить?
Василий Наумкин
02 августа 2014, 20:53
0
Да не за что.

Интересно, что такого внутри pThumb, что он так может помешать.
Василий Наумкин
02 августа 2014, 15:31
+1
Так вот, проблема состоит в том, что после сохранения в сессию одного значение на входе у сессии уже совсем другое, как будто снипет сработал невидимо второй раз.
Я так думаю, что сниппет действительно срабатывает 2 раза — это самое логичное объяснение.
Василий Наумкин
02 августа 2014, 15:29
0
Нужно брать последнюю LTS версию, сейчас это Ubuntu 14.04 x64.

Ajenti можно ставить когда угодно — влияет только на удобство управления сервером.