[miniShop2] Первый тест на скорость
Провел первый тест скорости выборки товаров, на скорую руку. Просто раскопировал 10000 товаров, со всеми свойствами в одной категории и почистил кэш.
Первая загрузка после очистки кэша, limit 10

Вторая загрузка, limit 10

Первая загрузка после очистки, limit 100

Вторая загрузка, limit 100

Первая загрузка после очистки, limit 1000

Вторая загрузка, limit 1000

Важное уточнение, friendly urls отключены, потому что система ругается на одинаковые алиасы. Позже протестирую и с ними, только нужно переписать копирование, для генерации уникальных алиасов.
В любом случае, первый тест очень порадовал. В админке тормозов вообще нет, ни при создании товаров, ни при переходе по страницам, ни при очистке кэша.
Если интересно — могу записать видео.
Первая загрузка после очистки кэша, limit 10
Вторая загрузка, limit 10
Первая загрузка после очистки, limit 100
Вторая загрузка, limit 100
Первая загрузка после очистки, limit 1000
Вторая загрузка, limit 1000
Важное уточнение, friendly urls отключены, потому что система ругается на одинаковые алиасы. Позже протестирую и с ними, только нужно переписать копирование, для генерации уникальных алиасов.
В любом случае, первый тест очень порадовал. В админке тормозов вообще нет, ни при создании товаров, ни при переходе по страницам, ни при очистке кэша.
Если интересно — могу записать видео.
Комментарии: 46
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
Так что, лучше сосредоточусь на подготовке беты.
file.modx.pro/files/486/b/d/8/bd81d2e97e38678d541f34e0d082a499.png
Были бы ещё данные о работе через getResources и miniShop при тех же входных данных.
Но если даже без всего этого, цифры генерации страницы примерно такие.
10 товаров: 1й запуск — 0,97 сек, 2й запуск — 0,75 сек
100 товаров: 1й запуск — 4,9 сек, 2й запуск — 4,2 сек.
1000 товаров: не осилил
При 10 товарах, разница вроде не особо заметна, но затем pdoTools просто уходит в точку.
Собрать и установить пакет из репозитория на github можно самостоятельно уже давно.
Держи текущую сборку, вроде работает.
Еще не готово оформление заказа и раздел для их управления в админке.
Пробовал джойнить около 10 таблиц в один запрос — никакого замедления.
Вот, что я буду использовать вместо ТВ — modx.pro/development/742/
Фролов АлексейВасилий — 0.4 сек для 10 товаров это не быстро (совсем не быстро). Проблема как мне кажется в обработке данных полученных из базы
Ну я не знаю… Там 0,22 — это только выборка из базы. А приготовление и вывод на экран, выходит 0,18. На мой взгляд, весьма неплохо.
Опять же, погляди на скорость при повторной загрузке страницы (а это основной режим работы сайта) — 0,15 сек.
Фролов АлексейОтдельная база была бы отличным решением, а ресурс как контейнер для категории. На мой взгляд только свои таблицы могут дать высокую скорость. Т.к. в ресурсах происходит много действий не нужных товарам
А потом напиши свой обработчик friendly urls.
А потом еще много чего вылезет.
Проще не использовать MODX вообще, и писать сразу свой магазин. Только зачем, когда вокруг есть толпа уже готовых?
miniShop2 — бесплатное расширение для движка MODX, и максимально его задействует.
Это функция getChildIds, которая рекурсивно ищет потомков ресурса, из которого выводится каталог.
Немного уточнил лог и выходит вот это (смотрим на строчку «Query parameters are prepared.»)
Глубина выборки 10
Глубина выборки 1
Глубина 0, функция отключена
Очевидно, тормоза оттого, что в категории 10000 потомков. Но всегда можно указать параметр &depth=`1` и перечислить нужных родителей через запятую — так будет быстрее.
Очистка кэша как раз и влияет на построение дерева ресурсов, с которым работает getChildIds(). Поэтому с depth=1 сниппет отрабатывает за 0,12 сразу после очистки, а потом уже — 0,09.
Вот такие пироги. Куда еще убыстрить — не знаю.
Фролов АлексейФролов АлексейИ что?
Фролов АлексейМой сайт медленный, ок. Покажи свой, быстрый.
Фролов АлексейВам любой оптимизатор скажет что это большая цифра, выше 200 мс это уже не радостно
Тебе же есть, что показать, или мы будем обсуждать сферических «любых оптимизаторов»?
Я не заявляю, что мой сайт или MS2 самый быстрый на свете. Но одни из самых быстрых на Revolution — факт. Если ты готов с этим поспорить — давай свои реальные аргументы.
Фролов АлексейПредлагаю в третий и последний раз.
Фролов АлексейКакая страница это, кстати?
Фролов АлексейХорошо, что такое случается крайне редко — я вот, ни разу не видел пока.
Фролов АлексейНеудивительно, что иногда бывают заскоки, но они никак не влияют на общую картинку:
Сайт — быстрый.
Фролов АлексейЦиферки я внизу и сам вижу хорошо, в среднем там 0,35 — 0,7.
Заскоки могут быть по разным причинам, типа я зашел в админку и почистил кэш, или внес изменения в css и MinifyX перегенерирвал все стили сайта.
Фролов АлексейП.С.
Иногда, для ускорения сайта, помогает «пересаживание с калькулятора на компьютер», подключенный к Интернет, а не «черепашьим лапкам».
Причем, на предложение продемонстрировать «как надо» гражданин слился. Видимо, просто скучающий тролль забрёл.
Фролов АлексейКто не в курсе есть чудесные утилиты
ab, siege (для тех кто не смог понять первый)
И под Win JsMeter
Фролов АлексейТакие заявления делать не зная меня совсем не красиво
Всего хорошего.
Очень интересно узнать на сколько minishop2 быстрее, хотя бы примерно