[IMG WIDTH=1842 HEIGHT=725]https://habrastorage.org/webt/5d/24/41/5d2441645fc65147198437.jpeg[/IMG]
Следующая ситуация. Нужно было, чтобы умный фильтр мог предлагать отметить чекбоксами несколько пунктов по каждому фильтруемому свойству(сейчас фильтруется по свойствам торговых предложений), сделали следующее: переписали шаблон так чтобы свойствам по которым идёт фильтрация отправлялись массивом. Ну например есть свойство 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 раз и более?
[B]Вопросы по теме[/B]:
1) может быть кто сталкивался, есть варианты что делаем не так? Но на деле проверяли массив var_dump(тот который передаётся в качестве фильтра на catalog.section) ну всё очень просто и стандартно, самый обычный массив для фильтрации, почему такой эффект?
2) почему второй хостинг вообще отрабатывает пусть и за 12 секунд и не виснет, а первый зависает на 1-3 минуты? Какие параметры посмотреть в php, apache, mysql может быть каких то ресурсов не хватает или количества допустимых операций за сессию?
Следующая ситуация. Нужно было, чтобы умный фильтр мог предлагать отметить чекбоксами несколько пунктов по каждому фильтруемому свойству(сейчас фильтруется по свойствам торговых предложений), сделали следующее: переписали шаблон так чтобы свойствам по которым идёт фильтрация отправлялись массивом. Ну например есть свойство 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 раз и более?
[B]Вопросы по теме[/B]:
1) может быть кто сталкивался, есть варианты что делаем не так? Но на деле проверяли массив var_dump(тот который передаётся в качестве фильтра на catalog.section) ну всё очень просто и стандартно, самый обычный массив для фильтрации, почему такой эффект?
2) почему второй хостинг вообще отрабатывает пусть и за 12 секунд и не виснет, а первый зависает на 1-3 минуты? Какие параметры посмотреть в php, apache, mysql может быть каких то ресурсов не хватает или количества допустимых операций за сессию?