Долгая загрузка каталога
Доброго времени суток!
Немного упустил момент, когда на моем сайте, 70 мини-карточек товара (с фотографиями, со стандартными параметрами ресурса в описании, а так же с дополнительными параметрами miniShop2) начали грузиться по 5-6 секунд. Сервисы Google вообще показывают страшные цифры по загрузке каталога. Проблема актуальна и для выдачи в 20-30 товаров, просто в меньшей степени.
Изначально пробовал сжимать js и css. Признаться у меня не самый чистый код. Но сделал все по требованиям — на 5-6 секунд загрузки это никак не повлияло.
Далее, согласно отчетам популярных сервисов, начал оптимизировать размер всех изображений. Но попробовал вообще убрать из шаблона вывода картинку товара — на 5-6 секунд загрузки это, опять же, никак не повлияло. (p.s. Интернет у меня очень быстрый)
Последнее что пришло в голову, это включить кэш сниппета (pdoPage). Как результат: открываю каталог — все очень быстро. Пользуюсь фильтрами в каталоге (т.е. уточняю выдачу) — все снова 5-6 секунд грузится.
Если я хоть приблизительно понимаю как это работает, то данный метод решения, если он таковым является, для меня не имеет смысла, так как большинство запросов моих пользователей — уникальные, а заставлять их ждать такое время, вредит как и бизнесу, так и сео оптимизации.
По ощущениям, раньше такой проблемы не было. Сайт постоянно в доработке, не уследил, с какого момента появилась такая долгая загрузка.
Подскажите, чем вызвана данная проблема, и как её решить?
Немного упустил момент, когда на моем сайте, 70 мини-карточек товара (с фотографиями, со стандартными параметрами ресурса в описании, а так же с дополнительными параметрами miniShop2) начали грузиться по 5-6 секунд. Сервисы Google вообще показывают страшные цифры по загрузке каталога. Проблема актуальна и для выдачи в 20-30 товаров, просто в меньшей степени.
Изначально пробовал сжимать js и css. Признаться у меня не самый чистый код. Но сделал все по требованиям — на 5-6 секунд загрузки это никак не повлияло.
Далее, согласно отчетам популярных сервисов, начал оптимизировать размер всех изображений. Но попробовал вообще убрать из шаблона вывода картинку товара — на 5-6 секунд загрузки это, опять же, никак не повлияло. (p.s. Интернет у меня очень быстрый)
Последнее что пришло в голову, это включить кэш сниппета (pdoPage). Как результат: открываю каталог — все очень быстро. Пользуюсь фильтрами в каталоге (т.е. уточняю выдачу) — все снова 5-6 секунд грузится.
Если я хоть приблизительно понимаю как это работает, то данный метод решения, если он таковым является, для меня не имеет смысла, так как большинство запросов моих пользователей — уникальные, а заставлять их ждать такое время, вредит как и бизнесу, так и сео оптимизации.
По ощущениям, раньше такой проблемы не было. Сайт постоянно в доработке, не уследил, с какого момента появилась такая долгая загрузка.
Подскажите, чем вызвана данная проблема, и как её решить?
[[!pdoPage:default=`<div class=\"fool\"><p>К сожалению, товары с указанными параметрами отсутствуют. За помощью в подборе, Вы можете обратиться по телефону <span>+7(xxx) xxx-xx-xx</span>.</p></div>`?sortby=`Data.price`
&element=`msProducts`
&parents=`2`
&showLog=`1`
&tpl=`tpl.msProducts.row`
&limit=`72`
]](^ код сниппета вызова каталога) Комментарии: 11
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
И зачем &limit=`72`? Не многовато на одну страницу? Если их всего 72, то их просто нужно вывести через сниппет msProducts с limit=`0`
Товаров очень много, выдачи почти всегда большие. На сайте сделана удобная система скроллинга, с фиксированными элементами подбора и всей необходимой инфы. Ковыряться человеку на 4-5 страницах (в среднем, а так гораздо больше), постоянно туда сюда переходить — не вижу смысла.
Вот пример одного из сниппетов (добавляет к загрузке страницы секунду с лишним):
То есть, выбрали результаты через PDO, а потом сразу делаем тоже самое, но через xPDO — привет, тормоза!
Читай про prepareSnippet, это то, что тебе нужно.
0.0000501: pdoTools loaded
0.0000122: xPDO query object created
0.0003202: Included list of tvs: image
0.0001080: leftJoined modResource as Products
0.0000620: leftJoined modResource as ProductsPrice
0.0000610: leftJoined modTemplateVarResource as Price
0.0000551: leftJoined modTemplateVarResource as TVimage
0.0000019: Grouped by modResource.id
0.0000131: Added selection of modResource: SQL_CALC_FOUND_ROWS *
0.0000231: Added selection of modTemplateVarResource: MIN(value) AS `price_from`, MAX(value) AS `price_to`
0.0000041: Added selection of modTemplateVarResource: IFNULL(`value`, '') AS `tv.image`
0.0000050: Replaced TV conditions
0.0139780: Processed additional conditions
0.0152969: Added where condition: 0=`["`modResource`.template = 3"]`
В шаблоне вывод вот такой:
Возможно у тебя тормозит что-то другое, попробуй поставить debugParser и открыть страницу с параметром &debug=1 из-под админа и кидай сюда таблицу.
P.S. Нормальный такой некропост спустя 10 лет, но в целом почему бы и нет))
UPD: Так на сайте и страницы каталога переключаются по 20секунд. Это надо дебажить уже сам mSearch2 (mFilter2 вернее). Как правило, где-то там в чанке лежит нечто очень медленное…