Следующая ситуация. Нужно было, чтобы умный фильтр мог предлагать отметить чекбоксами несколько пунктов по каждому фильтруемому свойству(сейчас фильтруется по свойствам торговых предложений), сделали следующее: переписали шаблон так чтобы свойствам по которым идёт фильтрация отправлялись массивом. Ну например есть свойство SIZE - размер и TYPE - тип, ну например размеры 100*100, 100*150, а тип 1 наволочка, 2 навлолочки и ТП. Таким образом фильтр по ajax отправляет запрос вида controler?SIZE[]=100*100&SIZE[]=100*150&TYPE[]=2 навлолочки этот запрос уходит на php скрипт в котором пришедшие по GET данные разбираются и передаются в catalog.section как массив имя которого указывается в FILTER NAME.
Так вот если передавать данные только с одного свойства(не важно будет выбрано 1,2,3 или более значений) - всё нормально, но если передавать сразу с SIZE и TYPE хапрос зависал, и весь сайт переставал отвечать 1-3 минуты, выдавая на страницах ошибку 500. То что Вы видите на скрине - это уже работа другого хостинга.
Так вот, решили поменять хостинг, запрос по одному свойству отрабатывается за 0.5 секунды в среднем, но первые запросы по 2-м или более свойствам одновременно подвешивали запрос на 12 секунд(максимально), а так 4-8 секунд, затем начинали работать быстрее.
Я понимаю, если бы это был большой интернет магазин, у нас же 500 товаров, поэтому с чего бы поиск в catalog.section по 2-м свойствам вместо одного вдруг начинает отрабатываться дольше до 10 раз и более?
Вопросы по теме:
1) может быть кто сталкивался, есть варианты что делаем не так? Но на деле проверяли массив var_dump(тот который передаётся в качестве фильтра на catalog.section) ну всё очень просто и стандартно, самый обычный массив для фильтрации, почему такой эффект?
2) почему второй хостинг вообще отрабатывает пусть и за 12 секунд и не виснет, а первый зависает на 1-3 минуты? Какие параметры посмотреть в php, apache, mysql может быть каких то ресурсов не хватает или количества допустимых операций за сессию?