[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
Конечно интересно! Если не сложно и хватает времени — выкладывай.
Побегал по админке — а нечего записывать. Вот реально, нет изменений вообще, что 5 товаров, что 10000.
Так что, лучше сосредоточусь на подготовке беты.
Так что, лучше сосредоточусь на подготовке беты.
Примерно так:
file.modx.pro/files/486/b/d/8/bd81d2e97e38678d541f34e0d082a499.png
Были бы ещё данные о работе через getResources и miniShop при тех же входных данных.
file.modx.pro/files/486/b/d/8/bd81d2e97e38678d541f34e0d082a499.png
Были бы ещё данные о работе через getResources и miniShop при тех же входных данных.
Не имеет смысла, ибо getRetsources не понимает половину тегов и наворотов, например, не разбираются опции товаров в JSON.
Но если даже без всего этого, цифры генерации страницы примерно такие.
10 товаров: 1й запуск — 0,97 сек, 2й запуск — 0,75 сек
100 товаров: 1й запуск — 4,9 сек, 2й запуск — 4,2 сек.
1000 товаров: не осилил
При 10 товарах, разница вроде не особо заметна, но затем pdoTools просто уходит в точку.
Но если даже без всего этого, цифры генерации страницы примерно такие.
10 товаров: 1й запуск — 0,97 сек, 2й запуск — 0,75 сек
100 товаров: 1й запуск — 4,9 сек, 2й запуск — 4,2 сек.
1000 товаров: не осилил
При 10 товарах, разница вроде не особо заметна, но затем pdoTools просто уходит в точку.
я чето понять не могу) минишоп 2 уже есть чтоле? где глянуть можно демку?
В разработке. Первая бета в конце этой недели.
Собрать и установить пакет из репозитория на github можно самостоятельно уже давно.
Собрать и установить пакет из репозитория на github можно самостоятельно уже давно.
скинь пожалуеста линк, глянуть хоть)
Репозиторий вот тут.
Держи текущую сборку, вроде работает.
Еще не готово оформление заказа и раздел для их управления в админке.
Держи текущую сборку, вроде работает.
Еще не готово оформление заказа и раздел для их управления в админке.
отлично, спасибо!
Интересно, на сколько увеличится время загрузки, если в выводе будет 3 TV для каждого товара? Или различные характеристики товаров выводятся не через TV, а есть какой-либо свой механизм?
Можно дописать через pdoTools вывод этих самых значений TV отдельно, или функцию в класс дописать и вызывать при определённых событиях.
Лично я ТВ не планирую использовать вообще. Но, при грамотном запросе, от лишних ТВ тормозов не будет.
Пробовал джойнить около 10 таблиц в один запрос — никакого замедления.
Вот, что я буду использовать вместо ТВ — modx.pro/development/742/
Пробовал джойнить около 10 таблиц в один запрос — никакого замедления.
Вот, что я буду использовать вместо ТВ — modx.pro/development/742/
Доброго вечера всем присутствующим)
Василий — 0.4 сек для 10 товаров это не быстро (совсем не быстро). Проблема как мне кажется в обработке данных полученных из базы
Василий — 0.4 сек для 10 товаров это не быстро (совсем не быстро). Проблема как мне кажется в обработке данных полученных из базы
0.4 — после очистки кэша на 10000 ресурсах — не быстро?
Ну я не знаю… Там 0,22 — это только выборка из базы. А приготовление и вывод на экран, выходит 0,18. На мой взгляд, весьма неплохо.
Опять же, погляди на скорость при повторной загрузке страницы (а это основной режим работы сайта) — 0,15 сек.
Ну я не знаю… Там 0,22 — это только выборка из базы. А приготовление и вывод на экран, выходит 0,18. На мой взгляд, весьма неплохо.
Опять же, погляди на скорость при повторной загрузке страницы (а это основной режим работы сайта) — 0,15 сек.
Как выйдет первая бета, я потестирую обязательно. Еще такой вопрос, почему решили использовать CRC?
Отдельная база была бы отличным решением, а ресурс как контейнер для категории. На мой взгляд только свои таблицы могут дать высокую скорость. Т.к. в ресурсах происходит много действий не нужных товарам
Отдельная база была бы отличным решением, а ресурс как контейнер для категории. На мой взгляд только свои таблицы могут дать высокую скорость. Т.к. в ресурсах происходит много действий не нужных товарам
А ты попробуй на досуге научить работать Wayfinder и другие сниппеты с отдельной таблицей.
А потом напиши свой обработчик friendly urls.
А потом еще много чего вылезет.
Проще не использовать MODX вообще, и писать сразу свой магазин. Только зачем, когда вокруг есть толпа уже готовых?
miniShop2 — бесплатное расширение для движка MODX, и максимально его задействует.
А потом напиши свой обработчик friendly urls.
А потом еще много чего вылезет.
Проще не использовать MODX вообще, и писать сразу свой магазин. Только зачем, когда вокруг есть толпа уже готовых?
miniShop2 — бесплатное расширение для движка MODX, и максимально его задействует.
Полез искать самое тормозное место в работе сниппета, и нашел!
Это функция getChildIds, которая рекурсивно ищет потомков ресурса, из которого выводится каталог.
Немного уточнил лог и выходит вот это (смотрим на строчку «Query parameters are prepared.»)
Глубина выборки 10
Глубина выборки 1
Глубина 0, функция отключена
Очевидно, тормоза оттого, что в категории 10000 потомков. Но всегда можно указать параметр &depth=`1` и перечислить нужных родителей через запятую — так будет быстрее.
Очистка кэша как раз и влияет на построение дерева ресурсов, с которым работает getChildIds(). Поэтому с depth=1 сниппет отрабатывает за 0,12 сразу после очистки, а потом уже — 0,09.
Вот такие пироги. Куда еще убыстрить — не знаю.
Это функция getChildIds, которая рекурсивно ищет потомков ресурса, из которого выводится каталог.
Немного уточнил лог и выходит вот это (смотрим на строчку «Query parameters are prepared.»)
Глубина выборки 10
Глубина выборки 1
Глубина 0, функция отключена
Очевидно, тормоза оттого, что в категории 10000 потомков. Но всегда можно указать параметр &depth=`1` и перечислить нужных родителей через запятую — так будет быстрее.
Очистка кэша как раз и влияет на построение дерева ресурсов, с которым работает getChildIds(). Поэтому с depth=1 сниппет отрабатывает за 0,12 сразу после очистки, а потом уже — 0,09.
Вот такие пироги. Куда еще убыстрить — не знаю.
Это уже значительно лучше.
Это после добавления комментария
Не может быть! Кэш ресурса очищается после добавления комментария?!
И что?
И что?
Нет, ничего. Вы пишете компоненты, а сделать быстрым свой сайт не можете или не хотите, просто странно.
Лёша, ну в этом месте я просто обязан попросить тебя продемонстрировать твои достижения в написании быстрых сайтов.
Мой сайт медленный, ок. Покажи свой, быстрый.
Мой сайт медленный, ок. Покажи свой, быстрый.
В среднем 500 мс ожидание ответа от сервера.
Вам любой оптимизатор скажет что это большая цифра, выше 200 мс это уже не радостно
Вам любой оптимизатор скажет что это большая цифра, выше 200 мс это уже не радостно
Окей, показывай свой сайт с такими скоростями, чтобы работал на MODX Revolution и выводил внизу плейсхолдер [^t^]. Желательно, с таким же функционалом, но можно и без.
Тебе же есть, что показать, или мы будем обсуждать сферических «любых оптимизаторов»?
Я не заявляю, что мой сайт или MS2 самый быстрый на свете. Но одни из самых быстрых на Revolution — факт. Если ты готов с этим поспорить — давай свои реальные аргументы.
Тебе же есть, что показать, или мы будем обсуждать сферических «любых оптимизаторов»?
Я не заявляю, что мой сайт или MS2 самый быстрый на свете. Но одни из самых быстрых на Revolution — факт. Если ты готов с этим поспорить — давай свои реальные аргументы.
Не надо льстить себе дорогой Василий, ваш сайт далек от «одни из самых быстрых на Revolution».
Лёша, ты либо докажи свои выступления, или я тебя просто забаню, как обычного пиздабола.
Предлагаю в третий и последний раз.
Предлагаю в третий и последний раз.
Еще одна
А если еще разок нажать F5, что будет?
Какая страница это, кстати?
Какая страница это, кстати?
Текущая.
Что могу сказать? Какой-то глюк.
Хорошо, что такое случается крайне редко — я вот, ни разу не видел пока.
Хорошо, что такое случается крайне редко — я вот, ни разу не видел пока.
Я это не сам сочинил)) Сделал скриншот сразу после добавления своего комментария и обновления текущей страницы
На этом сайте, как ни странно, постоянно добавляются комментарии, вопросы, он всё время в движении.
Неудивительно, что иногда бывают заскоки, но они никак не влияют на общую картинку:
Сайт — быстрый.
Неудивительно, что иногда бывают заскоки, но они никак не влияют на общую картинку:
Сайт — быстрый.
Странно это… У меня редко превышает 1 секунду.
Ты сказать то что хочешь? Говори, не стесняйся.
Циферки я внизу и сам вижу хорошо, в среднем там 0,35 — 0,7.
Заскоки могут быть по разным причинам, типа я зашел в админку и почистил кэш, или внес изменения в css и MinifyX перегенерирвал все стили сайта.
Циферки я внизу и сам вижу хорошо, в среднем там 0,35 — 0,7.
Заскоки могут быть по разным причинам, типа я зашел в админку и почистил кэш, или внес изменения в css и MinifyX перегенерирвал все стили сайта.
Обожечтожеделать?
Вам виднее!
Не занимайтесь хуйней — как я заметил на практике render time не всегда показывает объективные данные, +очистки кеша и перегенерация страницы могут действительно привести к результату в 1.5-2 секунды.Это не критично и не влияет на обывателя, т.к при следующем рендере сработает Cache и скорость будет оптимальной.
Хорош ересь молоть, господа. И VC и FC, порой, «часами» отзываются. А «средняя температура по больнице», действительно 0.3-0.8 — тут нечего сусолить.
П.С.
Иногда, для ускорения сайта, помогает «пересаживание с калькулятора на компьютер», подключенный к Интернет, а не «черепашьим лапкам».
П.С.
Иногда, для ускорения сайта, помогает «пересаживание с калькулятора на компьютер», подключенный к Интернет, а не «черепашьим лапкам».
Как то плавно обсуждение скорости выборки из 10000 товаров перешло на скорость моего сайта.
Причем, на предложение продемонстрировать «как надо» гражданин слился. Видимо, просто скучающий тролль забрёл.
Причем, на предложение продемонстрировать «как надо» гражданин слился. Видимо, просто скучающий тролль забрёл.
Да здесь я, не переживайте.
Кто не в курсе есть чудесные утилиты
ab, siege (для тех кто не смог понять первый)
И под Win JsMeter
Кто не в курсе есть чудесные утилиты
ab, siege (для тех кто не смог понять первый)
И под Win JsMeter
Либо типичный его образчик либо готовит обстоятельный ответ. Меня забавляет, когда кто-то видит результат работы скрипта (в данном случае примитивный [[^t^]]), обсуждает его, а сам даже не понимает (о знании даже не говорю) принцип его работы.
Вы серьезно считаете что я не понимаю о чем говорю?
Такие заявления делать не зная меня совсем не красиво
Такие заявления делать не зная меня совсем не красиво
Да, серьёзно. Учитывая, что ты не привёл ни одного доказательства своих слов.
Всего хорошего.
Всего хорошего.
Уважаемый. Мне нет резона пытаться тебя обидеть понапрасну и я адекватный — я возьму свои слова обратно. Сразу. Как только ты предоставишь нам аргументы — сайт с такими же скоростями и функционалом, в идеале — сделанный тобой. Пока этого нет, мои слова в силе.
Очень хотелось бы увидеть сравнение производительности minishop и minishop2.
Очень интересно узнать на сколько minishop2 быстрее, хотя бы примерно
Очень интересно узнать на сколько minishop2 быстрее, хотя бы примерно
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.