HBase-Kunden, die von CDH 5 auf CDH 6 upgraden, erhalten auch ein HBase-Upgrade, das von HBase1 auf HBase2 wechselt. Leistung ist ein wichtiger Aspekt, den Kunden berücksichtigen. Wir haben die Leistung von CDH 5 HBase1 im Vergleich zu CDH 6 HBase2 unter Verwendung von YCSB-Workloads gemessen, um die Leistungsauswirkungen des Upgrades auf Kunden zu verstehen, die In-Place-Upgrades durchführen (keine Änderungen an der Hardware).
Über YCSB
Für unsere Tests verwendeten wir das Yahoo! Cloud-Serving-Benchmark (YCSB). YCSB ist eine Open-Source-Spezifikation und Programmsuite zur Bewertung der Abruf- und Wartungsfähigkeiten von Computerprogrammen. Es wird oft verwendet, um die relative Leistung von NoSQL-Datenbankverwaltungssystemen zu vergleichen.
Der ursprüngliche Benchmark wurde von Mitarbeitern der Forschungsabteilung von Yahoo! der es 2010 veröffentlicht hat.
Weitere Informationen zu YCSB unter https://github.com/brianfrankcooper/YCSB
In unserer Testumgebung wurde eine YCSB-Datenskalierung von 1 TB verwendet, und die ausgeführten Workloads umfassten YCSB-Standardworkloads und angepasste Workloads.
Verwendete YCSB-Testarbeitslasten:
- Workload A (Lesen+Aktualisieren) :Anwendungsbeispiel:Sitzungsspeicher, der letzte Aktionen in einer Benutzersitzung aufzeichnet
- 50 % LESEN
- 50 % UPDATE
- Arbeitslast C (schreibgeschützt) :Anwendungsbeispiel:Benutzerprofil-Cache lesen, wo Profile an anderer Stelle aufgebaut werden (z. B. Hadoop)
- 100 % GELESEN
- Workload F (Lesen+Ändern+Schreiben) :Anwendungsbeispiel:Benutzerdatenbank, in der Benutzerdatensätze vom Benutzer gelesen und geändert werden oder um Benutzeraktivitäten aufzuzeichnen
- 50 % LESEN
- 25 % UPDATE
- 25 % LESEN-ÄNDERN-SCHREIBEN
- Nur Aktualisierung der benutzerdefinierten YCSB-Arbeitslast von Cloudera :Anwendungsbeispiel:Massenaktualisierungen
- 100 % UPDATE-Operationen
Weitere Informationen zu YCSB-Workloads unter https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads
Testmethodik
Wir laden das YCSB-Dataset mit 1.000.000.000 Datensätzen, wobei jeder Datensatz 1 KB groß ist, wodurch insgesamt 1 TB an Daten erstellt werden. Nach dem Laden warten wir, bis alle Komprimierungsvorgänge abgeschlossen sind, bevor wir mit dem Workload-Test beginnen. Jede getestete Workload wurde dreimal für jeweils 15 Minuten ausgeführt und der Durchsatz* gemessen. Die Durchschnittszahl wird aus 3 Tests genommen, um die endgültige Zahl zu erhalten.
* Durchsatz (Operationen/Sek.) =Anzahl der Operationen pro Sekunde
Durchsatzvergleich von CDH5 HBase1 vs. CDH6 HBase2 mit YCSB
Nur benutzerdefinierter Update-Durchsatz
Nur aktualisieren . Anwendungsfälle:Massenaktualisierungen
CDH6 HBase2-Durchsatz 50 % höher als bei CDH5 HBase1
YCSB-Arbeitslast A-Durchsatz
Schwierig aktualisieren. Anwendungsfälle:Sitzungsspeicher, Aufzeichnung der letzten Aktionen
CDH6 HBase2-Durchsatz 6 % geringer als CDH5 mit HBase1
YCSB Workload C-Durchsatz
Nur lesen. Anwendungsfälle:Benutzerprofil-Cache, Newsfeed-Cache
CDH6 HBase2-Durchsatz 5 % geringer als CDH5 HBase1
YCSB Workload F-Durchsatz
Lesen-Ändern-Schreiben. Anwendungsfälle:Aktivitätsspeicher, Benutzerdatenbanken
CDH6 HBase2-Durchsatz sehr nahe an CDH5 HBase1
Zusammenfassung der Testergebnisse
Nur benutzerdefiniertes Update Arbeitsbelastung : HBase2-CDH6-Update-Nur-Workload schnitt 50 % besser ab als HBase1 CDH5
YCSB-Arbeitslast F-Arbeitslast: CDH6 YCSB Workload F-Workload-Vorgänge und -Durchsatz waren sehr ähnlich zu CDH5 HBase1
YCSB-Arbeitslast A und YCSB-Arbeitslast C-Arbeitslasten: CDH6 YCSB Workload C Read Only und YCSB Workload A hatten ca. 5 % weniger Betrieb und Durchsatz als CDH5 HBase1
CDH-Versionen im Vergleich
CDH6-Version:Cloudera Enterprise 6.2
CDH5-Version:Cloudera Enterprise 5.16.2
Name der Java-VM:Java HotSpot(TM) 64-Bit-Server-VM
Java-Version:1.8.0_141
Testumgebung
Verwendeter Cluster: 6-Knoten-Cluster
Knotenbeschreibung: Dell PowerEdge R430, 20c/40t Xenon e5-2630 v4 bei 2,2 GHz, 128 GB RAM, 4–2 TB Festplatten
Setup testen
- YCSB-Version:0.14.0
- YCSB-Bindungsversion hbase20
- YCSB-Tabelle im 1-TB-Maßstab
- WAL-Konfigurationen
- Anzahl der WAL-Pipelines pro RegionServer (wal.regiongrouping.numgroups ) auf 1 gesetzt
- Multi-WAL:wal.provider auf Multiple HDFS WAL
- gesetzt
- Hinweis -> Hier wird Single WAL, das als WAL-Pipelines verwendet wird, auf 1 gesetzt
- Asyncfs WAL:region.replica.replication.enabled auf false setzen
- Sicherheit: Nichts konfiguriert (Kein Kerberos)
- Regionsserver
- Anzahl der Regionen in der YCSB-Tabelle 250, mit 5+1-Knoten-Cluster sind es ungefähr 50 Regionen pro Regionsserver
- Durchschnittliche Servergröße der Region:290 GB
- Daten pro Region ~ 6G
- Nur L1-Cache mit LruBlockCache verwendet mit 3 GB Cache-Größenbeschränkung
Basierend auf unseren Tests (Ergebnisse oben) sollten Kunden, die ein Upgrade von CDH 5.x auf 6.x anstreben, eine deutlich verbesserte Leistung für Massenaktualisierungen und eine ziemlich ähnliche Leistung für andere Workloads im Vergleich zu dem erwarten, was sie heute erhalten.
Erfahren Sie hier mehr über Cloudera Operational DB