[miniShop2] Первый тест на скорость

Провел первый тест скорости выборки товаров, на скорую руку. Просто раскопировал 10000 товаров, со всеми свойствами в одной категории и почистил кэш.

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


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



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


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


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


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


Важное уточнение, friendly urls отключены, потому что система ругается на одинаковые алиасы. Позже протестирую и с ними, только нужно переписать копирование, для генерации уникальных алиасов.

В любом случае, первый тест очень порадовал. В админке тормозов вообще нет, ни при создании товаров, ни при переходе по страницам, ни при очистке кэша.

Если интересно — могу записать видео.
Василий Наумкин
21 февраля 2013, 07:15
modx.pro
4 927
0

Комментарии: 46

Сафронов Иван
21 февраля 2013, 12:48
0
Конечно интересно! Если не сложно и хватает времени — выкладывай.
    Василий Наумкин
    21 февраля 2013, 15:19
    0
    Побегал по админке — а нечего записывать. Вот реально, нет изменений вообще, что 5 товаров, что 10000.

    Так что, лучше сосредоточусь на подготовке беты.
    Вячеслав Серков
    21 февраля 2013, 13:01
    0
    Примерно так:
    file.modx.pro/files/486/b/d/8/bd81d2e97e38678d541f34e0d082a499.png

    Были бы ещё данные о работе через getResources и miniShop при тех же входных данных.
      Василий Наумкин
      21 февраля 2013, 13:40
      0
      Не имеет смысла, ибо getRetsources не понимает половину тегов и наворотов, например, не разбираются опции товаров в JSON.
      Но если даже без всего этого, цифры генерации страницы примерно такие.

      10 товаров: 1й запуск — 0,97 сек, 2й запуск — 0,75 сек
      100 товаров: 1й запуск — 4,9 сек, 2й запуск — 4,2 сек.
      1000 товаров: не осилил

      При 10 товарах, разница вроде не особо заметна, но затем pdoTools просто уходит в точку.
      Галич Сергей
      21 февраля 2013, 15:14
      0
      я чето понять не могу) минишоп 2 уже есть чтоле? где глянуть можно демку?
        Василий Наумкин
        21 февраля 2013, 15:17
        0
        В разработке. Первая бета в конце этой недели.

        Собрать и установить пакет из репозитория на github можно самостоятельно уже давно.
      Антон Слободчук
      21 февраля 2013, 16:21
      0
      Интересно, на сколько увеличится время загрузки, если в выводе будет 3 TV для каждого товара? Или различные характеристики товаров выводятся не через TV, а есть какой-либо свой механизм?
        Вячеслав Серков
        21 февраля 2013, 16:44
        0
        Можно дописать через pdoTools вывод этих самых значений TV отдельно, или функцию в класс дописать и вызывать при определённых событиях.
          Василий Наумкин
          21 февраля 2013, 17:06
          0
          Лично я ТВ не планирую использовать вообще. Но, при грамотном запросе, от лишних ТВ тормозов не будет.
          Пробовал джойнить около 10 таблиц в один запрос — никакого замедления.

          Вот, что я буду использовать вместо ТВ — modx.pro/development/742/
          Фролов Алексей
          Фролов Алексей
          21 февраля 2013, 19:22
          0
          Доброго вечера всем присутствующим)
          Василий — 0.4 сек для 10 товаров это не быстро (совсем не быстро). Проблема как мне кажется в обработке данных полученных из базы
            Василий Наумкин
            21 февраля 2013, 19:41
            0
            0.4 — после очистки кэша на 10000 ресурсах — не быстро?

            Ну я не знаю… Там 0,22 — это только выборка из базы. А приготовление и вывод на экран, выходит 0,18. На мой взгляд, весьма неплохо.

            Опять же, погляди на скорость при повторной загрузке страницы (а это основной режим работы сайта) — 0,15 сек.
              Фролов Алексей
              Фролов Алексей
              21 февраля 2013, 19:48
              0
              Как выйдет первая бета, я потестирую обязательно. Еще такой вопрос, почему решили использовать CRC?
              Отдельная база была бы отличным решением, а ресурс как контейнер для категории. На мой взгляд только свои таблицы могут дать высокую скорость. Т.к. в ресурсах происходит много действий не нужных товарам
                Василий Наумкин
                21 февраля 2013, 20:00
                0
                А ты попробуй на досуге научить работать Wayfinder и другие сниппеты с отдельной таблицей.
                А потом напиши свой обработчик friendly urls.
                А потом еще много чего вылезет.

                Проще не использовать MODX вообще, и писать сразу свой магазин. Только зачем, когда вокруг есть толпа уже готовых?

                miniShop2 — бесплатное расширение для движка MODX, и максимально его задействует.
              Василий Наумкин
              21 февраля 2013, 20:19
              0
              Полез искать самое тормозное место в работе сниппета, и нашел!
              Это функция getChildIds, которая рекурсивно ищет потомков ресурса, из которого выводится каталог.

              Немного уточнил лог и выходит вот это (смотрим на строчку «Query parameters are prepared.»)

              Глубина выборки 10


              Глубина выборки 1


              Глубина 0, функция отключена


              Очевидно, тормоза оттого, что в категории 10000 потомков. Но всегда можно указать параметр &depth=`1` и перечислить нужных родителей через запятую — так будет быстрее.

              Очистка кэша как раз и влияет на построение дерева ресурсов, с которым работает getChildIds(). Поэтому с depth=1 сниппет отрабатывает за 0,12 сразу после очистки, а потом уже — 0,09.

              Вот такие пироги. Куда еще убыстрить — не знаю.
                Фролов Алексей
                Фролов Алексей
                21 февраля 2013, 20:22
                0
                Это уже значительно лучше.
              Фролов Алексей
              Фролов Алексей
              21 февраля 2013, 19:50
              0
              Это после добавления комментария
                Василий Наумкин
                21 февраля 2013, 20:00
                0
                Не может быть! Кэш ресурса очищается после добавления комментария?!

                И что?
                  Фролов Алексей
                  Фролов Алексей
                  21 февраля 2013, 20:25
                  0
                  Нет, ничего. Вы пишете компоненты, а сделать быстрым свой сайт не можете или не хотите, просто странно.
                    Василий Наумкин
                    21 февраля 2013, 20:35
                    0
                    Лёша, ну в этом месте я просто обязан попросить тебя продемонстрировать твои достижения в написании быстрых сайтов.

                    Мой сайт медленный, ок. Покажи свой, быстрый.
                      Фролов Алексей
                      Фролов Алексей
                      21 февраля 2013, 20:44
                      0
                      В среднем 500 мс ожидание ответа от сервера.
                      Вам любой оптимизатор скажет что это большая цифра, выше 200 мс это уже не радостно
                        Василий Наумкин
                        21 февраля 2013, 20:53
                        0
                        Окей, показывай свой сайт с такими скоростями, чтобы работал на MODX Revolution и выводил внизу плейсхолдер [^t^]. Желательно, с таким же функционалом, но можно и без.

                        Тебе же есть, что показать, или мы будем обсуждать сферических «любых оптимизаторов»?

                        Я не заявляю, что мой сайт или MS2 самый быстрый на свете. Но одни из самых быстрых на Revolution — факт. Если ты готов с этим поспорить — давай свои реальные аргументы.
                          Фролов Алексей
                          Фролов Алексей
                          22 февраля 2013, 18:34
                          0
                          Не надо льстить себе дорогой Василий, ваш сайт далек от «одни из самых быстрых на Revolution».
                            Василий Наумкин
                            22 февраля 2013, 19:06
                            0
                            Лёша, ты либо докажи свои выступления, или я тебя просто забаню, как обычного пиздабола.

                            Предлагаю в третий и последний раз.
                Фролов Алексей
                Фролов Алексей
                21 февраля 2013, 19:51
                0
                Еще одна
                  Василий Наумкин
                  21 февраля 2013, 20:01
                  0
                  А если еще разок нажать F5, что будет?

                  Какая страница это, кстати?
                    Фролов Алексей
                    Фролов Алексей
                    21 февраля 2013, 20:11
                    0
                    Текущая.
                      Василий Наумкин
                      21 февраля 2013, 20:25
                      0
                      Что могу сказать? Какой-то глюк.

                      Хорошо, что такое случается крайне редко — я вот, ни разу не видел пока.
                        Фролов Алексей
                        Фролов Алексей
                        21 февраля 2013, 20:28
                        0
                        Я это не сам сочинил)) Сделал скриншот сразу после добавления своего комментария и обновления текущей страницы
                          Василий Наумкин
                          21 февраля 2013, 20:30
                          0
                          На этом сайте, как ни странно, постоянно добавляются комментарии, вопросы, он всё время в движении.

                          Неудивительно, что иногда бывают заскоки, но они никак не влияют на общую картинку:
                          Сайт — быстрый.
                    Роман Наумов
                    22 февраля 2013, 00:20
                    0
                    Странно это… У меня редко превышает 1 секунду.
                    Фролов Алексей
                    Фролов Алексей
                    21 февраля 2013, 20:17
                    0
                      Василий Наумкин
                      21 февраля 2013, 20:29
                      0
                      Ты сказать то что хочешь? Говори, не стесняйся.

                      Циферки я внизу и сам вижу хорошо, в среднем там 0,35 — 0,7.

                      Заскоки могут быть по разным причинам, типа я зашел в админку и почистил кэш, или внес изменения в css и MinifyX перегенерирвал все стили сайта.

                        Denys Butenko
                        21 февраля 2013, 23:00
                        0
                        Обожечтожеделать?
                          Фролов Алексей
                          Фролов Алексей
                          21 февраля 2013, 23:35
                          0
                          Вам виднее!
                            Clean
                            22 февраля 2013, 11:13
                            0
                            Не занимайтесь хуйней — как я заметил на практике render time не всегда показывает объективные данные, +очистки кеша и перегенерация страницы могут действительно привести к результату в 1.5-2 секунды.Это не критично и не влияет на обывателя, т.к при следующем рендере сработает Cache и скорость будет оптимальной.
                        СикретНаме
                        22 февраля 2013, 11:50
                        0
                        Хорош ересь молоть, господа. И VC и FC, порой, «часами» отзываются. А «средняя температура по больнице», действительно 0.3-0.8 — тут нечего сусолить.

                        П.С.
                        Иногда, для ускорения сайта, помогает «пересаживание с калькулятора на компьютер», подключенный к Интернет, а не «черепашьим лапкам».
                          Василий Наумкин
                          22 февраля 2013, 12:01
                          0
                          Как то плавно обсуждение скорости выборки из 10000 товаров перешло на скорость моего сайта.

                          Причем, на предложение продемонстрировать «как надо» гражданин слился. Видимо, просто скучающий тролль забрёл.
                            Фролов Алексей
                            Фролов Алексей
                            22 февраля 2013, 18:32
                            0
                            Да здесь я, не переживайте.

                            Кто не в курсе есть чудесные утилиты
                            ab, siege (для тех кто не смог понять первый)
                            И под Win JsMeter
                          СикретНаме
                          22 февраля 2013, 12:09
                          0
                          Либо типичный его образчик либо готовит обстоятельный ответ. Меня забавляет, когда кто-то видит результат работы скрипта (в данном случае примитивный [[^t^]]), обсуждает его, а сам даже не понимает (о знании даже не говорю) принцип его работы.
                            Фролов Алексей
                            Фролов Алексей
                            22 февраля 2013, 22:28
                            0
                            Вы серьезно считаете что я не понимаю о чем говорю?
                            Такие заявления делать не зная меня совсем не красиво
                              Василий Наумкин
                              22 февраля 2013, 23:09
                              0
                              Да, серьёзно. Учитывая, что ты не привёл ни одного доказательства своих слов.

                              Всего хорошего.
                                СикретНаме
                                23 февраля 2013, 01:27
                                0
                                Уважаемый. Мне нет резона пытаться тебя обидеть понапрасну и я адекватный — я возьму свои слова обратно. Сразу. Как только ты предоставишь нам аргументы — сайт с такими же скоростями и функционалом, в идеале — сделанный тобой. Пока этого нет, мои слова в силе.
                              Сергей Власенко
                              13 марта 2013, 15:19
                              0
                              Очень хотелось бы увидеть сравнение производительности minishop и minishop2.
                              Очень интересно узнать на сколько minishop2 быстрее, хотя бы примерно
                                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                                46