Как увеличить производительность сайта в несколько раз с помощью Elasticsearch

Тимлид eCommerce-агентства Aero Юрий Кононов о том, как спасти товарный каталог, если он тормозит и грозит рухнуть.

Как увеличить производительность сайта в несколько раз с помощью Elasticsearch
88

Был удивлён увидеть такую техническую статью тут. А почему один инстанс используете , если это критичный участок? На самом деле кластер из коробки работает, правда для продакшена потребуется 2 сервера с оперативной памятью не менее 8gb. И парни, без обид - но то, что вы описали - это не высокие нагрузки. Высокие нагрузки, когда сотни тысяч в секунду соединений и десятки миллионов в сутки. Простите занудство :) Кстати, про elastic - там главное понять 2 вещи: то, что он работает поверх lucene , и маппинг. В остальном предлагаю не вводить в заблуждение людей. Это поисковый движок, с ним нельзя постоянно работать как с реляционной базой данных: создавать и удалять индексы, а также перезаписывать данные в привычной манере. Все ответы лежат в области lucene. Время поиска тоже настраивается, это у них по умолчанию стоит 30 сек. А так, он хорош! Вы тоже молодцы, что не боитесь тяжёлых задач. Успехов

3

Александр, эти вещи нам понятны. Такая схема работает больше года, проблем никаких не замечено. Высокие нагрузки - понятие относительное. Высокая нагрузка может быть и на маленьком проекте, когда не хватает ресурсов простого сервачка. На этом проекте это немалые нагрузки, да и буквально на днях мы побили этот "рекорд". Раскрыть все цифры я к сожалению не могу, но если смотреть в разрезе до/после, сайт стал намного "выносливее", по сравнению с жизнью "до".

1

Мы в своё время сделали то же самое для Mascotte. Разница в том, что мы выгружали все свойства товаров в ES, а это позволяет делать интересные вещи, как, например, подборку похожих товаров с разным весом для разных совпадающих параметров.

Что касается количества инстансов — сейчас уже многие облачные провайдеры предоставляют ElasticSearch в облаке — AWS, например. Но это скорее вопрос географии.

1

Перепутали, Хабр в другой закладке?
А в целом крутаны и молодцы.

1

Если кратко то: не используйте битрикс для больших сайтов (более 10к страниц) да?

Не совсем так. Все зависит от конкретного проекта и конкретных задач. При создании магазинов мы используем битрикс. С большинством задач он справляется хорошо и имеет как плюсы, так и минусы. На сложных проектах нам приходится разрабатывать кастомные решения. На проектах попроще - более менее стандартный функционал. Ответ на ваш вопрос - нет, используйте битрикс, но не стоит упираться в его ограничения и минусы :)

2