Как ускорить время поиска и вывода результатов при проценке в интернет-магазине Веб-Вход?
Актуальный вопрос от клиентов, использующих интернет-магазин «Веб-вход» - т.к. от скорости ответов сайта зависит популярность ресурса, и соответственно – выручка.
Прежде всего необходимо пояснить, как работает проценка на сайте и где узкие места. Когда посетитель на сайте вводит артикул для поиска (либо выбирает товар из каталога) сайт формирует запрос к веб-службе AutoИнтеллект, веб-служба производит поиск (как это делает сам AutoИнтеллект) – используются заданные параметры поиска, фильтры. Полученный результат от веб-службы передается обратно на сайт, после чего происходит формирование таблицы с результатами (генерация страницы) и передача ее на компьютер посетителя.
Здесь есть несколько составляющих:
- веб-служба и база данных, расположенные на сервере клиента;
- сайт, расположенный на сервере компании Tradesoft;
- веб-проценка, работающая через сервис Tradesoft с сайтами поставщиков;
- интернет-канал между офисом и сайтом пользователя.
Таким образом, видно, что в зависимости от интернет-канала от офиса до сайта, быстродействия веб-службы и базы данных зависит скорость получения результата. И если в этом плане все достаточно быстро – включается последнее звено – проценка на сайте поставщика. К сожалению, не все поставщики «одинаково быстры» (как, например, Emex) и время ответа проценки зависит от конкретного поставщика и может достигать 20-30-50 секунд.
Что можно улучшить в данной схеме?
Оставим в стороне веб-проценку, разберемся с ускорением поиска по «локальным» прайс-листам (наличие и под заказ). Для максимального быстродействия прежде всего потребуется обеспечить производительность работы базы данных. В этом поможет самое лучшее «железо» - быстродействующий процессор, приличный запас оперативной памяти, SSD-диск для размещения операционной системы и базы данных.
При передаче ответа от веб-службы на сайт влияет «ширина» исходящего интернет-канала. Например, если исходящая скорость 512 кбит/сек, то ответ службы передается со скоростью 64 кб/сек (а это в идеале). На практике, канал будет занят другими задачами, поэтому скорость будет еще ниже. Выход – увеличивать быстродействие интернет-канала. Для тестирования скорости можно рекомендовать популярный ресурс http://speedtest.net. Нормальными можно считать значения от 10 мегабит и выше.
Некоторые клиенты выбирают вариант с использованием выделенного сервера в каком-либо датацентре. А в случае нагруженного проекта, арендуется два сервера: сервер БД и сервер приложений. Если выбрать датацентр рядом с серверами компании ТрэйдСофт для ВВ, то минимизируется влияние канала между веб-службой и сайтом.
Чтобы уменьшить объем передаваемой информации от веб-службы, следует воспользоваться «наборами фильтров проценки». Наборы могут содержать произвольное число фильтров, отсекающих данные в заданном порядке. Обычно набор фильтров для сайта использует такие фильтры, как: Фильтр позиций с нулевой ценой; Фильтр позиций с нулевым наличием; Фильтр для сайта (исключает зарезервированный товар и пр.); Актуальность позиций прайс-листа поставщика (отсеивает предложения из прайс-листов, которые не обновлялись больше заданного времени); Лучшее предложение (выбирает несколько лучших предложений по цене и сроку поставки). AutoИнтеллект позволяет настроить разные наборы фильтров для авторизованных клиентов и для «гостевого поиска». В результате, список предложений можно сократить до 25-50 позиций, вместо 1000+. Это не только значительно сократит передачу данных на сайт, но и упростит задачу выбора для конечного покупателя.
И напоследок, пару слов о веб-проценке. Если ваш поставщик не отличается повышенным быстродействием – можно внедрить на сайте два режима поиска. По умолчанию предложить посетителям быстрый поиск без «веб-проценки», а в качестве альтернативы – «полный поиск». Также, можно воспользоваться настройкой опций «веб-поставщика», например, отключить аналоги, для некоторых поставщиков это позволяет ускорить поиск. В глобальных настройках AutoИнтеллект присутствует параметр – время ожидания ответа от веб-сервиса (тайм-аут) – указывается максимальное время ожидания ответа от сервисов. Если за указанный интервал какой-либо из веб-поставщиков не успел ответить, то программа не ждет его ответа и выводит те результаты, которые были получены за отведенное время.