Медленная загрузка страниц

Здравствуйте.
Большая просьба помочь.
По мере наполнения сайта товаром, время загрузки страниц становится все больше и больше.
Сейчас на сайте порядка 10 тысяч товаров. Если заходим на отдельные категории товаров (200-300 шт), то загрузка сайта более менее в пределах нормы 2-4 сек. Но если переходим в общий каталог, то все, можно идти чай пить скорость загрузки 18-25 сек.
Включил &showLog=`1`, он мне показал «17.8670690: Fired paginator: „pdoPage“».
Далее я попробовал сделать в этом же каталоге фильтрацию, это заняло примерно столько же времени.
Какие был сделаны работы: включено кеширование на VPS сервере, переход на ssd диски, проверка всех сниппетов на кеширование, подключен MinifyX для скриптов и стилей.
Записал видео работы по ссылке: vk.com/video25923943_456239105
Ссылка на каталог: dealsport.ru/katalog/
Ильяс
23 марта 2019, 23:16
262
+1

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

Ильяс
23 марта 2019, 23:56
0
Написал в тех поддержку.
ВОТ ОТВЕТ:
Произвели корректировку настроек MySQL:

[!!] Joins performed without indexes: 140
[!!] Temporary tables created on disk: 73% (969 on disk / 1K total)

Однако, это не принесло желаемого результата:

37.140.192.200 — - [23/Mar/2019:23:32:22 +0300] dealsport.ru GET / HTTP/2.0 200 13404 "-" «Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0» "-"
0.839-0.811
37.140.192.200 — - [23/Mar/2019:23:33:17 +0300] dealsport.ru GET /katalog/aksessyary/ HTTP/2.0 200 20809 «dealsport.ru/» «Mozilla/5.0 (Windows NT 10.0; Win64; x64;
rv:65.0) Gecko/20100101 Firefox/65.0» "-" 3.789-3.789
37.140.192.200 — - [23/Mar/2019:23:33:56 +0300] dealsport.ru GET /katalog/aksessyary/ryukzaki/49789.html HTTP/2.0 200 18150 «dealsport.ru/katalog/aksessyary/»
«Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:65.0) Gecko/20100101 Firefox/65.0» "-" 1.988-1.988

Необходимо оптимизировать запросы к базе данных и настроить кэширование. По данному вопросу вам необходимо обращаться к разработчику вашего сайта.
Николай
24 марта 2019, 00:55
0
Скорее всего сервер настроили криво, на timeweb перенесите сайт, 10 дней там для теста даётся, посмотрите будет ли разница. Поддержка конечно будет писать отписки, ссылаясь на оптимизацию, кеширование и т.д.
    Николай
    24 марта 2019, 01:13
    0
    И ещё вот дополнение с помощью которого можно посмотреть сколько времени на выполнение занимает каждый сниппет, чанк и т.д. — debugParser. Но эти данные стоит смотреть если знаешь, что с сервером всё хорошо.
      Ильяс
      24 марта 2019, 09:23
      0
      Хорошо, попробую перенести. Текущий хостер reg.ru.
      debugParser его тоже использовал для анализа.
      Какие еще могут быть варианты? )
        Николай
        24 марта 2019, 13:41
        0
        Ну, варианта только 3. Сервер, ПО сервера и то как сделан сайт. 5-10 тыс товаров для MODX это немного, по крайней мере точно 25 секунд не должна грузиться страница. Из поста я понял, что у вас VPS, а не хостинг. Стало быть либо сами настраивали, либо кто-то ещё. Я бы первым делом проверил сайт на обычном хостинге. modhost.pro, timeweb.ru, beget.ru, mchost.ru на них MODX нормально работает. А есть такие, где тормозит даже пустой сайт.
          Ильяс
          24 марта 2019, 14:07
          0
          Если бы весь сайт тормозил, да согласен что хостер.
          Но когда отдельные категории с большим количеством товара…
          Кстати сейчас попробовал PHP 7 включить, чуть по быстрее стало, на 2-3 секунды.
Konstantin
24 марта 2019, 10:25
0
mSearch2 наверное используете? Он буксует на таком количестве товаров, попробуйте отключить ему подсчеты, и убрать лишние поля в msproducts, оставляйте только то, что используете для фильтрации, и то что выводите в чанке товара. Немного поможет.
    Ильяс
    24 марта 2019, 10:59
    0
    да верно, mSearch2, debugParser именно по нему и показывал длительное время загрузки.
    Скрин с загрузки debug: ibb.co/mNrmZcy
    Пробовал выводить по 5 товаров на страницу, ситуация примерно аналогичная.
    Ощущение что проблема именно с формированием пагинации.
    Ильяс
    24 марта 2019, 11:07
    0
    Вот скрин с showlog: ibb.co/Rbj2D5B
Ильяс
24 марта 2019, 11:55
0
_
    Алексей П
    24 марта 2019, 19:35
    0
    Такая же проблема. Причем сайту уже более 2 лет, в последнее время ничего не менялось, на этапе создания сайта страницы грузились в несколько раз быстрее. Сейчас страницы с каталогом грузятся по 20-40 секунд.
    Обратился к хостеру. Вот чего ответили
    При запросе указанной страницы к таблице modx_ms2_product_options базы данных сайта отправляется большое количество запросов. Так как таблица имеет тип MyISAM, запросы обрабатываются по очереди, пока идет обработка одного, остальные ожидают.

    Для того, чтобы запросы могли обрабатываться одновременно, можно изменить тип таблицы на InnoDB. Уточните, пожалуйста, у разработчика, возможен ли такой переход.
      Алексей П
      24 марта 2019, 19:38
      0
      Нашел такую статью
      modx.com/blog/converting-to-innodb-from-myisam-tables-using-the-command-line
      Стоит ли переходить на InnoDB?
      Алексей П
      24 марта 2019, 21:46
      0
      Еще один ответ от хостера. Смена типа таблицы не помогла. Я в тупике…
      Ошибка возникает потому, что скрипту не хватает памяти для обработки. Создали для Вас дамп базы данных и изменили тип указанной таблицы.

      К сожалению, это не оказало сильно значимого эффекта. Процесс PHP все равно при запуске производит крайне длительную обработку скрипта и большое количество SQL-запросов.

      В данном случае мы можем порекомендовать Вам настроить кеширование страниц и результата обработки PHP в CMS сайта — данный механизм как правило и предназначен для случаев, когда оригинальная страница загружается долго.
        Алексей П
        25 марта 2019, 01:00
        0
        Проблема решилась после отката mSearch2 до версии 1.12.3-pl1
        Теперь страница каталога прогружается за 1.4 секунды
          Василий Наумкин
          25 марта 2019, 07:09
          0
          Вот зачем ты вообще обновляешься, если не читаешь ни анонсов, ни changelog? Просто, чтобы желтая кнопочка в админке не горела?

          modx.pro/news/17738
            Ильяс
            25 марта 2019, 07:45
            +2
            Да, действительно отключив новый функционал в версии 1.13, путем добавления в mFilter2 &noPreciseMSFilters=`1`, проблема решилась.
            Алексей П
            25 марта 2019, 11:57
            0
            А с чего ты взял, что я не читал changelog?
            [mFilter2] MS2 filters now respects system plugins to change price and weight of products. Can be disabled by «noPreciseMSFilters».
            Где здесь хоть одно слово, что возможно замедление работы в 14 раз?
            Анонсы, признаюсь, не читал. Виноват. Понадеялся, что в changelog исчерпывающая информация.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.