SlideShare une entreprise Scribd logo
1  sur  20
Télécharger pour lire hors ligne
Масштабируемый
 Sphinx кластер

  Вячеслав Крюков
     Ivinco.com
Sphinx кластер для проекта BoardReader.COM
•   Поисковый сервис по форумам, социальным сетям и медиа
    данным
•   Более 30 серверов
•   Более 15 млрд. проиндексированных документов
•   Более 5 TB данных в индексах (постов форумов и блогов,
    новостей, изображений, ссылок)
•   Более 10 млн. запросов в сутки, в пике 500 тыс. запросов в час
Масштабируемость Sphinx кластера
•   Scale Up
         Распределение данных по нескольким инстансам searchd
         (нодам) на одном сервере. Апгрейд сервера
•   Scale Out
         Распределение данных по нескольким серверам.
         Добавление новых серверов
•   До 2^64 документов на кластер
Дистрибутивные индексы Sphinx
•   Инструмент масштабирования кластера
•   Распределение запросов по нескольким индексам на локальных и
    удаленных нодах
•   Мерж результатов, удаление дубликатов
•   Инкрементация данных
Архитектура ноды Sphinx кластера
Архитектура Sphinx кластера
Конфигурация Sphinx кластера
•   Запрос к кластеру транслируется через Sphinx forwarder к
    конечным нодам
•   Утилизация ресурсов многодисковых и многоядерных серверов
    через настройку многопоточности searchd или нескольких нод на
    одном сервере (Sphinx nodes)
•   4 ступени инкрементации данных – Full, 3 Months, Week, Inc и
    соотв. им конечные индексы
Конфигурация Sphinx кластера
•   Схема распределения данных кластера - привязка индексируемых
    данных к списку серверов и агентов с параметрами соединения и
    конечными индексами
•   Сохранение состояния индексации для стыковки между
    ступенями инкрементации данных
•   Интерпретируемый конфигурационный файл
•   Обновление конфигурационных данных
Обновление и инкрементация данных
•   Инкрементация данных каждые 5мин, сутки, неделю, месяц для
    соотв. ступеней Inc , Week, 3 Months, Full
•   Запас места на диске для переиндексации до 50-70%
•   Перезаливка существующих данных, killlist's
•   Изменение атрибутов записей в индексах
•   Механизм очередей
•   Режим обслуживания БД MySQL с индексируемыми данными
•   Мержинг индексов вместо переиндексации
Проблемы производительности
•   Ухудшение производительности отдельной ноды сказывается на
    всем кластере
•   Нехватка пропускной способности дисков, ресурсов памяти –
    активно используется Swap, CPU (встречается реже)
Оценка производительности
avg(t):             0.32 sec
std(t):             1.08 sec
Кол-во запросов:    11828803
t — время выполнения Sphinx запроса
Оценка производительности
Оптимизация конфигурации Sphinx кластера
•   Цель – получить лучшую производительность кластера на текущих
    ресурсах
•   Уменьшение затрат на процесс индексации и сторонние задачи
    (все, что кроме searchd)
•   Выбор оптимального количества ступеней инкрементации данных
•   Оптимизация размера и количества атрибутов
•   Перебалансировка данных
Оптимизация Sphinx запросов
•   Цель – выполнить Sphinx запрос меньшими ресурсами
•   Multi-queries
•   10 web запросов – 1 Sphinx запрос
•   Автоматизация переключения запроса на индекс меньшего
    размера или на нужную ноду
Когда исчерпаны текущие ресурсы
Добавляем новые серверы, делаем балансировку - если растет кол-
во данных или используем межнодовую репликацию - если растет
кол-во запросов
Балансировка Sphinx кластера
•   Причина – ухудшение производительности
•   Ухудшение производительности отдельных нод кластера
•   Добавление новых серверов в кластер
•   Оценка объема индексируемых данных и перерасчет их
    распределения в кластере
•   Учет неравнозначности ресурсов отдельных серверов
•   Переиндексация индексов, затрагиваемых перебалансировкой
•   Целостность процесса балансировки
Дополнительные меры
•   Кеширование
•   Резервное копирование индексов Sphinx
•   Логи производительности и ошибок
•   Мониторинг, система оповещения - nagios, Zabbix
•   Автоматизация операций администрирования
•   Тестирование изменений конфигурации кластера
Перспективные Sphinx фитчи
•   RT индексы
•   Изменение атрибутов записей в индексах по условию
•   MySql – Sphinx репликация – в работе
•   Встроенная в Sphinx межнодовая репликация – в планах
Поздравляем Андрея Аксенова и его команду с
выходом книги - "Introduction to Search with Sphinx" в
              издательстве O'Reilly!
Спасибо за внимание!
      Вопросы?

     vkrukov@ivinco.com
   www.ivinco.com/services/
   www.ivinco.com/software/
    www.ivinco.com/blog/

Contenu connexe

Tendances

Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Ontico
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновOntico
 
Cергей Коржнев, 2ГИС
Cергей Коржнев, 2ГИСCергей Коржнев, 2ГИС
Cергей Коржнев, 2ГИСOntico
 
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)Ontico
 
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцКак мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцMikhail Tabunov
 
Поиск наизнанку
Поиск наизнанкуПоиск наизнанку
Поиск наизнанкуNikolay Sivko
 
Реализация бессерверного бэкенда мобильного приложения на базе AWS / Кирилл П...
Реализация бессерверного бэкенда мобильного приложения на базе AWS / Кирилл П...Реализация бессерверного бэкенда мобильного приложения на базе AWS / Кирилл П...
Реализация бессерверного бэкенда мобильного приложения на базе AWS / Кирилл П...Ontico
 
Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Ontico
 
MongoDB первые впечатления
MongoDB первые впечатленияMongoDB первые впечатления
MongoDB первые впечатленияfudz1k
 
Про аналитику и серебряные пули
Про аналитику и серебряные пулиПро аналитику и серебряные пули
Про аналитику и серебряные пулиRamblerML
 
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)Ontico
 
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...phpdevby
 
MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?Alexey Tokar
 
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...Ontico
 
MongoDB. Как готовить, с чем едят?
MongoDB. Как готовить, с чем едят?MongoDB. Как готовить, с чем едят?
MongoDB. Как готовить, с чем едят?Tim Mironov
 
Где сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearchГде сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearchИлья Середа
 
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)Ontico
 
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС2ГИС Технологии
 
ClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
ClickHouse как решение для бизнес аналитики. Дмитрий КузьминClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
ClickHouse как решение для бизнес аналитики. Дмитрий КузьминHOWWEDOIT
 

Tendances (20)

Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
Брокер сообщений Kafka в условиях повышенной нагрузки / Артём Выборнов (Rambl...
 
Обзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий НасретдиновОбзор перспективных баз данных для highload / Юрий Насретдинов
Обзор перспективных баз данных для highload / Юрий Насретдинов
 
Cергей Коржнев, 2ГИС
Cергей Коржнев, 2ГИСCергей Коржнев, 2ГИС
Cергей Коржнев, 2ГИС
 
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
 
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяцКак мы строили аналитическую платформу на несколько миллиардов событии в месяц
Как мы строили аналитическую платформу на несколько миллиардов событии в месяц
 
Поиск наизнанку
Поиск наизнанкуПоиск наизнанку
Поиск наизнанку
 
Реализация бессерверного бэкенда мобильного приложения на базе AWS / Кирилл П...
Реализация бессерверного бэкенда мобильного приложения на базе AWS / Кирилл П...Реализация бессерверного бэкенда мобильного приложения на базе AWS / Кирилл П...
Реализация бессерверного бэкенда мобильного приложения на базе AWS / Кирилл П...
 
Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)Архитектура HAWQ / Алексей Грищенко (Pivotal)
Архитектура HAWQ / Алексей Грищенко (Pivotal)
 
MongoDB первые впечатления
MongoDB первые впечатленияMongoDB первые впечатления
MongoDB первые впечатления
 
Про аналитику и серебряные пули
Про аналитику и серебряные пулиПро аналитику и серебряные пули
Про аналитику и серебряные пули
 
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)
Промышленное ускорение сайтов / Николай Мациевский (Айри.рф)
 
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...MongoDB. Области применения, преимущества и узкие места, тонкости использован...
MongoDB. Области применения, преимущества и узкие места, тонкости использован...
 
MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?MongoDB в продакшен - миф или реальность?
MongoDB в продакшен - миф или реальность?
 
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
 
MongoDB. Как готовить, с чем едят?
MongoDB. Как готовить, с чем едят?MongoDB. Как готовить, с чем едят?
MongoDB. Как готовить, с чем едят?
 
Где сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearchГде сегодня использовать ElasticSearch
Где сегодня использовать ElasticSearch
 
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
 
Mysql vs postgresql
Mysql vs postgresqlMysql vs postgresql
Mysql vs postgresql
 
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
«Дорожная сеть в графовой базе данных Neo4j» — Вадим Шашенко, 2ГИС
 
ClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
ClickHouse как решение для бизнес аналитики. Дмитрий КузьминClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
ClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
 

En vedette

Вячеслав Крюков, Ivinco
Вячеслав Крюков, IvincoВячеслав Крюков, Ivinco
Вячеслав Крюков, IvincoOntico
 
Нагруженный поиск на Sphinx
Нагруженный поиск на SphinxНагруженный поиск на Sphinx
Нагруженный поиск на SphinxRoman Pavlushko
 
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...Ontico
 
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Ontico
 
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...Ontico
 

En vedette (6)

Вячеслав Крюков, Ivinco
Вячеслав Крюков, IvincoВячеслав Крюков, Ivinco
Вячеслав Крюков, Ivinco
 
Нагруженный поиск на Sphinx
Нагруженный поиск на SphinxНагруженный поиск на Sphinx
Нагруженный поиск на Sphinx
 
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...
Что-то с памятью моей стало… Сколько стоит доступ в память, и что с этим дела...
 
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
Sphinx 3.0, поиск 15 лет спустя / Андрей Аксенов (Sphinx)
 
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
Sphinx 3.0 и RT-индексы на основном поиске Avito / Андрей Смирнов, Вячеслав К...
 
Допиливаем Sphinx на чистом C
Допиливаем Sphinx на чистом CДопиливаем Sphinx на чистом C
Допиливаем Sphinx на чистом C
 

Similaire à масштабируемый Sphinx кластер. вячеслав крюков. зал 1

Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав КрюковSphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав КрюковFuenteovejuna
 
SphinxSearch Meetup - Tips&tricks
SphinxSearch Meetup - Tips&tricksSphinxSearch Meetup - Tips&tricks
SphinxSearch Meetup - Tips&tricksRoman Pavlushko
 
Виталий Гаврилов (Ленвендо)
Виталий Гаврилов (Ленвендо)Виталий Гаврилов (Ленвендо)
Виталий Гаврилов (Ленвендо)Ontico
 
Презентация технологии веб-кластеров
Презентация технологии веб-кластеров  Презентация технологии веб-кластеров
Презентация технологии веб-кластеров 1С-Битрикс
 
Передовой опыт создания Инфраструктуры SharePoint
Передовой опыт создания  Инфраструктуры SharePointПередовой опыт создания  Инфраструктуры SharePoint
Передовой опыт создания Инфраструктуры SharePointMichael Noel
 
Cистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ruCистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ruodnoklassniki.ru
 
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...it-people
 
Frontera обход испанского интернета
Frontera обход испанского интернетаFrontera обход испанского интернета
Frontera обход испанского интернетаAlexander Sibiryakov
 
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"IT Event
 
Отказоустойчивые решения SQL
Отказоустойчивые решения SQLОтказоустойчивые решения SQL
Отказоустойчивые решения SQLAndrey Korshikov
 
Поиск наоборот: материализуем результаты поиска / Николай Сивко (okmeter.io)
Поиск наоборот: материализуем результаты поиска / Николай Сивко (okmeter.io)Поиск наоборот: материализуем результаты поиска / Николай Сивко (okmeter.io)
Поиск наоборот: материализуем результаты поиска / Николай Сивко (okmeter.io)Ontico
 
Поиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решенийПоиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решенийaragozin
 
Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)
Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)
Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)Ontico
 
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...odnoklassniki.ru
 
Lucene in odnoklassniki.ru
Lucene in odnoklassniki.ruLucene in odnoklassniki.ru
Lucene in odnoklassniki.ruDmitry Buzdin
 
Lan-Crawler Bachlor RU
Lan-Crawler Bachlor RULan-Crawler Bachlor RU
Lan-Crawler Bachlor RUcDima
 
Web весна 2012 лекция 6
Web весна 2012 лекция 6Web весна 2012 лекция 6
Web весна 2012 лекция 6Technopark
 
Архитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахАрхитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахDmitry Buzdin
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Tanya Denisyuk
 

Similaire à масштабируемый Sphinx кластер. вячеслав крюков. зал 1 (20)

Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав КрюковSphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
Sphinx для высоко-нагруженных и масштабируемых проектов, Вячеслав Крюков
 
SphinxSearch Meetup - Tips&tricks
SphinxSearch Meetup - Tips&tricksSphinxSearch Meetup - Tips&tricks
SphinxSearch Meetup - Tips&tricks
 
Виталий Гаврилов (Ленвендо)
Виталий Гаврилов (Ленвендо)Виталий Гаврилов (Ленвендо)
Виталий Гаврилов (Ленвендо)
 
Презентация технологии веб-кластеров
Презентация технологии веб-кластеров  Презентация технологии веб-кластеров
Презентация технологии веб-кластеров
 
Передовой опыт создания Инфраструктуры SharePoint
Передовой опыт создания  Инфраструктуры SharePointПередовой опыт создания  Инфраструктуры SharePoint
Передовой опыт создания Инфраструктуры SharePoint
 
Cистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ruCистема внутренней статистики Odnoklassniki.ru
Cистема внутренней статистики Odnoklassniki.ru
 
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
Frontera: распределенный робот для обхода интернета в больших объемах - Алекс...
 
Frontera обход испанского интернета
Frontera обход испанского интернетаFrontera обход испанского интернета
Frontera обход испанского интернета
 
Веб-кластер
Веб-кластерВеб-кластер
Веб-кластер
 
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
Андрей Зайчиков "Архитектура распределенных кластеров NoSQL на AWS"
 
Отказоустойчивые решения SQL
Отказоустойчивые решения SQLОтказоустойчивые решения SQL
Отказоустойчивые решения SQL
 
Поиск наоборот: материализуем результаты поиска / Николай Сивко (okmeter.io)
Поиск наоборот: материализуем результаты поиска / Николай Сивко (okmeter.io)Поиск наоборот: материализуем результаты поиска / Николай Сивко (okmeter.io)
Поиск наоборот: материализуем результаты поиска / Николай Сивко (okmeter.io)
 
Поиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решенийПоиск на своем сайте, обзор open source решений
Поиск на своем сайте, обзор open source решений
 
Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)
Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)
Поиск на своем сайте, обзор Open source решений (Алексей Рагозин)
 
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
Как, используя Lucene, построить высоконагруженную систему поиска разнородных...
 
Lucene in odnoklassniki.ru
Lucene in odnoklassniki.ruLucene in odnoklassniki.ru
Lucene in odnoklassniki.ru
 
Lan-Crawler Bachlor RU
Lan-Crawler Bachlor RULan-Crawler Bachlor RU
Lan-Crawler Bachlor RU
 
Web весна 2012 лекция 6
Web весна 2012 лекция 6Web весна 2012 лекция 6
Web весна 2012 лекция 6
 
Архитектура Ленты на Одноклассниках
Архитектура Ленты на ОдноклассникахАрхитектура Ленты на Одноклассниках
Архитектура Ленты на Одноклассниках
 
Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"Вадим Мадисон "Опыт разработки через микросервисы"
Вадим Мадисон "Опыт разработки через микросервисы"
 

Plus de rit2011

классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2rit2011
 
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2rit2011
 
как объяснить заказчику, что он не прав. денис тучин. зал 3
как объяснить заказчику, что он не прав. денис тучин. зал 3как объяснить заказчику, что он не прав. денис тучин. зал 3
как объяснить заказчику, что он не прав. денис тучин. зал 3rit2011
 
классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2rit2011
 
Kpi разработчика vs kpi разработки. евгения фирсова. зал 1
Kpi разработчика vs kpi разработки. евгения фирсова. зал 1Kpi разработчика vs kpi разработки. евгения фирсова. зал 1
Kpi разработчика vs kpi разработки. евгения фирсова. зал 1rit2011
 
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....rit2011
 
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....rit2011
 
что и почему вы должны программировать на Erlang.максим лапшин. зал 4
что и почему вы должны программировать на Erlang.максим лапшин. зал 4что и почему вы должны программировать на Erlang.максим лапшин. зал 4
что и почему вы должны программировать на Erlang.максим лапшин. зал 4rit2011
 
I pv6 малоизвестные подробности. андрей пантюхин. зал 2
I pv6   малоизвестные подробности. андрей пантюхин. зал 2I pv6   малоизвестные подробности. андрей пантюхин. зал 2
I pv6 малоизвестные подробности. андрей пантюхин. зал 2rit2011
 
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4rit2011
 
как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4rit2011
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...rit2011
 
выращиваем интерфейс своими руками. ольга павлова. зал 3
выращиваем интерфейс своими руками. ольга павлова. зал 3выращиваем интерфейс своими руками. ольга павлова. зал 3
выращиваем интерфейс своими руками. ольга павлова. зал 3rit2011
 
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2rit2011
 
от Flash к html5. александр бацуев. зал 4
от Flash к html5. александр бацуев. зал 4от Flash к html5. александр бацуев. зал 4
от Flash к html5. александр бацуев. зал 4rit2011
 
Ie9 и ie10. алекс могилевский. зал 2
Ie9 и ie10. алекс могилевский. зал 2Ie9 и ie10. алекс могилевский. зал 2
Ie9 и ie10. алекс могилевский. зал 2rit2011
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...rit2011
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...rit2011
 
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...rit2011
 
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2rit2011
 

Plus de rit2011 (20)

классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2
 
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
Chef. кто на кухне хозяин. концепция devops. а,титов. зал 2
 
как объяснить заказчику, что он не прав. денис тучин. зал 3
как объяснить заказчику, что он не прав. денис тучин. зал 3как объяснить заказчику, что он не прав. денис тучин. зал 3
как объяснить заказчику, что он не прав. денис тучин. зал 3
 
классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2классификация Ddos. александр лямин, артем гавриченков. зал 2
классификация Ddos. александр лямин, артем гавриченков. зал 2
 
Kpi разработчика vs kpi разработки. евгения фирсова. зал 1
Kpi разработчика vs kpi разработки. евгения фирсова. зал 1Kpi разработчика vs kpi разработки. евгения фирсова. зал 1
Kpi разработчика vs kpi разработки. евгения фирсова. зал 1
 
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
 
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
ускорение Front end разработки с помощью haml, sass и compass. андрей ситник....
 
что и почему вы должны программировать на Erlang.максим лапшин. зал 4
что и почему вы должны программировать на Erlang.максим лапшин. зал 4что и почему вы должны программировать на Erlang.максим лапшин. зал 4
что и почему вы должны программировать на Erlang.максим лапшин. зал 4
 
I pv6 малоизвестные подробности. андрей пантюхин. зал 2
I pv6   малоизвестные подробности. андрей пантюхин. зал 2I pv6   малоизвестные подробности. андрей пантюхин. зал 2
I pv6 малоизвестные подробности. андрей пантюхин. зал 2
 
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
 
как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4как стать хорошим веб технологом. нарек мкртчян. зал 4
как стать хорошим веб технологом. нарек мкртчян. зал 4
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
 
выращиваем интерфейс своими руками. ольга павлова. зал 3
выращиваем интерфейс своими руками. ольга павлова. зал 3выращиваем интерфейс своими руками. ольга павлова. зал 3
выращиваем интерфейс своими руками. ольга павлова. зал 3
 
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
распределенное файловое хранилище (Nginx, zfs, perl). перепелица мамонтов. зал 2
 
от Flash к html5. александр бацуев. зал 4
от Flash к html5. александр бацуев. зал 4от Flash к html5. александр бацуев. зал 4
от Flash к html5. александр бацуев. зал 4
 
Ie9 и ie10. алекс могилевский. зал 2
Ie9 и ie10. алекс могилевский. зал 2Ie9 и ie10. алекс могилевский. зал 2
Ie9 и ie10. алекс могилевский. зал 2
 
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
сотни серверов, десятки компонент. автоматизация раскладки и конфигурирования...
 
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
полмиллиона юзеров в онлайне без падений оптимизация высоконагруженной Server...
 
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
рисуем тз. эффективный способ коммуникации в веб проектах. артем вольфтруб. з...
 
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
типология личности и прогноз отношений по а. афанасьеву. сергей котырев. зал 2
 

масштабируемый Sphinx кластер. вячеслав крюков. зал 1

  • 1. Масштабируемый Sphinx кластер Вячеслав Крюков Ivinco.com
  • 2. Sphinx кластер для проекта BoardReader.COM • Поисковый сервис по форумам, социальным сетям и медиа данным • Более 30 серверов • Более 15 млрд. проиндексированных документов • Более 5 TB данных в индексах (постов форумов и блогов, новостей, изображений, ссылок) • Более 10 млн. запросов в сутки, в пике 500 тыс. запросов в час
  • 3. Масштабируемость Sphinx кластера • Scale Up Распределение данных по нескольким инстансам searchd (нодам) на одном сервере. Апгрейд сервера • Scale Out Распределение данных по нескольким серверам. Добавление новых серверов • До 2^64 документов на кластер
  • 4. Дистрибутивные индексы Sphinx • Инструмент масштабирования кластера • Распределение запросов по нескольким индексам на локальных и удаленных нодах • Мерж результатов, удаление дубликатов • Инкрементация данных
  • 7. Конфигурация Sphinx кластера • Запрос к кластеру транслируется через Sphinx forwarder к конечным нодам • Утилизация ресурсов многодисковых и многоядерных серверов через настройку многопоточности searchd или нескольких нод на одном сервере (Sphinx nodes) • 4 ступени инкрементации данных – Full, 3 Months, Week, Inc и соотв. им конечные индексы
  • 8. Конфигурация Sphinx кластера • Схема распределения данных кластера - привязка индексируемых данных к списку серверов и агентов с параметрами соединения и конечными индексами • Сохранение состояния индексации для стыковки между ступенями инкрементации данных • Интерпретируемый конфигурационный файл • Обновление конфигурационных данных
  • 9. Обновление и инкрементация данных • Инкрементация данных каждые 5мин, сутки, неделю, месяц для соотв. ступеней Inc , Week, 3 Months, Full • Запас места на диске для переиндексации до 50-70% • Перезаливка существующих данных, killlist's • Изменение атрибутов записей в индексах • Механизм очередей • Режим обслуживания БД MySQL с индексируемыми данными • Мержинг индексов вместо переиндексации
  • 10. Проблемы производительности • Ухудшение производительности отдельной ноды сказывается на всем кластере • Нехватка пропускной способности дисков, ресурсов памяти – активно используется Swap, CPU (встречается реже)
  • 11. Оценка производительности avg(t): 0.32 sec std(t): 1.08 sec Кол-во запросов: 11828803 t — время выполнения Sphinx запроса
  • 13. Оптимизация конфигурации Sphinx кластера • Цель – получить лучшую производительность кластера на текущих ресурсах • Уменьшение затрат на процесс индексации и сторонние задачи (все, что кроме searchd) • Выбор оптимального количества ступеней инкрементации данных • Оптимизация размера и количества атрибутов • Перебалансировка данных
  • 14. Оптимизация Sphinx запросов • Цель – выполнить Sphinx запрос меньшими ресурсами • Multi-queries • 10 web запросов – 1 Sphinx запрос • Автоматизация переключения запроса на индекс меньшего размера или на нужную ноду
  • 15. Когда исчерпаны текущие ресурсы Добавляем новые серверы, делаем балансировку - если растет кол- во данных или используем межнодовую репликацию - если растет кол-во запросов
  • 16. Балансировка Sphinx кластера • Причина – ухудшение производительности • Ухудшение производительности отдельных нод кластера • Добавление новых серверов в кластер • Оценка объема индексируемых данных и перерасчет их распределения в кластере • Учет неравнозначности ресурсов отдельных серверов • Переиндексация индексов, затрагиваемых перебалансировкой • Целостность процесса балансировки
  • 17. Дополнительные меры • Кеширование • Резервное копирование индексов Sphinx • Логи производительности и ошибок • Мониторинг, система оповещения - nagios, Zabbix • Автоматизация операций администрирования • Тестирование изменений конфигурации кластера
  • 18. Перспективные Sphinx фитчи • RT индексы • Изменение атрибутов записей в индексах по условию • MySql – Sphinx репликация – в работе • Встроенная в Sphinx межнодовая репликация – в планах
  • 19. Поздравляем Андрея Аксенова и его команду с выходом книги - "Introduction to Search with Sphinx" в издательстве O'Reilly!
  • 20. Спасибо за внимание! Вопросы? vkrukov@ivinco.com www.ivinco.com/services/ www.ivinco.com/software/ www.ivinco.com/blog/