Openstack Swift у 
высоконагруженного 
провайдера 
Николай Двас, Webzilla
О чем этот доклад 
• О том, ЧТО мы сделали, чтобы мы 
сделали, чтобы получить работающий 
сервис. 
• О том, что мы узнали про его 
эксплуатацию.
Устройство доклада 
1. Зачем нужно хранилище; 
2. Как устроен Openstack Swift; 
3. Как его устройство ложится на цели; 
4. Что пришлось сделать, чтобы наше 
желания лучше совпадали с нашими 
возможностями.
Кто я? 
• Менеджер 
продукта 
• Забираю счастье у 
разработчиков и 
раздаю его 
клиентам.
Кто мы? 
> 1000 
международных 
клиентов 
1.5 Тбитсек 
пропускной cпособности 
> 1000 
используемых 
серверных 
стоек 
7 
Tier 1 провайдеров 
13 
точек присутствия 
5 
дата-центров 
700+ Гбитсек 
трафика 
> 18’000 
серверов 
> 1000 
частных стыков с 
партнерами
Зачем нам хранилище? 
• Источник данных для CDN; 
• Бэкапы: сервис и инфраструктура; 
• Раздача статики без CDN; 
• Непредсказуемые клиентские задачи.
Текущая нагрузка 
• Петабайты данных хранения 
• > 50 Гбит/сек трафик (не включая 
CDN) 
• 30% данных в репликации 
• Резервное копирование тысяч 
серверов
CDN origin
CDN origin 
• Продавая CDN, мы продаем скорость и 
беспроблемность; 
• Для глобального CDN важно не только 
распределенное кеширование, но и 
распределенное хранение; 
• Мы берем на себя ответственность – 
значит, нам нужен контроль.
CDN origin 
• Репликация данных между очень 
удаленными хранилищами; 
• Удобные инструменты управления 
контентом; 
• Защита от хотлинкинга; 
• Надо быть готовым к псевдостримингу.
Раздача статики 
Copyright by http://flickr.com/olly247, 
Creative Commons CC-BY-SA LICENSE
Раздача статики 
• CDN нет, а горячий контент все равно есть 
– было бы глупо его не кешировать; 
• Есть понятный субститут – «собственный 
сервер с дисковой полкой и nginx». Надо 
быть не только лучше, но и не дороже;
Резервное копирование 
Copyright by http://flickr.com/smemon, 
Creative Commons CC-BY LICENSE
Резервное копирование 
• Надо принимать много данных 
одновременно; 
• Надо иметь хороший инструмент для 
резервного копирования; 
• Защита от «опытного пользователя»;
Достоинства Swift 
• Хороший популярный API, много 
разработчиков; 
• Горизонтальная масштабируемость; 
• Все заявленные функции работают.
Недостатки Swift 
• Никакого кеширования; 
• Управление работает там же, где могут 
оказаться высокие нагрузки; 
• Многие возможности не тестируются на 
нагрузках: разрабатывается «на 
ноутбуках»;
Обзор архитектуры Swift
Имплементация в Webzilla
Партиции 
• Их число фиксируется при создании 
кольца; 
• Может быть степенью двойки; 
• Рекомендация: 100 – 1000 партиций на 
диск (минимизация загрузки CPU) 
• Вывод: рост возможен в 5-10 раз.
Расширяемость 
• Рост в 5-10 раз по количеству дисков; 
• Рост – не очень быстрый (добавление сотни 
Тб в работающий под нагрузкой сегмент 
может занять пару недель) – надо 
заниматься наращиванием заранее.
Реакция на отказ железа 
• Если потерять зону, производительность 
части запросов падает; если потерять две, 
она падает еще сильнее. 
• Перестроение кольца – снижает падение 
производительности, но не может делаться 
слишком часто.
Реакция на отказ железа 
Среднее 95 перцениль 
Операций в секунду (чтение) 100/88/65 48/38/9 
Операций в секунду (запись) 100/76/36 24/18/7 
Среднее Число интервалов с более 
чем 0.05% неуспеха 
Неуспешное чтение, % 0/0/0.03 0/0/45% 
Неуспешная запись, % 0/0/0.04 0/0/63% 
5 зон / 4 зоны / 5 зон и ребалансировка при потере одной зоны 
При ребалансировке все запросы обслужатся в 3 раза медленнее. 
Без нее, 20% запросов обслужатся медленнее (настраиваемо)
Архитектурные странности
SQLite 
• Используется для хранения данных о контейнерах и 
аккаунтах; 
• Дергается каждый раз, когда надо что-то посмотреть 
про объект – получаем Highload SQLite  
• SSD позволяет работать с 100 млн. объектов в одной 
сущности (коллеги с SATA жаловались на проблемы 
начиная с 1 млн); 
• Наш опыт: на 1 Пб данных – 1 Тб метаданных точно 
хватает;
Сети 
• Трафик репликации и клиентский трафик живут в 
одной сети; 
• Защита от race condition (записали в одно место из 
трех, попытались прочитать из другого – ничего не 
получилось) сделана методом безусловного чтения из 
двух мест. Это двойной трафик; 
• С первым – смириться, от второго – отказаться.
Синхронизация
Синхронизация 
• Синхронизация между контейнерами осуществляется 
в один поток на всю инсталляцию; 
• Пришлось переписать и сделать ее многопоточной; 
• А потом еще добавить мониторинг задержки 
синхронизации (посредством большого количества 
запросов к API Swift – небыстро, но терпимо);
Синхронизация
Раздача статики vs. заливка бэкапов 
• Веб-сервер (swift-proxy) высоко нагружены и GET- 
ами, и PUT-ами (к счастью, не совсем одновременно); 
• Есть еще CDN, про который мы уже предполагаем, 
что он решил задачу кеширования оптимально; его 
запросы кешировать не надо.
Раздача статики vs. заливка бэкапов
Инвалидация кеша 
• Ненужный кеш 
инвалидируется сам по себе 
• Можно избавиться от возни 
с purge API
Инструменты
FTP 
• FTP очень любят клиенты. А мы любим клиентов. 
Кажется, любовь нетранзитивна; 
• ftp-cloudfs – живой, развивающийся проект; 
• Пришлось добавить удаление больших объектов, их 
переименование, и возможность «прятать» файлы 
частей от пользователя; 
• Заставить отработать ls в контейнере с 3 млн. файлов, 
кажется, нельзя – но удалось заставить не падать.
Резервное копирование
Резервное копирование: duplicity 
• Если индексный файл больше 5 Гб – надо 
использовать FTP; 
• «Размер тома» имеет значение: чем он меньше, тем 
больше overhead на создании, и тем быстрее 
восстановление.
Что мы получили 
• Swift можно успешно использовать для всех целей, 
для которых мы хотели – для раздачи статики с и без 
CDN, и для бэкапов; 
• Сервису год, и доработка не собирается 
останавливаться;
Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов, Николай Двас (Webzilla)

More Related Content

PPTX
Тестируем производительность распределённых систем, Александр Киров (Parallels)
PDF
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
PPTX
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
PDF
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
PPTX
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
PDF
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
PDF
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
PDF
My talk on LeoFS, Highload++ 2014
Тестируем производительность распределённых систем, Александр Киров (Parallels)
PostgreSQL - Ups, DevOps..., Алексей Лесовский (PostgreSQL-Consulting)
smart balancing with nginx+lua / Андрей Кононов (IPONWEB)
Асинхронная репликация без цензуры, Олег Царёв (Mail.ru Group)
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Эволюция процесса деплоя в проекте / Денис Яковлев (2ГИС)
My talk on LeoFS, Highload++ 2014

What's hot (20)

PDF
My talk at Highload++ 2015
PPTX
Денис Иванов
PPTX
Организация надежного резервного копирования веб-проекта. Практика и подводны...
PDF
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
PPTX
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
PPTX
Why we did not choose Hadoop
PPTX
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
PDF
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
PPTX
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
PPTX
обзор архитектуры и подсистем деплоя и мониторинга
PPTX
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
PPTX
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
PDF
Облако в Badoo год спустя
PDF
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
PDF
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
PDF
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
PDF
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
PDF
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
PPTX
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
PPTX
Спасение 6 миллионов файлов в условиях полного Хецнера
My talk at Highload++ 2015
Денис Иванов
Организация надежного резервного копирования веб-проекта. Практика и подводны...
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
Why we did not choose Hadoop
Дизайн REST API для высокопроизводительных систем / Александр Лебедев (Новые ...
Android Cloud... точнее Cloud из Android / Охрименко Алексей (Acronis)
Мониторинг в высоконагруженных (и не только) проектах: сравнительный анализ с...
обзор архитектуры и подсистем деплоя и мониторинга
MyRocks Табличный Движок для MySQL / Алексей Майков (Facebook) / Сергей Петру...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Облако в Badoo год спустя
NoSQL - коротко о главном / Сергей Туленцев (TextMaster)
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
RTB DSP на языке Go укрощение buzzwords / Даниил Подольский (Qmobi.Com)
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Docker в работе: взгляд на его использование в Badoo через год / Турецкий Ант...
Спасение 6 миллионов файлов в условиях полного Хецнера
Ad

Similar to Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов, Николай Двас (Webzilla) (20)

PPTX
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
PDF
PDF
High load2007 scaling-web-applications-rus
PPTX
Практический опыт использования некоторых современных решений репликации MySQL
PPTX
Построение аналитического хранилища на 100 петабайт
PPTX
Errors Tracker
PDF
владивосток форум производительность_ha
PPTX
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
PPTX
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
PDF
Не все базы данных одинаково полезны
PDF
Распространенные ошибки применения баз данных (Сергей Аверин)
PDF
Распространенные ошибки применения баз данных
PDF
Выступление Сергея Аверина, Badoo, на High Performance Conference
PDF
Не все базы данных одинаково полезны
PPT
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
PDF
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
PDF
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
PDF
Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...
PDF
Распространенные ошибки применения баз данных (Сергей Аверин)
PDF
Распространенные ошибки применения баз данных
Гетерогенные сервисы для highload-проектов на примере Imhonet.ru и 4talk.im, ...
High load2007 scaling-web-applications-rus
Практический опыт использования некоторых современных решений репликации MySQL
Построение аналитического хранилища на 100 петабайт
Errors Tracker
владивосток форум производительность_ha
Как мы строили Jelastic - облачную платформу (PaaS) нового поколения (Дмитрий...
Спасение 6 млн файлов в условиях полного хецнера (Даниил Подольский, Дмитрий ...
Не все базы данных одинаково полезны
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных
Выступление Сергея Аверина, Badoo, на High Performance Conference
Не все базы данных одинаково полезны
DevConf2013: Особенности применения WebSocket на примере работы в ERP системе.
Доклад Сергея Аверина на DevConf 2013. "Распространенные ошибки применения ба...
"How to build powerful CI / CD based on GitLab and Docker", Aleksandr Matkovs...
Java/Scala Lab: Владимир Илюшенко - Jelastic PaaS v2.5 Capabilities and Benef...
Распространенные ошибки применения баз данных (Сергей Аверин)
Распространенные ошибки применения баз данных
Ad

More from Ontico (20)

PDF
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
PDF
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
PPTX
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
PDF
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
PDF
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PDF
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
PDF
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
PDF
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
PPTX
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
PPTX
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
PDF
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
PPTX
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
PPTX
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
PDF
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
PPT
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
PPTX
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
PPTX
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
PPTX
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
PPTX
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
PDF
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
Масштабируя DNS / Артем Гавриченков (Qrator Labs)
Создание BigData-платформы для ФГУП Почта России / Андрей Бащенко (Luxoft)
Готовим тестовое окружение, или сколько тестовых инстансов вам нужно / Алекса...
Новые технологии репликации данных в PostgreSQL / Александр Алексеев (Postgre...
PostgreSQL Configuration for Humans / Alvaro Hernandez (OnGres)
Inexpensive Datamasking for MySQL with ProxySQL — Data Anonymization for Deve...
Опыт разработки модуля межсетевого экранирования для MySQL / Олег Брославский...
ProxySQL Use Case Scenarios / Alkin Tezuysal (Percona)
MySQL Replication — Advanced Features / Петр Зайцев (Percona)
Внутренний open-source. Как разрабатывать мобильное приложение большим количе...
Подробно о том, как Causal Consistency реализовано в MongoDB / Михаил Тюленев...
Балансировка на скорости проводов. Без ASIC, без ограничений. Решения NFWare ...
Перехват трафика — мифы и реальность / Евгений Усков (Qrator Labs)
И тогда наверняка вдруг запляшут облака! / Алексей Сушков (ПЕТЕР-СЕРВИС)
Как мы заставили Druid работать в Одноклассниках / Юрий Невиницин (OK.RU)
Разгоняем ASP.NET Core / Илья Вербицкий (WebStoating s.r.o.)
100500 способов кэширования в Oracle Database или как достичь максимальной ск...
Apache Ignite Persistence: зачем Persistence для In-Memory, и как он работает...
Механизмы мониторинга баз данных: взгляд изнутри / Дмитрий Еманов (Firebird P...

Как превратить Openstack Swift в хранилище для высоких нагрузок разных типов, Николай Двас (Webzilla)

  • 1. Openstack Swift у высоконагруженного провайдера Николай Двас, Webzilla
  • 2. О чем этот доклад • О том, ЧТО мы сделали, чтобы мы сделали, чтобы получить работающий сервис. • О том, что мы узнали про его эксплуатацию.
  • 3. Устройство доклада 1. Зачем нужно хранилище; 2. Как устроен Openstack Swift; 3. Как его устройство ложится на цели; 4. Что пришлось сделать, чтобы наше желания лучше совпадали с нашими возможностями.
  • 4. Кто я? • Менеджер продукта • Забираю счастье у разработчиков и раздаю его клиентам.
  • 5. Кто мы? > 1000 международных клиентов 1.5 Тбитсек пропускной cпособности > 1000 используемых серверных стоек 7 Tier 1 провайдеров 13 точек присутствия 5 дата-центров 700+ Гбитсек трафика > 18’000 серверов > 1000 частных стыков с партнерами
  • 6. Зачем нам хранилище? • Источник данных для CDN; • Бэкапы: сервис и инфраструктура; • Раздача статики без CDN; • Непредсказуемые клиентские задачи.
  • 7. Текущая нагрузка • Петабайты данных хранения • > 50 Гбит/сек трафик (не включая CDN) • 30% данных в репликации • Резервное копирование тысяч серверов
  • 9. CDN origin • Продавая CDN, мы продаем скорость и беспроблемность; • Для глобального CDN важно не только распределенное кеширование, но и распределенное хранение; • Мы берем на себя ответственность – значит, нам нужен контроль.
  • 10. CDN origin • Репликация данных между очень удаленными хранилищами; • Удобные инструменты управления контентом; • Защита от хотлинкинга; • Надо быть готовым к псевдостримингу.
  • 11. Раздача статики Copyright by http://flickr.com/olly247, Creative Commons CC-BY-SA LICENSE
  • 12. Раздача статики • CDN нет, а горячий контент все равно есть – было бы глупо его не кешировать; • Есть понятный субститут – «собственный сервер с дисковой полкой и nginx». Надо быть не только лучше, но и не дороже;
  • 13. Резервное копирование Copyright by http://flickr.com/smemon, Creative Commons CC-BY LICENSE
  • 14. Резервное копирование • Надо принимать много данных одновременно; • Надо иметь хороший инструмент для резервного копирования; • Защита от «опытного пользователя»;
  • 15. Достоинства Swift • Хороший популярный API, много разработчиков; • Горизонтальная масштабируемость; • Все заявленные функции работают.
  • 16. Недостатки Swift • Никакого кеширования; • Управление работает там же, где могут оказаться высокие нагрузки; • Многие возможности не тестируются на нагрузках: разрабатывается «на ноутбуках»;
  • 19. Партиции • Их число фиксируется при создании кольца; • Может быть степенью двойки; • Рекомендация: 100 – 1000 партиций на диск (минимизация загрузки CPU) • Вывод: рост возможен в 5-10 раз.
  • 20. Расширяемость • Рост в 5-10 раз по количеству дисков; • Рост – не очень быстрый (добавление сотни Тб в работающий под нагрузкой сегмент может занять пару недель) – надо заниматься наращиванием заранее.
  • 21. Реакция на отказ железа • Если потерять зону, производительность части запросов падает; если потерять две, она падает еще сильнее. • Перестроение кольца – снижает падение производительности, но не может делаться слишком часто.
  • 22. Реакция на отказ железа Среднее 95 перцениль Операций в секунду (чтение) 100/88/65 48/38/9 Операций в секунду (запись) 100/76/36 24/18/7 Среднее Число интервалов с более чем 0.05% неуспеха Неуспешное чтение, % 0/0/0.03 0/0/45% Неуспешная запись, % 0/0/0.04 0/0/63% 5 зон / 4 зоны / 5 зон и ребалансировка при потере одной зоны При ребалансировке все запросы обслужатся в 3 раза медленнее. Без нее, 20% запросов обслужатся медленнее (настраиваемо)
  • 24. SQLite • Используется для хранения данных о контейнерах и аккаунтах; • Дергается каждый раз, когда надо что-то посмотреть про объект – получаем Highload SQLite  • SSD позволяет работать с 100 млн. объектов в одной сущности (коллеги с SATA жаловались на проблемы начиная с 1 млн); • Наш опыт: на 1 Пб данных – 1 Тб метаданных точно хватает;
  • 25. Сети • Трафик репликации и клиентский трафик живут в одной сети; • Защита от race condition (записали в одно место из трех, попытались прочитать из другого – ничего не получилось) сделана методом безусловного чтения из двух мест. Это двойной трафик; • С первым – смириться, от второго – отказаться.
  • 27. Синхронизация • Синхронизация между контейнерами осуществляется в один поток на всю инсталляцию; • Пришлось переписать и сделать ее многопоточной; • А потом еще добавить мониторинг задержки синхронизации (посредством большого количества запросов к API Swift – небыстро, но терпимо);
  • 29. Раздача статики vs. заливка бэкапов • Веб-сервер (swift-proxy) высоко нагружены и GET- ами, и PUT-ами (к счастью, не совсем одновременно); • Есть еще CDN, про который мы уже предполагаем, что он решил задачу кеширования оптимально; его запросы кешировать не надо.
  • 30. Раздача статики vs. заливка бэкапов
  • 31. Инвалидация кеша • Ненужный кеш инвалидируется сам по себе • Можно избавиться от возни с purge API
  • 33. FTP • FTP очень любят клиенты. А мы любим клиентов. Кажется, любовь нетранзитивна; • ftp-cloudfs – живой, развивающийся проект; • Пришлось добавить удаление больших объектов, их переименование, и возможность «прятать» файлы частей от пользователя; • Заставить отработать ls в контейнере с 3 млн. файлов, кажется, нельзя – но удалось заставить не падать.
  • 35. Резервное копирование: duplicity • Если индексный файл больше 5 Гб – надо использовать FTP; • «Размер тома» имеет значение: чем он меньше, тем больше overhead на создании, и тем быстрее восстановление.
  • 36. Что мы получили • Swift можно успешно использовать для всех целей, для которых мы хотели – для раздачи статики с и без CDN, и для бэкапов; • Сервису год, и доработка не собирается останавливаться;

Editor's Notes

  • #18: - Три кольца (аккаунты, контейнеры, объекты) - Объекты размазаны по кольцу как придется; копии, зоны, диски - Партиция и ее смысл -
  • #19: - Три кольца (аккаунты, контейнеры, объекты) - Объекты размазаны по кольцу как придется; копии, зоны, диски - Партиция и ее смысл -
  • #20: - Три кольца (аккаунты, контейнеры, объекты) - Объекты размазаны по кольцу как придется; копии, зоны, диски - Партиция и ее смысл -
  • #21: - Три кольца (аккаунты, контейнеры, объекты) - Объекты размазаны по кольцу как придется; копии, зоны, диски - Партиция и ее смысл -
  • #22: - Три кольца (аккаунты, контейнеры, объекты) - Объекты размазаны по кольцу как придется; копии, зоны, диски - Партиция и ее смысл -