SlideShare una empresa de Scribd logo
1 de 42
Тестируем
производительность
распределенных систем
хранения данных
Киров Александр
Parallels
О себе
5+ лет в Parallels
Деятельность:
• Анализ производительности Parallels Plesk Panel
• Анализ производительности серверной виртуализации
• Program manager Parallels Cloud Storage
Чем важен доклад
• Что тестировать и как? (консистентность, производительность)
• На что нужно обращать внимание в первую очередь?
• Как обойти множество подводных камней при тестировании?
• Раздаем утилиты для тестирования
Мы знаем о хранении данных
Диски подключенные в кластер
Индивидуальные диски
1TB
1TB
1TB
3TB
Parallels Cloud Storage
Высокая производительность
• Автоматическая балансировка данных
• Out-of-the-box SSD-кеширование
Масштабируемость
• Легко расширяется, автоматически
масштабируется, реорганизует кластер про
добавлении новых дисков/серверов
Отказоустойчивость
• Автоматически управляет отказоустойчивостью
и восстановлением
• Прозрачная репликация данных
File:
101110
011001
101100
File:
000111
010101
101010
File:
111000
011101
001010
Как тестировать?
Определиться что хотим получить
• Понять какая предполагается нагрузка на систему
• Что и сколько хотим получить от системы
Позволяет:
• Понять что действительно важно, а что нет
• Числено определить требования (IOPS, MB/s, ms)
• Понять характер нагрузки, основные сценарии
• Сколько машин работает с хранилищем
Различия сценариев
Файловый
сервер
VPS хостинг
VPS кластер
=VM
Не используйте хорошо сжимаемые
шаблоны данных
dd if=/dev/urandom of=/tmp/rnd_f size=1M
dd if=/tmp/rnd_f of=/dev/sda size=1M oflag=direct
Правильно:
dd if=/dev/zero of=/dev/sda size=1M
Самый популярный неправильный тест:
dd if=/dev/urandom of=/dev/sda size=1M
Улучшенный вариант, но по-прежнему неправильный :
Используйте большой working set
Пример плохого теста: iozone имеет маленький working set, поэтому
меряет память
Пример как working-set влияет на результат:
Random 4K write на Adaptec RAID 71605 (12 SSD) при различном working
set:
Working set Random 4K write
512 MB 100’000 IOPS
2048 MB 3’000 IOPS
Кстати, о RAID - контроллерах
Model Seq. write
LSI MegaRAID 2008M-8i 298 MB/s
MegaRAID 9271CV-8i 834 MB/s
Производительность одного диска:
Model Seq. write
LSI MegaRAID 2008M-8i 118 MB/s
MegaRAID 9271CV-8i 134 MB/s
RAID-контроллеры иногда показывают удивительные вещи, если нагружать
все диски параллельно (Sum Total Throughput across all 6 devices:)
Не пренебрегайте статистикой
• Отведите не меньше минуты на проведение теста
• Лучше – дольше
• Проводите один тест несколько раз, чтобы сгладить отклонения
• Делайте паузу между тестами
Убедитесь, что сравнение честное
Всегда сравнивать только «Яблоки с Яблоками»:
• Одинаковое железо
• Одинаковая нагрузка
• Одинаковый уровень отказоустойчивости
Тестируем Sync()
• Write() и Read() – это не все операции
над блочным хранилищем
• Необходимо тестировать sync()
• Операции sync() и fdatasync() требуют
записи данных из кешей на диск
User application
write(),read(),…
Kernel buffer
RAID cache
disk cache
disk
File:
101110
011001
101100
User
Kernel
HW
Kernel
Масштабируемость Sync()/flush
Тип Входящих дисков Кол-во Sync() / сек
1 disk 1
RAID 1 N
RAID 0 N
RAID 10 N
RAID 5/6 N
Во сколько раз массив из дисков способен сделать больше операций
sync()/flush по сравнению с одним диском?
Данные должны быть сброшены на каждом диске!
Скорость одного диска
Скорость одного диска
Скорость одного диска
Скорость одного диска
Скорость одного диска
Sync() в распределенной системе
File:
101110
011001
101100
Kernel
HW
Результат тестирования
*Parallels Cloud Storage 6.0: pstorage-5.0.1-440 ; OnApp Cloud 3.0: onapp-store-install-3.0.0-24, onapp-cp-install-3.0.0-20
Cluster: 7 nodes, 14 HDD, 1 Gbit
Как тестируем?
IO workloads:
• Sequential read of 16MB block
• Sequential write of 16MB block
• Random read of 4KB block
• Random write of 4KB block + sync
• Random write of 32x 4KB block + sync
Масштабируемость:
• 1, 10, 21 физических серверов в кластере
• 1, 4, 16 IO workloads на каждом сервере
At_io_iops
at_io_iops --read --rand -s 4K --iops -p 4 -t 60 -u 16G -S -f
/pstorage/<cluster_name>/<benchmark_dir>
• Умеет покрывать все необходимые сценарии
• Правильно подготавливает данные для теста
• Удобная настройка working set, потоков, нагружаемых файлов
• Умеет тестирвать sync
• Умеет aio/dio, cached/uncached
• Через опцию “-vvv” пишет все вызовы
Результаты: Read Performance
HW: Core i5 2400, 16 GB RAM, HDD 2x2TB SATA, Intel 82574L 1Gbit, Cisco Catalyst 2960
Результаты: Write Performance
HW: Core i5 2400, 16 GB RAM, HDD 2x2TB SATA, Intel 82574L 1Gbit, Cisco Catalyst 2960
Раздатка
Скачать методологию: Скачать at_io_iops:
http://goo.gl/aWAiVZhttp://goo.gl/dIuxLI
Консистентность
Консистентность
• Строгая консистентность (англ. strict consistency) гарантировано
возвращает значение, записанное самой последней операцией "запись”
Примеры: Parallels Cloud Storage, Lustre, …
• Консистентность в конечном счете (англ. eventual consistency)
гарантирует, что, в отсутствии изменений данных, в конечном счете
все запросы будут возвращать последнее обновленное значение.
Примеры: DNS, Amazon S3, …
Как проверять консистентность?
Решение:
• Записать данные и прочитать их
Проблемы:
• Кеши
• Распределенность системы
• Консистентность системы связана с её устойчивостью к сбоям
Чем проверять консистентность?
Утилита «hw_flush_check»
Принцип работы:
1. Клиент записывает данные и посылает Sync() (сбрасывает на диск)
2. По окончанию Sync(), посылает отчет аудитору
3. Моделируем отключение питания
4. Когда система запустится то клиент проверит сохранились ли данные
disk
Клиент Аудитор
Раздатка
Скачать hw_flush_check:
http://goo.gl/dIuxLI
Как железо влияет на системы хранения?
Консистентность данных на SSD
Тот же подход применим к тестированию железа:
SSD, RAID-контролеров, SAN
Ищите в спецификации к SSD:
• Intel: Enhanced Power Loss Data Protection
• Samsung: Cache Power Protection
• Kingston: Power-Failure Support
• OCZ: Complete Power Fail Protection
SSD не теряющие данные имеют конденсаторы
Консистентность. Выводы
• SW и HW необходимо тестировать на сохранность данных
• Используем для этого утилиту hw_flush_check
• Не используем SSD для ноутбуков в серверах
• Покупаем SSD с Power Loss Protection
• Покупаем SSD с большим сроком службы (durability)
Наработка на отказ
The mean time to data loss (MTTDL) — среднее время наработки
до потери данных:
MTTDL ~= 1 / T^2
T – время восстановления
Вывод: Чем быстрее система восстанавливает данные, тем выше
наработка на отказ
Наработка на отказ связана со скоростью восстановления данных
Как проверить?
Сценарий:
1. Записать значительный объем данных
2. Отключить компонент
3. Замерить время до полного восстановления данных
Результат:
Сильно зависит от архитектуры
Время восстановления RAID
Тип Чтение с рабочих дисков Запись на новый диск
RAID 0 n/a n/a
RAID 1 1 Скорость 1 диска
RAID 5/6 со всех Скорость 1 диска
RAID 10 1 Скорость 1 диска
Если на диски идёт нагрузка, то время будет значительно больше
Сравнение скорости восстановления
HW: Core i5 2400, 16 GB RAM, HDD 2x2TB SATA, Intel 82574L 1Gbit, Cisco Catalyst 2960
Попробовать Parallels Cloud
Storage
http://goo.gl/kdXxLF
Parallels Cloud Storage в PCS:
http://sp.parallels.com/products/pcs/
Parallels Cloud Storage для
OpenVZ:
http://openvz.org/Parallels_Cloud_Storage
http://goo.gl/4MXwRa
Q&A
Киров Александр
Parallels®
akirov@parallels.com
+7-495-783-29-77 (76244)
Appendix
CEPH
Традиционные системы хранения
Резервируют всё на HW уровне:
• Дублированное питание
• Двойные «мозги»
• Дублированное подключение
• Централизованная система
принятия решений
Распределенные системы хранения
Резервируют всё на SW уровне:
• HW априори никогда не надежно
• Резервирование на уровне SW
• Готова к отказу любого компонента
• Не требует необычного железа
• Распределенная система принятия
решений

Más contenido relacionado

La actualidad más candente

Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Oleg Tsarev
 
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)Ontico
 
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)Ontico
 
Спасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераСпасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераDaniel Podolsky
 
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...Ontico
 
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...Ontico
 
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Ontico
 
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...Ontico
 
Денис Иванов
Денис ИвановДенис Иванов
Денис ИвановCodeFest
 
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)Ontico
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Ontico
 
Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)Ontico
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Ontico
 
Организация надежного резервного копирования веб-проекта. Практика и подводны...
Организация надежного резервного копирования веб-проекта. Практика и подводны...Организация надежного резервного копирования веб-проекта. Практика и подводны...
Организация надежного резервного копирования веб-проекта. Практика и подводны...Anton Baranov
 
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...Ontico
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Ontico
 
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Ontico
 
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...Ontico
 
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...Ontico
 
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Ontico
 

La actualidad más candente (20)

Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
Асинхронная репликация без цензуры: архитектурные проблемы MySQL, или почему ...
 
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
История успеха Яндекс.Почты с PostgreSQL / Владимир Бородин (Яндекс)
 
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)Путь от монолита на PHP к микросервисам на Scala  / Денис Иванов (2GIS)
Путь от монолита на PHP к микросервисам на Scala / Денис Иванов (2GIS)
 
Спасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного ХецнераСпасение 6 миллионов файлов в условиях полного Хецнера
Спасение 6 миллионов файлов в условиях полного Хецнера
 
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
Как SRE следит за стабильностью и скоростью HeadHunter / Антон Иванов (HeadHu...
 
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
10 способов достижения HighLoad'а и BigData на ровном месте / Илья Космодемья...
 
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
Кэширование данных в web приложениях. Использование memcached / Юрий Красноще...
 
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
LuaJIT как основа для сервера приложений - проблемы и решения / Игорь Эрлих (...
 
Денис Иванов
Денис ИвановДенис Иванов
Денис Иванов
 
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
Как ускорить MySQL Handler Socket в 9 раз / Александр Яковлев (Мамба)
 
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
Эволюция программно-аппаратного обеспечения хранения фотографий в Badoo / Дми...
 
Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)Как мы готовим MySQL / Николай Королёв (Badoo)
Как мы готовим MySQL / Николай Королёв (Badoo)
 
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
Хорошо поддерживаемое в продакшне приложение / Николай Сивко (okmeter.io)
 
Организация надежного резервного копирования веб-проекта. Практика и подводны...
Организация надежного резервного копирования веб-проекта. Практика и подводны...Организация надежного резервного копирования веб-проекта. Практика и подводны...
Организация надежного резервного копирования веб-проекта. Практика и подводны...
 
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
101 способ приготовления RabbitMQ и немного о pipeline архитектуре / Филонов ...
 
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
Стратегия и тактика улучшения производительности BSS систем оператора мобильн...
 
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
Опыт миграции между дата-центрами / Михаил Тюрин, Сергей Бурладян (Avito)
 
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
Семантическое ядро рунета - высоконагруженная сontent-based рекомендательная ...
 
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
One-cloud — система управления дата-центром в Одноклассниках / Олег Анастасье...
 
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
Что нового и полезного в PostgreSQL 9.5 / Илья Космодемьянский (PostgreSQL-Co...
 

Similar a Тестируем производительность распределённых систем, Александр Киров (Parallels)

Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Mikhail Chusavitin
 
Ibm megatrade шиндак xiv v3.0
Ibm megatrade шиндак xiv v3.0Ibm megatrade шиндак xiv v3.0
Ibm megatrade шиндак xiv v3.0Nick Turunov
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ontico
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреDEPO Computers
 
Что нового в SQL Server 2014
Что нового в SQL Server 2014Что нового в SQL Server 2014
Что нового в SQL Server 2014Andrey Korshikov
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, ParallelsNikolay Samokhvalov
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3Computer Science Club
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байтеIBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байтеSasha_Zavorot
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность  в каждом байтеIBM FlashSystem-Бескомпромиссность  в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байтеYaryomenko
 
Флеш в серверах: работа со скоростью вспышки
Флеш в серверах: работа со скоростью вспышкиФлеш в серверах: работа со скоростью вспышки
Флеш в серверах: работа со скоростью вспышкиКРОК
 
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...DEPO Computers
 
Решения Dell для защиты данных и оптимизации ресурсов хранения
Решения Dell для защиты данных и оптимизации ресурсов храненияРешения Dell для защиты данных и оптимизации ресурсов хранения
Решения Dell для защиты данных и оптимизации ресурсов храненияDell_Russia
 
Презентация HPE
Презентация HPE Презентация HPE
Презентация HPE BairRadnaev
 
С. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийС. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийExpolink
 
Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Andrey Akulov
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыVsevolod Shabad
 
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)Ontico
 

Similar a Тестируем производительность распределённых систем, Александр Киров (Parallels) (20)

Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?Совместимы ли понятия SDS и производительность?
Совместимы ли понятия SDS и производительность?
 
Ibm megatrade шиндак xiv v3.0
Ibm megatrade шиндак xiv v3.0Ibm megatrade шиндак xiv v3.0
Ibm megatrade шиндак xiv v3.0
 
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
Ускоряем и разгружаем веб-сервер, прозрачно кэшируя на SSD, Станислав Николов...
 
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуреСХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
СХД DEPO Storage 4600 для консолидации данных в современной IT-инфраструктуре
 
Что нового в SQL Server 2014
Что нового в SQL Server 2014Что нового в SQL Server 2014
Что нового в SQL Server 2014
 
2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels2014.12.23 Александр Андреев, Parallels
2014.12.23 Александр Андреев, Parallels
 
Mmx cvk-2015
Mmx cvk-2015Mmx cvk-2015
Mmx cvk-2015
 
20111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture320111002 information retrieval raskovalov_lecture3
20111002 information retrieval raskovalov_lecture3
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байтеIBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байте
 
IBM FlashSystem-Бескомпромиссность в каждом байте
IBM FlashSystem-Бескомпромиссность  в каждом байтеIBM FlashSystem-Бескомпромиссность  в каждом байте
IBM FlashSystem-Бескомпромиссность в каждом байте
 
Флеш в серверах: работа со скоростью вспышки
Флеш в серверах: работа со скоростью вспышкиФлеш в серверах: работа со скоростью вспышки
Флеш в серверах: работа со скоростью вспышки
 
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
Решения DEPO Computers для консолидации данных и серверной виртуализации на б...
 
Решения Dell для защиты данных и оптимизации ресурсов хранения
Решения Dell для защиты данных и оптимизации ресурсов храненияРешения Dell для защиты данных и оптимизации ресурсов хранения
Решения Dell для защиты данных и оптимизации ресурсов хранения
 
SimpliVity
SimpliVitySimpliVity
SimpliVity
 
Презентация HPE
Презентация HPE Презентация HPE
Презентация HPE
 
С. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложенийС. Перроте (Q Logic) Ускорение работы приложений
С. Перроте (Q Logic) Ускорение работы приложений
 
HP 3PAR StoreServ 7200
HP 3PAR StoreServ 7200HP 3PAR StoreServ 7200
HP 3PAR StoreServ 7200
 
Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)Новые возможности распределенной обработки данных в памяти (Coherence)
Новые возможности распределенной обработки данных в памяти (Coherence)
 
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктурыОбработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
Обработка спйсмоданных: возможности оптимизации ИТ-инфраструктуры
 
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
Велосипед уже изобретен. Что умеют промышленные СХД? / Антон Жбанков (Nutanix)
 

Más de Ontico

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

Más de Ontico (20)

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

Тестируем производительность распределённых систем, Александр Киров (Parallels)

  • 2. О себе 5+ лет в Parallels Деятельность: • Анализ производительности Parallels Plesk Panel • Анализ производительности серверной виртуализации • Program manager Parallels Cloud Storage
  • 3. Чем важен доклад • Что тестировать и как? (консистентность, производительность) • На что нужно обращать внимание в первую очередь? • Как обойти множество подводных камней при тестировании? • Раздаем утилиты для тестирования
  • 4. Мы знаем о хранении данных Диски подключенные в кластер Индивидуальные диски 1TB 1TB 1TB 3TB Parallels Cloud Storage Высокая производительность • Автоматическая балансировка данных • Out-of-the-box SSD-кеширование Масштабируемость • Легко расширяется, автоматически масштабируется, реорганизует кластер про добавлении новых дисков/серверов Отказоустойчивость • Автоматически управляет отказоустойчивостью и восстановлением • Прозрачная репликация данных
  • 5.
  • 7.
  • 9. Определиться что хотим получить • Понять какая предполагается нагрузка на систему • Что и сколько хотим получить от системы Позволяет: • Понять что действительно важно, а что нет • Числено определить требования (IOPS, MB/s, ms) • Понять характер нагрузки, основные сценарии • Сколько машин работает с хранилищем
  • 11. Не используйте хорошо сжимаемые шаблоны данных dd if=/dev/urandom of=/tmp/rnd_f size=1M dd if=/tmp/rnd_f of=/dev/sda size=1M oflag=direct Правильно: dd if=/dev/zero of=/dev/sda size=1M Самый популярный неправильный тест: dd if=/dev/urandom of=/dev/sda size=1M Улучшенный вариант, но по-прежнему неправильный :
  • 12. Используйте большой working set Пример плохого теста: iozone имеет маленький working set, поэтому меряет память Пример как working-set влияет на результат: Random 4K write на Adaptec RAID 71605 (12 SSD) при различном working set: Working set Random 4K write 512 MB 100’000 IOPS 2048 MB 3’000 IOPS
  • 13. Кстати, о RAID - контроллерах Model Seq. write LSI MegaRAID 2008M-8i 298 MB/s MegaRAID 9271CV-8i 834 MB/s Производительность одного диска: Model Seq. write LSI MegaRAID 2008M-8i 118 MB/s MegaRAID 9271CV-8i 134 MB/s RAID-контроллеры иногда показывают удивительные вещи, если нагружать все диски параллельно (Sum Total Throughput across all 6 devices:)
  • 14. Не пренебрегайте статистикой • Отведите не меньше минуты на проведение теста • Лучше – дольше • Проводите один тест несколько раз, чтобы сгладить отклонения • Делайте паузу между тестами
  • 15. Убедитесь, что сравнение честное Всегда сравнивать только «Яблоки с Яблоками»: • Одинаковое железо • Одинаковая нагрузка • Одинаковый уровень отказоустойчивости
  • 16. Тестируем Sync() • Write() и Read() – это не все операции над блочным хранилищем • Необходимо тестировать sync() • Операции sync() и fdatasync() требуют записи данных из кешей на диск User application write(),read(),… Kernel buffer RAID cache disk cache disk File: 101110 011001 101100 User Kernel HW Kernel
  • 17. Масштабируемость Sync()/flush Тип Входящих дисков Кол-во Sync() / сек 1 disk 1 RAID 1 N RAID 0 N RAID 10 N RAID 5/6 N Во сколько раз массив из дисков способен сделать больше операций sync()/flush по сравнению с одним диском? Данные должны быть сброшены на каждом диске! Скорость одного диска Скорость одного диска Скорость одного диска Скорость одного диска Скорость одного диска
  • 18. Sync() в распределенной системе File: 101110 011001 101100 Kernel HW
  • 19. Результат тестирования *Parallels Cloud Storage 6.0: pstorage-5.0.1-440 ; OnApp Cloud 3.0: onapp-store-install-3.0.0-24, onapp-cp-install-3.0.0-20 Cluster: 7 nodes, 14 HDD, 1 Gbit
  • 20. Как тестируем? IO workloads: • Sequential read of 16MB block • Sequential write of 16MB block • Random read of 4KB block • Random write of 4KB block + sync • Random write of 32x 4KB block + sync Масштабируемость: • 1, 10, 21 физических серверов в кластере • 1, 4, 16 IO workloads на каждом сервере
  • 21. At_io_iops at_io_iops --read --rand -s 4K --iops -p 4 -t 60 -u 16G -S -f /pstorage/<cluster_name>/<benchmark_dir> • Умеет покрывать все необходимые сценарии • Правильно подготавливает данные для теста • Удобная настройка working set, потоков, нагружаемых файлов • Умеет тестирвать sync • Умеет aio/dio, cached/uncached • Через опцию “-vvv” пишет все вызовы
  • 22. Результаты: Read Performance HW: Core i5 2400, 16 GB RAM, HDD 2x2TB SATA, Intel 82574L 1Gbit, Cisco Catalyst 2960
  • 23. Результаты: Write Performance HW: Core i5 2400, 16 GB RAM, HDD 2x2TB SATA, Intel 82574L 1Gbit, Cisco Catalyst 2960
  • 24. Раздатка Скачать методологию: Скачать at_io_iops: http://goo.gl/aWAiVZhttp://goo.gl/dIuxLI
  • 26. Консистентность • Строгая консистентность (англ. strict consistency) гарантировано возвращает значение, записанное самой последней операцией "запись” Примеры: Parallels Cloud Storage, Lustre, … • Консистентность в конечном счете (англ. eventual consistency) гарантирует, что, в отсутствии изменений данных, в конечном счете все запросы будут возвращать последнее обновленное значение. Примеры: DNS, Amazon S3, …
  • 27. Как проверять консистентность? Решение: • Записать данные и прочитать их Проблемы: • Кеши • Распределенность системы • Консистентность системы связана с её устойчивостью к сбоям
  • 28. Чем проверять консистентность? Утилита «hw_flush_check» Принцип работы: 1. Клиент записывает данные и посылает Sync() (сбрасывает на диск) 2. По окончанию Sync(), посылает отчет аудитору 3. Моделируем отключение питания 4. Когда система запустится то клиент проверит сохранились ли данные disk Клиент Аудитор
  • 30. Как железо влияет на системы хранения?
  • 31. Консистентность данных на SSD Тот же подход применим к тестированию железа: SSD, RAID-контролеров, SAN Ищите в спецификации к SSD: • Intel: Enhanced Power Loss Data Protection • Samsung: Cache Power Protection • Kingston: Power-Failure Support • OCZ: Complete Power Fail Protection SSD не теряющие данные имеют конденсаторы
  • 32. Консистентность. Выводы • SW и HW необходимо тестировать на сохранность данных • Используем для этого утилиту hw_flush_check • Не используем SSD для ноутбуков в серверах • Покупаем SSD с Power Loss Protection • Покупаем SSD с большим сроком службы (durability)
  • 33. Наработка на отказ The mean time to data loss (MTTDL) — среднее время наработки до потери данных: MTTDL ~= 1 / T^2 T – время восстановления Вывод: Чем быстрее система восстанавливает данные, тем выше наработка на отказ Наработка на отказ связана со скоростью восстановления данных
  • 34. Как проверить? Сценарий: 1. Записать значительный объем данных 2. Отключить компонент 3. Замерить время до полного восстановления данных Результат: Сильно зависит от архитектуры
  • 35. Время восстановления RAID Тип Чтение с рабочих дисков Запись на новый диск RAID 0 n/a n/a RAID 1 1 Скорость 1 диска RAID 5/6 со всех Скорость 1 диска RAID 10 1 Скорость 1 диска Если на диски идёт нагрузка, то время будет значительно больше
  • 36. Сравнение скорости восстановления HW: Core i5 2400, 16 GB RAM, HDD 2x2TB SATA, Intel 82574L 1Gbit, Cisco Catalyst 2960
  • 37. Попробовать Parallels Cloud Storage http://goo.gl/kdXxLF Parallels Cloud Storage в PCS: http://sp.parallels.com/products/pcs/ Parallels Cloud Storage для OpenVZ: http://openvz.org/Parallels_Cloud_Storage http://goo.gl/4MXwRa
  • 40. CEPH
  • 41. Традиционные системы хранения Резервируют всё на HW уровне: • Дублированное питание • Двойные «мозги» • Дублированное подключение • Централизованная система принятия решений
  • 42. Распределенные системы хранения Резервируют всё на SW уровне: • HW априори никогда не надежно • Резервирование на уровне SW • Готова к отказу любого компонента • Не требует необычного железа • Распределенная система принятия решений

Notas del editor

  1. Какую бы систему не выбрали, Кому полезен доклад: Тем, кто выбирает систему хранения Тем, кто собирается разворачивать ту или иную системы хранения данных Тем, кому важно не потерять свои данные
  2. Narrator: Parallels Cloud Storage works by turning unused disk space on your hardware nodes into a single pooled cloud storage resource. Service Providers typically deploy 1 to 2 terabytes of storage on hard drives in the node. However, on average over 50% of this disk space is not utilized and can’t be shared across other nodes. Parallels Cloud Storage solves this problem by connecting the hard drives in multiple hardware nodes into a storage cluster that is shared across all nodes.
  3. Narrator: Each node see a shared storage. Each saved file onto the storage are divided into chunks. Each chunk saved in several replicas. We will consider the case when each chunk has two replicas (replication level =2). You can see on the picture that each file is divided into 3 chunks. Each chunk has 2 replicas (one locally and one on the other server). Thus data is distributed over the cluster.
  4. Narrator: If one hardware node fails, replicas on the node becomes unavailable. Thus some chunks have only one replica (they blinks). Parallels Cloud Storage detects it and create necessary replicas on online servers. Thus all saved files is a safe state and accessible on each node in the cluster
  5. http://www.vodospad.net.ua/news/company-news/otboyniy-molotok-bosch-gsh-11-vc-novie-standarti-145.html
  6. Максимально приближенный к реальной нагрузке Производительность полученная с одной ноды не дает представления о производительности системы в целом Лучше постепенно менять параметры
  7. Если файловый север, то у нас есть только один хост осуществляет нагрузку на все хранилище. Т.е. хранилище должно максимально быстро уметь обслужить один хост. В сценарии же кластера для VMок (VPS хостинг), кластер должен уметь обслуживать несколько хостов. Либо у вас кластероное хранилище совмещено с вычислительными нодами и нагрузка на сам кластер идет изнутри на тех же самых нода. Учитывайте расстояние между компонентами, разнесенными друг от друга. По сути это 3 разных сценария. Нужно не забывать о сети (пропускной способности) и расстоянии (latency). Если предполагается, что все сервисы работают с хранилищем одновременно, то необходимо гразить хранилище одновременно со всех нод. Результат замеров для одной ноды умноженный на количество нод не даст вам даже похожего результата с реальностью.
  8. Многие системы (в том числе HW, SSD) имеют специальные тригеры на обработку нулевых данных. 
  9. Типичная проблема тестов, как Iozone
  10. Типичная проблема тестов, как Iozone
  11. Я сначала расскажу что делать не надо, а потом расскажу что же в итоге нужно делать
  12. Это – самая распространённая ошибка. Всегда надо спрашивать себя: «А честное ли это соревнование?». Система
  13. Проверить это казалось бы очень просто. Н
  14. Типичная проблема тестов, как Iozone
  15. Строгая консистентность гарантирует, что вы прочитаете строго то, что записали. Всегда. Представить это можно как транзакционную базу данных, где добавив и закоммитив новую строчку в базу вы полностью уверены, что она в этом базе есть. Eventual consistency не гарантирует, что вы прочитаете новые данные NFS – “Close-to-Open Consistency”
  16. Проверить это казалось бы очень просто. Но запись фактически может пройти в кеш вместо того чтобы упасть на диски. Так как система распределенная, то кеш может быть даже не на локальной машине, а где-то в кластере. Поэтому нужно тестировать консистентность во время моделирование сбоя компонент, чтобы убедиться, что данные реально лежат на дисках.
  17. Моделируем проблему на оборудовании, а hw_flush_check позволяет проверить сохранились ли данные.
  18. Типичная проблема тестов, как Iozone
  19. http://nowaday.biz/interesting/samye-neobychnye-lodki-v-mire.html
  20. SSD – это мини компьютер, с кэшем (RAM)
  21. Любое хранилище, которое имеет дисковые группы, покажет производительность ниже
  22. http://nowaday.biz/interesting/samye-neobychnye-lodki-v-mire.html
  23. Обычно промышленные NAS и SAN это несколько юнитовые коробки с откоусточивостью на железном уровне. Они имеют двойные мозги, двойное питание и все их компоненты дублируются на уровне железа. Их можно представить себе как отказоустойчивую кружку с двойными ручками. Самое главное – они имеют централизованное место принятия решений, так называемые «мозги». Есть какой-то выделенный блок, которое определяет состояние данных.
  24. В распределенной системе центр принятия решений не может быть один иначе он будет является единой точной отказа. То есть система принятий решения должна быть распределенная, иметь устойчивый к сбою.