SlideShare a Scribd company logo
1 of 21
Как тестировать
производительнос
ть
гиперковергентн
ых систем?
Роман Хмелевский, Nutanix
Что такое HCI?
…и почему им не подходят традиционные методы тестирования?
Новая архитектура инфраструктуры датацентра
требует нового подхода к тестированию производительности
Что такое HCI?
Архитектурное объединение серверов, SAN и СХД
в единую сущность – узел scale-out кластера
Что такое HCI?
Что такое HCI?
Гипервизор
App App
Интегрированная
масштабируемая платформа
Гипервизор
App App
Storage
Controller
Storage
Controller
Storage
Controller
Storage
Controller
Server Server
Storage
Controller
Storage
Controller
со встроенной виртуализацией
и управлением
Архитектура HCI
Single Node
Архитектура HCI
Flash как убийца SAN
Flash как убийца SAN
CPU
PCH
SATA
SSD
NAND
Flash
NVMe
SSD
NAND
Flash
DRAM
3D XPoint™
DDR
DDR
DDR/PCIe
PCIe
SATA
SATA
Lower
R/W
Latency
Higher
Bandwidth
Higher
Endurance
Lower
cost
per bit Disk
 3D XPoint technology provides the
benefit in the middle
 It is considerably faster than NAND
Flash (1000x !)
 Performance can be realized on PCIe
or DDR buses
 Lower cost per bit than DRAM while
being considerably more dense
На что способны SSD
Ну и чем вам не годится IOmeter?
Бенчмарки – в чем между ними разница?
• «Синтетика»
Плюсы:
• Повторяемые результаты
• Понятен «физический смысл» теста
Минусы
• Слабая связь с «конечным результатом» для системы в целом
• «Real Life testing»
Плюсы
• Это результаты реальной системы в комплексе метрик
Минусы
• Общая физическая «темность» процесса и сложность запуска
• Сложность формализации и анализа причин
X-Ray – способ «увидеть то, что скрыто»
1. Открытый
2. Расширяемый
3. Масштабируемый
4. Подходит для HCI
5. Real Life (ну, и «синтетика» тоже есть)
X-Ray v2.0
Открытый, расширяемый тестовый пакет
• Конфигурации сценариев – YAML
• RESTful API для управления
• Расширяемость по тестируемым платформам
• Bundled Gold Images: «VDI» и «OLTP/DSS DB»
X-Ray: архитектура
CHARON – интерпретация YAML-сценария, взаимодействие
с платформой тестирования через ее public API. Python script.
VM IMAGE – разворачиваемая на платформе тестовая среда
содержит charon agent, fio.
X-RAY SERVER – middleware, управляет CHARON,
предоставляет REST API для управления и расширения.
X-Ray: preinstalled workloads
• OLTP
6 vDisks: 4 для db workload (28 GB каждый), 2 для db log (2 GB каждый)
DB Data workload: 50% Read, 80% Random, 10% 32k & 90% 8k Op Sizes
DB Log workload: 100% Write, 10% Random, 32k Op Size
• VDI
1 vDisk: 10 GB total
Read Range: 8 GB, 100% Read, 80% Random, 10% 32k & 90% 8k Op Sizes, 10 IOPS
Write Range: 2 GB, 100% Write, 20% Random, 32k Op Size, 10 IOPS
• DSS
6 vDisks: 4 для db workload (28 GB каждый), 2 для db log (2 GB каждый)
Database Data workload: 100% Read, 100% Sequential, 1MB Op Size, 250 IOPS per vDisk
Database Log workload: 100% Write, 5% Random, 32k Op Size, 100 IOPS per vDisk
X-Ray: сценарии
• VDI Simulator
VDI deployment, 100 VDI per node, 3h run, task/knowledge/power profile
• HCI Workflow
OLTP+VDI на одной системе, 8h run, 100 VDI per node.
• OLTP Simulator
• Node Failure
1 OLTP VM + 75 VDI per node, 20m warmup, poweroff node, 2,5h run
• Sequential Node Failure
• Snapshots Impact
db: 4000 IOPS, 28GB working set, log: 200 IOPS, 2GB. 12h run, snapshots every 1h
Best Practice
• Не выключайте голову. :)
Получив результат, всегда перепроверьте его, даже если он красивый
и подтверждает ваши внутренние убеждения.
• Не доверяйте одной «синтетике»
синтетические тесты могут не видеть серьезные проблемы системы,
если их не видите вы сами.
• Измеряйте производительность системы комплексно
Одна только производительность дисков, например,
это еще не производительность всей IT-системы в целом.
• В наше время верить нельзя никому. Даже себе.
мне – можно ;) (с)
• rhmelevsky@nutanix.com
• http://blog.in-a-nutshell.ru
• https://www.nutanix.com/xray/
Как тестировать производительность гиперковергентных систем? / Роман Хмелевский (Nutanix)
Как тестировать производительность гиперковергентных систем? / Роман Хмелевский (Nutanix)

More Related Content

More from 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
 
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)Ontico
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Ontico
 
Отказоустойчивая архитектура фронтальной системы банка / Роман Шеховцов, Алек...
Отказоустойчивая архитектура фронтальной системы банка / Роман Шеховцов, Алек...Отказоустойчивая архитектура фронтальной системы банка / Роман Шеховцов, Алек...
Отказоустойчивая архитектура фронтальной системы банка / Роман Шеховцов, Алек...Ontico
 
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)Ontico
 
Синхронизация данных из PgSQL в Tarantool / Вениамин Гвоздиков (Calltouch)
Синхронизация данных из PgSQL в Tarantool / Вениамин Гвоздиков (Calltouch)Синхронизация данных из PgSQL в Tarantool / Вениамин Гвоздиков (Calltouch)
Синхронизация данных из PgSQL в Tarantool / Вениамин Гвоздиков (Calltouch)Ontico
 
Хранимые процедуры в NoSQL СУБД на примере Tarantool / Денис Линник (Mail.Ru)
Хранимые процедуры в NoSQL СУБД на примере Tarantool / Денис Линник (Mail.Ru)Хранимые процедуры в NoSQL СУБД на примере Tarantool / Денис Линник (Mail.Ru)
Хранимые процедуры в NoSQL СУБД на примере Tarantool / Денис Линник (Mail.Ru)Ontico
 
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)Ontico
 

More from Ontico (20)

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)
 
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
Java и Linux — особенности эксплуатации / Алексей Рагозин (Дойче Банк)
 
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
Как построить кластер для расчета сотен тысяч high-CPU/high-MEM-задач и не ра...
 
Отказоустойчивая архитектура фронтальной системы банка / Роман Шеховцов, Алек...
Отказоустойчивая архитектура фронтальной системы банка / Роман Шеховцов, Алек...Отказоустойчивая архитектура фронтальной системы банка / Роман Шеховцов, Алек...
Отказоустойчивая архитектура фронтальной системы банка / Роман Шеховцов, Алек...
 
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
libfpta — обгоняя SQLite и Tarantool / Леонид Юрьев (Positive Technologies)
 
Синхронизация данных из PgSQL в Tarantool / Вениамин Гвоздиков (Calltouch)
Синхронизация данных из PgSQL в Tarantool / Вениамин Гвоздиков (Calltouch)Синхронизация данных из PgSQL в Tarantool / Вениамин Гвоздиков (Calltouch)
Синхронизация данных из PgSQL в Tarantool / Вениамин Гвоздиков (Calltouch)
 
Хранимые процедуры в NoSQL СУБД на примере Tarantool / Денис Линник (Mail.Ru)
Хранимые процедуры в NoSQL СУБД на примере Tarantool / Денис Линник (Mail.Ru)Хранимые процедуры в NoSQL СУБД на примере Tarantool / Денис Линник (Mail.Ru)
Хранимые процедуры в NoSQL СУБД на примере Tarantool / Денис Линник (Mail.Ru)
 
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
Оптимизации поисковой выдачи Яндекса / Иван Хватов, Сергей Ляджин (Яндекс)
 

Как тестировать производительность гиперковергентных систем? / Роман Хмелевский (Nutanix)

  • 2. Что такое HCI? …и почему им не подходят традиционные методы тестирования? Новая архитектура инфраструктуры датацентра требует нового подхода к тестированию производительности
  • 3. Что такое HCI? Архитектурное объединение серверов, SAN и СХД в единую сущность – узел scale-out кластера
  • 5. Что такое HCI? Гипервизор App App Интегрированная масштабируемая платформа Гипервизор App App Storage Controller Storage Controller Storage Controller Storage Controller Server Server Storage Controller Storage Controller со встроенной виртуализацией и управлением
  • 9. Flash как убийца SAN CPU PCH SATA SSD NAND Flash NVMe SSD NAND Flash DRAM 3D XPoint™ DDR DDR DDR/PCIe PCIe SATA SATA Lower R/W Latency Higher Bandwidth Higher Endurance Lower cost per bit Disk  3D XPoint technology provides the benefit in the middle  It is considerably faster than NAND Flash (1000x !)  Performance can be realized on PCIe or DDR buses  Lower cost per bit than DRAM while being considerably more dense
  • 11. Ну и чем вам не годится IOmeter?
  • 12. Бенчмарки – в чем между ними разница? • «Синтетика» Плюсы: • Повторяемые результаты • Понятен «физический смысл» теста Минусы • Слабая связь с «конечным результатом» для системы в целом • «Real Life testing» Плюсы • Это результаты реальной системы в комплексе метрик Минусы • Общая физическая «темность» процесса и сложность запуска • Сложность формализации и анализа причин
  • 13. X-Ray – способ «увидеть то, что скрыто» 1. Открытый 2. Расширяемый 3. Масштабируемый 4. Подходит для HCI 5. Real Life (ну, и «синтетика» тоже есть)
  • 14. X-Ray v2.0 Открытый, расширяемый тестовый пакет • Конфигурации сценариев – YAML • RESTful API для управления • Расширяемость по тестируемым платформам • Bundled Gold Images: «VDI» и «OLTP/DSS DB»
  • 15. X-Ray: архитектура CHARON – интерпретация YAML-сценария, взаимодействие с платформой тестирования через ее public API. Python script. VM IMAGE – разворачиваемая на платформе тестовая среда содержит charon agent, fio. X-RAY SERVER – middleware, управляет CHARON, предоставляет REST API для управления и расширения.
  • 16. X-Ray: preinstalled workloads • OLTP 6 vDisks: 4 для db workload (28 GB каждый), 2 для db log (2 GB каждый) DB Data workload: 50% Read, 80% Random, 10% 32k & 90% 8k Op Sizes DB Log workload: 100% Write, 10% Random, 32k Op Size • VDI 1 vDisk: 10 GB total Read Range: 8 GB, 100% Read, 80% Random, 10% 32k & 90% 8k Op Sizes, 10 IOPS Write Range: 2 GB, 100% Write, 20% Random, 32k Op Size, 10 IOPS • DSS 6 vDisks: 4 для db workload (28 GB каждый), 2 для db log (2 GB каждый) Database Data workload: 100% Read, 100% Sequential, 1MB Op Size, 250 IOPS per vDisk Database Log workload: 100% Write, 5% Random, 32k Op Size, 100 IOPS per vDisk
  • 17. X-Ray: сценарии • VDI Simulator VDI deployment, 100 VDI per node, 3h run, task/knowledge/power profile • HCI Workflow OLTP+VDI на одной системе, 8h run, 100 VDI per node. • OLTP Simulator • Node Failure 1 OLTP VM + 75 VDI per node, 20m warmup, poweroff node, 2,5h run • Sequential Node Failure • Snapshots Impact db: 4000 IOPS, 28GB working set, log: 200 IOPS, 2GB. 12h run, snapshots every 1h
  • 18. Best Practice • Не выключайте голову. :) Получив результат, всегда перепроверьте его, даже если он красивый и подтверждает ваши внутренние убеждения. • Не доверяйте одной «синтетике» синтетические тесты могут не видеть серьезные проблемы системы, если их не видите вы сами. • Измеряйте производительность системы комплексно Одна только производительность дисков, например, это еще не производительность всей IT-системы в целом. • В наше время верить нельзя никому. Даже себе. мне – можно ;) (с)