Сайт:
www.qwatch.ru/ Фильтр работает, важно найти косяки что его тормозит. Он должен работать в разы быстрее.
Вводные по структуре каталога и свойств товара указаны в приложении.
Вводные по фильтру товаров также указаны в приложении.
Суть проблемы и задание:
Проблема в скорости. Сайт должен работать быстро и с точки зрения юзабилити, и с точки зрения поисковиков (фактор ранжирования). Медленный сайт просто вообще не нужен для бизнеса, это убыток. Плюс есть некоторые технические косяки, мои мысли и замечания указаны ниже:
1. Технический косяк 1 не работает параметр производителей. Он работал, но его начал настраивать программист, чтобы он грузился аяксом, и бросил недоделанным. Теперь, если включить этот параметр, фильтр вообще не работает. Какая-то ошибка мешает.
2. Технический косяк 2 не могу создать копию модуля. Тут история такова: при загрузке параметров аяксом по идее сайт с фильтром вообще должен «летать», так как сам фильтр банально получает только названия полей и ВСЕ!!! Долго не получалось сделать, чтобы он работал быстро. Он все равно добавлял 2 секунды к скорости загрузки страницы (время я говорю визуально, на очень быстром интернете). В какой-то момент удалось настроить так, что в корневом каталоге Virtuemart ощутимой задержки не было (ура!), страница вся грузилась за 2 секунды и это было в рамках разумного. Но при переходе в любую категорию (например, «Наручные часы») скорость резко падала до 4-5 секунд. Как сказал разработчик подключается JOIN. Для чего он там нужен он не объяснил, но я предположил, что фильтр в каждой категории проверяет по товарам внутри какие именно настраиваемые поля там присутствуют. Моё решение созрело сразу поскольку у меня типы товаров и категории полностью совпадают, надо отключить JOIN вообще, сделать несколько копий модуля с настройками в админке нужных полей и запускать каждую копию модуля в своей категории. Но проверить не удалось на этой стадии разработчик пропал, а копию модуля сделать не получается
Более того, он что-то пошаманил с ценой, она стала грузиться тоже аяксом, но теперь даже в корневой категории virtuemart страница грузится снова не 2 секунды, а очень долго. Занавес.
Если удастся как-то иначе добавить скорости модулю, то его копии по сути и не нужны. Если ничего не получится и мои предположения насчет функции JOIN верны, то есть такой вариант.
3. Конечно, важна и скорость срабатывания фильтра, когда покупатель выбирает конкретный параметр. Во всех случаях надо стремиться к 2 секундам, или быстрее. Старый сайт фильтрует за 2 секунды любой параметр при том, что товаров на нем более 40 тысяч. Новый в данный момент порядка 5 секунд (в 2.5 раза дольше), хотя товара на нем в 2.5 раза меньше! Не понимаю, почему этот так тормозит. Тормозит именно фильтр пробовал отключать его и замерять время без фильтра и с ним и визуально, и через timeline. Вывод без фильтра все работает очень быстро, проблема не в отображении категории, а именно в фильтре. Debug под фильтром не показывает всей картины. При включении фильтра резко растет показатель TTFB.