Клиентите на HBase, които надграждат до CDH 6 от CDH 5, също ще получат надстройка на HBase, преминаваща от HBase1 към HBase2. Производителността е важен аспект, който клиентите вземат. Измерихме производителността на CDH 5 HBase1 срещу CDH 6 HBase2, използвайки YCSB работни натоварвания, за да разберем последиците от надстройката върху производителността върху клиентите, извършващи надстройки на място (без промени в хардуера).
Относно YCSB
За нашето тестване използвахме Yahoo! Показател за облачно обслужване (YCSB). YCSB е спецификация и програмен пакет с отворен код за оценка на възможностите за извличане и поддръжка на компютърни програми. Често се използва за сравняване на относителната производителност на системите за управление на бази данни NoSQL.
Оригиналният бенчмарк е разработен от работници в изследователския отдел на Yahoo! който го пусна през 2010 г.
Повече информация за YCSB на https://github.com/brianfrankcooper/YCSB
В нашата тестова среда беше използвана YCSB @1TB мащаб за данни и работните натоварвания за изпълнение включват работни натоварвания по подразбиране на YCSB и персонализирани работни натоварвания.
Използвани тестови натоварвания на YCSB:
- Работно натоварване A (четене+актуализация) :Пример за приложение:Съхранение на сесии, записващо последните действия в потребителска сесия
- 50% ПРОЧЕТЕНИ
- 50% АКТУАЛИЗИРАНЕ
- Работно натоварване C (само за четене) :Пример за приложение:Прочетете кеша на потребителския профил, където профилите се изграждат другаде (напр. Hadoop)
- 100% ПРОЧЕТЕНИ
- Работно натоварване F (четене+промяна+запис) :Пример за приложение:Потребителска база данни, където потребителските записи се четат и променят от потребителя или за записване на потребителска активност
- 50% ПРОЧЕТЕНИ
- 25% АКТУАЛИЗИРАНЕ
- 25% ЧЕТЕНЕ-МОДИФИРАНЕ-ЗАПИСАНЕ
- Само актуализиране на персонализираното YCSB натоварване на Cloudera :Пример за приложение:Групови актуализации
- 100% операции АКТУАЛИЗИРАНЕ
Повече информация за YCSB работните натоварвания на https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads
Методология на тестване
Зареждаме набора от данни на YCSB с 1000 000 000 записа, като всеки запис е с размер 1KB, създавайки общо 1TB данни. След зареждането изчакваме да приключат всички операции по уплътняване, преди да започнем теста за натоварване. Всяко тествано работно натоварване се изпълняваше 3 пъти по 15 минути и пропуска* измерено. Средният брой се взема от 3 теста, за да се получи окончателното число.
* Пропускателна способност (операции/сек) =брой операции в секунда
Сравнение на производителност на CDH5 HBase1 срещу CDH6 HBase2 с помощта на YCSB
Пропускателна способност само за персонализирана актуализация
Само актуализация . Случаи на използване:Групови актуализации
Пропускателна способност на CDH6 HBase2 50% повече от CDH5 HBase1
Пропускателна способност на работното натоварване на YCSB A
Тежкова актуализация. Случаи на употреба:Съхранение на сесии, запис на последните действия
Пропускателна способност на CDH6 HBase2 6% по-малка от CDH5 с HBase1
Пропускателна способност C на работното натоварване на YCSB
Само за четене. Случаи на употреба:Кеш на потребителския профил, кеш на новинарски канал
Пропускателна способност на CDH6 HBase2 5% по-малка от CDH5 HBase1
Пропускателна способност F на работното натоварване на YCSB
Четене-Промяна-Запис. Случаи на употреба:Съхранение за активност, потребителски бази данни
Пропускателна способност на CDH6 HBase2 много близка до CDH5 HBase1
Резюме на резултатите от теста
Само персонализирана актуализация натовареност : Работното натоварване само с актуализация на HBase2 CDH6 се представи 50% по-добре отколкото HBase1 CDH5
Работно натоварване на YCSB F: CDH6 YCSB Workload F операциите и пропускателната способност бяха много сходни към CDH5 HBase1
Натоварвания на YCSB Workload A и YCSB Workload C: CDH6 YCSB Работно натоварване C Само за четене и YCSB Работно натоварване A имаха приблизително 5% по-малко операции и пропускателна способност от CDH5 HBase1
Сравнени версии на CDH
Версия CDH6:Cloudera Enterprise 6.2
Версия CDH5:Cloudera Enterprise 5.16.2
Име на Java VM:Java HotSpot(TM) 64-Bit Server VM
Версия на Java:1.8.0_141
Тестова среда
Използван клъстер : Клъстер с 6 възли
Описание на възел: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 @ 2.2Ghz, 128GB RAM, 4-2TB дискове
Настройка за тестване
- Версия на YCSB:0.14.0
- YCSB обвързваща версия hbase20
- YCSB таблица @1TB мащаб
- WAL конфигурации
- На регионен сървър Брой тръбопроводи за WAL (wal.regiongrouping.numgroups ) зададен на 1
- Multi-WAL:wal.provider зададен на Множество HDFS WAL
- Забележка -> Тук единичен WAL, използван като тръбопроводи WAL, е зададен на 1
- Asyncfs WAL:region.replica.replication.enabled зададено на false
- Сигурност: Няма конфигуриран (без Kerberos)
- Регионални сървъри
- Брой региони в таблицата YCSB 250, с клъстер 5+1 възли, неговите приблизително 50 региона на сървър на регион
- Среден размер на сървъра за регион 290G
- Данни за регион ~ 6G
- Използва се само L1 кеш с LruBlockCache с ограничение за размера на кеша от 3 GB
Въз основа на нашето тестване (резултати по-горе), клиентите, които искат да надстроят от CDH 5.x до 6.x, трябва да очакват значително подобрена производителност за групови актуализации и сравнително подобна производителност за други работни натоварвания в сравнение с това, което получават днес.
Научете повече за Cloudera Operational DB тук