Всего 123 811 комментариев

Denys Butenko
17 октября 2012, 20:21
0
А на какую почту?)
Иван Брежнев
17 октября 2012, 18:40
0
Отправил на почту свой вариант, и еще я не использую сниппет phpthumbof, а написал свой маленький который работает с Imagick, он при аплоаде изменяет сразу фотку на нужные размеры, а если вы заливали через фтп, то в вызове сниппета просто указываете размеры изображений, &size=`150x150`, и все, он создает папку thumbs там где лежит фотка и туда записывает уменьшенное изображение
Denys Butenko
17 октября 2012, 16:47
0
Да, msGetGallery однозначно грузит, там где больше 7 фотографий загрузка страницы > 11 сек. Поделитесь своим вариантом msGetGallery
Иван Брежнев
17 октября 2012, 16:28
0
уже лучше, я переписал msGetGallery чтобы он не объекты извлекал а массивы и базы. Так быстрее
Denys Butenko
17 октября 2012, 16:24
0
на странице происходит вызов:
[[!msGetGoodsPlaceholders]], [[msGetGallery]], [[!LikeDislike]], [[getRelated]], [[TvList]], [[getViewed]] и еще несколько чанков. Проблему нашел: msGetGallery увеличивает загрузку на 4сек, getViewed еще где-то на 1.5с и getRelated 1.5с. Выключив всё это, результат 1сек без кэша.
Valentin Rasulov
16 октября 2012, 23:17
0
1) вариант &startId=`[[*id:is=`5`:or:is=`6`:then=`[[*id`]]:else=`*parent`]]`
5 и 6 это и есть город1 и город2

2) вариант. В основном если у вас город содержит поткатегории, логично тогда что город, это контейнер а подготегории, это ресурсы не являющии контейнером. Тогда
&startId=`[[*isfolder:is=`1`:then=`[[*id`]]:else=`*parent`]]`
Иван Брежнев
16 октября 2012, 22:26
0
Я думаю нужно написать плугин на событие OnSiteRefresh который будет ходить по всем опубликованным ресурсам. Но это накладно как мне кажется. И если у вас рендер одной страницы достигает 8 сек. ты можно легко упереться в time limit
Иван Брежнев
16 октября 2012, 22:23
0
Все равно это очень много. У меня когда рендер достигает 2 сек. я ужу чуть седым не становлюсь =) т.е. начинаю копаться в коде и оптимизировать все что можно.
Denys Butenko
16 октября 2012, 22:20
0
Подскажите, как создать кэш всех страниц не заходя на них после очистки?)
Denys Butenko
16 октября 2012, 22:18
0
Это без кеша. Плюс это основная страница, а на ней натыкано очень много. Вот думаю, как определить какой сниппет сколько жрет памяти и быстродействие, но незнаю как)
Василий Наумкин
16 октября 2012, 17:23
0
При файловом классе и включенном apc сессия кэшируется и некорректно работает. Это не глюк.

Либо класс менять, либо apc отключать — одно из двух.
Григорий Розенбаум
16 октября 2012, 17:05
0
Только как три дня разобрался с проблемой из за APC… Делаю сайт на рево, инет-магазин (используется шопкипер, мини-шоп пока не тестировал), домашний образ убунты — все окей, а на сервере не работает (петерхост) корзина- или не обновляется или во время добавления ошибка. После нескольких дней мучений наконец-то вставил в htaccess apc.cache_by_default off и все заработало!
А может быть просто надо было изменить класс в натройках Modx? Или это все таки косяк разработчиков? Если да — надо на форме попросить, чтобы они доработали скрипт для работы с php-apc.
Иван Брежнев
16 октября 2012, 15:28
0
Нужно пробовать.
Александр Наумов
16 октября 2012, 15:19
0
Спасибо, очень полезная статья!
Евгений Дурягин
16 октября 2012, 15:01
0
Лучше использовать xPDO::OPT_CACHE_PREFIX
Евгений Дурягин
16 октября 2012, 14:58
0
Только при беглом просмотре исходников PDO::OPT_CACHE_PATH должен равнятся абсолютному пути.
Иван Брежнев
16 октября 2012, 14:43
0
Либо я еще вот такой вариант думал

$modx->cacheManager->set('key123', $str, 3600, array(
xPDO::OPT_CACHE_KEY => 'my_cache_key',
xPDO::OPT_CACHE_PATH => 'my/cache/path'
)
);

И в настройках cache_handler указать my_cache_key_cache_handler = xPDOFileCache
Василий Наумкин
16 октября 2012, 13:02
0
https://github.com/modxcms/revolution/tree/develop/core/xpdo/om
Андрей, Омск
16 октября 2012, 12:58
0
Василий, а как устроены драйверы для разных СУБД в xPDO? Насколько сложная задача — написать самому требуемый драйвер? И где можно взять пример?
Василий Наумкин
16 октября 2012, 12:48
0
Я не работал с Firebird, не знаю, насколько оно совместимо с xPDO.
Драйверов для нее тоже не нашел — modx.com/search-temp/?query=xpdo%20firebird.

В общем, либо писать самостоятельно, по образцу Mysql, либо использовать поддерживаемую БД.