Медленная загрузка страниц
Здравствуйте.
Большая просьба помочь.
По мере наполнения сайта товаром, время загрузки страниц становится все больше и больше.
Сейчас на сайте порядка 10 тысяч товаров. Если заходим на отдельные категории товаров (200-300 шт), то загрузка сайта более менее в пределах нормы 2-4 сек. Но если переходим в общий каталог, то все, можно идти чай пить скорость загрузки 18-25 сек.
Включил &showLog=`1`, он мне показал «17.8670690: Fired paginator: „pdoPage“».
Далее я попробовал сделать в этом же каталоге фильтрацию, это заняло примерно столько же времени.
Какие был сделаны работы: включено кеширование на VPS сервере, переход на ssd диски, проверка всех сниппетов на кеширование, подключен MinifyX для скриптов и стилей.
Записал видео работы по ссылке: vk.com/video25923943_456239105
Ссылка на каталог: dealsport.ru/katalog/
Большая просьба помочь.
По мере наполнения сайта товаром, время загрузки страниц становится все больше и больше.
Сейчас на сайте порядка 10 тысяч товаров. Если заходим на отдельные категории товаров (200-300 шт), то загрузка сайта более менее в пределах нормы 2-4 сек. Но если переходим в общий каталог, то все, можно идти чай пить скорость загрузки 18-25 сек.
Включил &showLog=`1`, он мне показал «17.8670690: Fired paginator: „pdoPage“».
Далее я попробовал сделать в этом же каталоге фильтрацию, это заняло примерно столько же времени.
Какие был сделаны работы: включено кеширование на VPS сервере, переход на ssd диски, проверка всех сниппетов на кеширование, подключен MinifyX для скриптов и стилей.
Записал видео работы по ссылке: vk.com/video25923943_456239105
Ссылка на каталог: dealsport.ru/katalog/
Комментарии: 17
Написал в тех поддержку.
ВОТ ОТВЕТ:
Произвели корректировку настроек 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
Необходимо оптимизировать запросы к базе данных и настроить кэширование. По данному вопросу вам необходимо обращаться к разработчику вашего сайта.
ВОТ ОТВЕТ:
Произвели корректировку настроек 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
Необходимо оптимизировать запросы к базе данных и настроить кэширование. По данному вопросу вам необходимо обращаться к разработчику вашего сайта.
Скорее всего сервер настроили криво, на timeweb перенесите сайт, 10 дней там для теста даётся, посмотрите будет ли разница. Поддержка конечно будет писать отписки, ссылаясь на оптимизацию, кеширование и т.д.
И ещё вот дополнение с помощью которого можно посмотреть сколько времени на выполнение занимает каждый сниппет, чанк и т.д. — debugParser. Но эти данные стоит смотреть если знаешь, что с сервером всё хорошо.
Хорошо, попробую перенести. Текущий хостер reg.ru.
debugParser его тоже использовал для анализа.
Какие еще могут быть варианты? )
debugParser его тоже использовал для анализа.
Какие еще могут быть варианты? )
Ну, варианта только 3. Сервер, ПО сервера и то как сделан сайт. 5-10 тыс товаров для MODX это немного, по крайней мере точно 25 секунд не должна грузиться страница. Из поста я понял, что у вас VPS, а не хостинг. Стало быть либо сами настраивали, либо кто-то ещё. Я бы первым делом проверил сайт на обычном хостинге. modhost.pro, timeweb.ru, beget.ru, mchost.ru на них MODX нормально работает. А есть такие, где тормозит даже пустой сайт.
Если бы весь сайт тормозил, да согласен что хостер.
Но когда отдельные категории с большим количеством товара…
Кстати сейчас попробовал PHP 7 включить, чуть по быстрее стало, на 2-3 секунды.
Но когда отдельные категории с большим количеством товара…
Кстати сейчас попробовал PHP 7 включить, чуть по быстрее стало, на 2-3 секунды.
mSearch2 наверное используете? Он буксует на таком количестве товаров, попробуйте отключить ему подсчеты, и убрать лишние поля в msproducts, оставляйте только то, что используете для фильтрации, и то что выводите в чанке товара. Немного поможет.
да верно, mSearch2, debugParser именно по нему и показывал длительное время загрузки.
Скрин с загрузки debug: ibb.co/mNrmZcy
Пробовал выводить по 5 товаров на страницу, ситуация примерно аналогичная.
Ощущение что проблема именно с формированием пагинации.
Скрин с загрузки debug: ibb.co/mNrmZcy
Пробовал выводить по 5 товаров на страницу, ситуация примерно аналогичная.
Ощущение что проблема именно с формированием пагинации.
Вот скрин с showlog: ibb.co/Rbj2D5B
_
Такая же проблема. Причем сайту уже более 2 лет, в последнее время ничего не менялось, на этапе создания сайта страницы грузились в несколько раз быстрее. Сейчас страницы с каталогом грузятся по 20-40 секунд.
Обратился к хостеру. Вот чего ответили
Обратился к хостеру. Вот чего ответили
При запросе указанной страницы к таблице modx_ms2_product_options базы данных сайта отправляется большое количество запросов. Так как таблица имеет тип MyISAM, запросы обрабатываются по очереди, пока идет обработка одного, остальные ожидают.
Для того, чтобы запросы могли обрабатываться одновременно, можно изменить тип таблицы на InnoDB. Уточните, пожалуйста, у разработчика, возможен ли такой переход.
Нашел такую статью
modx.com/blog/converting-to-innodb-from-myisam-tables-using-the-command-line
Стоит ли переходить на InnoDB?
modx.com/blog/converting-to-innodb-from-myisam-tables-using-the-command-line
Стоит ли переходить на InnoDB?
Еще один ответ от хостера. Смена типа таблицы не помогла. Я в тупике…
Ошибка возникает потому, что скрипту не хватает памяти для обработки. Создали для Вас дамп базы данных и изменили тип указанной таблицы.
К сожалению, это не оказало сильно значимого эффекта. Процесс PHP все равно при запуске производит крайне длительную обработку скрипта и большое количество SQL-запросов.
В данном случае мы можем порекомендовать Вам настроить кеширование страниц и результата обработки PHP в CMS сайта — данный механизм как правило и предназначен для случаев, когда оригинальная страница загружается долго.
Проблема решилась после отката mSearch2 до версии 1.12.3-pl1
Теперь страница каталога прогружается за 1.4 секунды
Теперь страница каталога прогружается за 1.4 секунды
Вот зачем ты вообще обновляешься, если не читаешь ни анонсов, ни changelog? Просто, чтобы желтая кнопочка в админке не горела?
modx.pro/news/17738
modx.pro/news/17738
Да, действительно отключив новый функционал в версии 1.13, путем добавления в mFilter2 &noPreciseMSFilters=`1`, проблема решилась.
А с чего ты взял, что я не читал changelog?
Анонсы, признаюсь, не читал. Виноват. Понадеялся, что в changelog исчерпывающая информация.
[mFilter2] MS2 filters now respects system plugins to change price and weight of products. Can be disabled by «noPreciseMSFilters».Где здесь хоть одно слово, что возможно замедление работы в 14 раз?
Анонсы, признаюсь, не читал. Виноват. Понадеялся, что в changelog исчерпывающая информация.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.