Version 2.2 Oktober 2003 Benchmark-Überblick OLTP Seiten 6 Abstract In diesem Dokument wird der Fujitsu Technology Solutions interne Datenbank-Benchmark OLTP vorgestellt. Insbesondere werden Gemeinsamkeiten und Unterschiede zum TPC-C Benchmark und daraus resultierende Implikationen bezüglich der Verwendbarkeit von OLTP-Benchmark-Ergebnissen herausgestellt. Ein Vergleich von OLTP- mit TPC-C-Ergebnissen ist weder erlaubt noch sinnvoll. Beide Benchmarks basieren zwar auf einem ähnlichen Anwender-Szenario. Während TPC-C jedoch für den Vergleich von Systemkonfigurationen verschiedener Hersteller geeignet ist, liegt der Fokus des OLTP-Benchmarks auf Aussagen zur Skalierung und zu relativen Performance-Vergleichen innerhalb der PRIMERGY Serverfamilie. Inhalt Der OLTP-Benchmark – Ein Überblick................................................................................................... 2 Das Benchmark-Modell .......................................................................................................................... 2 Performance Metrik ................................................................................................................................ 2 Die OLTP-Datenbank und ihre Transaktionen ....................................................................................... 3 Unterschiede zwischen OLTP und TPC-C ............................................................................................. 4 Schlussbetrachtung ................................................................................................................................ 4 Literatur................................................................................................................................................... 6 Kontakt.................................................................................................................................................... 6 White Paper ⏐Benchmark Ueberblick OLTP Version: 2.2, Oktober 2003 Der OLTP-Benchmark – Ein Überblick Der OLTP-Benchmark misst – ähnlich wie TPC-C (siehe Literatur Benchmark Überblick TPC-C) - die Performance online transaktionsverarbeitender Systeme (Online Transaction Processing oder OLTP). Da der mit TPC-C-Messungen verbundene Aufwand hardware– und zeitbedingt nur eine Vermessung speziell ausgewählter Systemkonfigurationen ermöglicht, wurde von Fujitsu Technology Solutions ein Messverfahren entwickelt, mit dem eine wesentlich höhere Anzahl Messungen durchgeführt werden kann. So basiert der OLTP-Benchmark auf der gleichen komplexen Datenbank und den gleichen Transaktionstypen wie TPC-C. Performance-bestimmend sind dabei hier wie dort das User Interface, die Netzwerk-Kommunikation und Disk I/O. Anders als TPC-C beschränkt sich der OLTP-Benchmark jedoch auf reine PerformanceMessungen, die nach einem weniger rigiden Regelwerk und ohne Auditierung durch ein unabhängiges Gremium durchgeführt werden. Ein Vergleich zwischen OLTP- und TPC-C-Ergebnissen ist dadurch zwar nicht möglich. Dafür hilft der OLTP-Benchmark aber, Erkenntnisse über die Skalierungseigenschaften der PRIMERGY-Modelle in einem komplexen OLTP-Umfeld zu gewinnen. Das Benchmark-Modell Der OLTP-Benchmark simuliert eine Umgebung, in der Benutzer diverse Transaktionen auf einer Datenbank ausführen. Zentraler Bestandteil des Benchmarks sind hierbei die typischerweise mit Auftragseingängen verbundenen Transaktionen in einem Großhandelsunternehmen (Auftragsannahme, Lieferung, Zahlungseingang, Überprüfung des Auftragsstatus, Überwachung der Lagerhaltung). Das simulierte Unternehmen verfügt über Warenhäuser, denen Bezirke zugeordnet sind. Der OLTP-Benchmark ist so angelegt, dass die Größe des Unternehmens (i.e. die Anzahl seiner Warenhäuser) variabel einstellbar ist. Fest vorgegeben ist eine Anzahl von 100000 Artikeln sowie von zehn Verkaufsbezirken pro Warenhaus und 3000 Kunden pro Bezirk. Jeder Benutzer kann jederzeit eine von fünf Transaktionen auf dem Warenbestellsystem des Unternehmens durchführen. Sowohl die Transaktionen als auch deren Häufigkeit lehnen sich an ein realistisches Szenario an. Unternehmen Warenhaus 1 Bezirk 1 Kunde 1 ... ... Kunde 3000 ... Bezirk 10 Kunde 30000 Warenhaus n ... Bezirk nx10 Kunde nx30000 Die häufigste Transaktion ist der Auftragseingang (new order). Sie umfasst im Schnitt 10 unterschiedliche Artikel. Jedes Warenhaus versucht, wenn möglich, die Lieferung aus eigener Warenhaltung zu bestreiten. Da dies bei einer so hohen Anzahl von Artikeln kaum realistisch ist, erfolgt die Lieferung in nahezu 10% aller Fälle über andere Warenhäuser des Unternehmens. Eine weitere häufige Transaktion ist der Erhalt eines Zahlungseingangs (payment). Seltener sind Abfragen bezüglich des Auftragsstatus (order status), die Bearbeitung von Lieferaufträgen (delivery) und die Überprüfung des lokalen Lagerbestandes auf etwaige Lieferengpässe (stock level). Über diese insgesamt fünf Transaktionen wird der gesamte Geschäftsablauf modelliert. Um den OLTP-Benchmark auf Systemen unterschiedlichster Leistungsfähigkeit ausführbar zu halten, ist bei dessen Durchführung die Größe der Datenbank der Leistung des zu vermessenden Systems anzupassen. Performance Metrik Die im OLTP-Benchmark zur Messung der Performance verwendete Maßeinheit gibt die Anzahl bearbeiteter new-order-Transaktionen pro Minute an und heißt tpm. OLTP Metrik Durchsatz (Throughput) tpm © Fujitsu Technology Solutions 2009 Seite 2 (6) White Paper ⏐Benchmark Ueberblick OLTP Version: 2.2, Oktober 2003 Die OLTP-Datenbank und ihre Transaktionen Die Definitionen von Datenbank und Transaktionen sind identisch zu denen bei TPC-C. Unterschiede existieren bei der Generierung der Last für das zu vermessende System. Die Datenbank enthält neun unterschiedlich strukturierte Tabellen und damit auch Datensatztypen. Je nach Tabelle variieren Größe und Anzahl der Datensätze. Auf der Datenbank wird ein Mix aus fünf konkurrierenden Transaktionen unterschiedlichen Typs und Komplexität ausgeführt. Dies geschieht hauptsächlich online, teilweise aber auch nach Einreihung für eine spätere Bearbeitung in eine Warteschlange im Batch. Durch deren Wettbewerb um die begrenzten Systemressourcen werden viele Systemkomponenten belastet und in sehr vielfältiger Weise Datenänderungen durchgeführt. Aufbau der OLTP-Datenbank Tabelle Anzahl Einträge warehouse n (wird bei einer Messung vorgegeben) item 100.000 stock n x 100.000 district n x 10 customer 3.000 je Bezirk, 30.000 je Warenhaus order Anzahl Kunden (Initialwert) new-order 30% der Aufträge (Initialwert) order-line ca. 10 pro Auftrag history Anzahl Kunden (Initialwert) Die Art und Weise wie beim TPC-C Benchmark Daten von Benutzern eingegebenen werden, ist den grundlegendsten Charakteristiken reeller Dateneingabesituationen nachempfunden. Es können beispielsweise falsche Artikelnummern eingegeben werden, was dann zu einem Abbruch der Transaktion führen würde. Um ein möglichst realistisches Szenario zu modellieren, wurde, anders als bei vielen anderen Benchmarks, auf künstliche Vereinfachungen weitgehend verzichtet. So müssen beispielsweise alle Terminaleingaben prinzipiell auch von echten Benutzern vorgenommen werden können. Zu diesem Zweck müssen alle Eingabemasken vorgegebene Felddefinitionen sowie beschriftete Ein- und Ausgabefelder enthalten und auch die üblichen Cursorbewegungs- und Feldkorrekturmechanismen aufweisen. Der TPC-C-Durchsatz ist ein direktes Ergebnis der Terminalaktivitäten. Jedes Warenhaus besitzt 10 Terminals. Auf jedem dieser Terminals sind alle fünf Transaktionstypen ausführbar. Für die Aufrechterhaltung des benötigten Transaktionsmixes während des Messzeitraums werden bei TPC-CMessungen Terminalemulatoren (remote terminal emulator oder RTE) verwendet. Beim OLTP-Benchmark wird stattdessen die Last auf den Clients im Batch generiert. Der Transaktionsmix repräsentiert den gesamten mit einer Bestellung verbundenen Geschäftsablauf von der Erfassung bis zur Auslieferung. Im Detail sieht das so aus, dass pro new-order-Transaktion eine payment-Transaktion und für zehn new-orderTransaktionen jeweils eine delivery-, eine order-status- und eine stock-level-Transaktion generiert wird. OLTP-Transaktionen und geforderte Verteilung Name der Transaktion Anteil an allen Transaktionen New Order ≤ 45% Payment ≥ 43% Order-Status ≥ 4% Delivery ≥ 4% (Batch-Transaktion) Stock Level ≥ 4% Mit dem RTE bzw. dem beim OLTP-Benchmark analogen Lastgenerierungsprogramm werden auch die Antwortzeiten der Transaktionen gemessen. Beim OLTP-Benchmark erfolgt jedoch keine Simulation von Eingabe- und Reaktionszeiten des Benutzers. Alle möglichen performance-relevanten Datenbankdesigntechniken, wie beispielsweise Partitionierung oder Replikation, sind erlaubt. Unrealistisch große Performance-Vorteile sind wegen der Art und Weise, wie die Verwendung von Datensätzen durch die Transaktionen definiert ist, nicht zu erwarten. © Fujitsu Technology Solutions 2009 Seite 3 (6) White Paper ⏐Benchmark Ueberblick OLTP Version: 2.2, Oktober 2003 Unterschiede zwischen OLTP und TPC-C Der OLTP-Benchmark ist im Gegensatz zu TPC-C kein Standard-Benchmark. Die Einhaltung des Reglements wird von keinem unabhängigen Gremium überwacht. Eine TPC-C-Messung kann von der Vorbereitung bis zur offiziellen Abnahme durch das TPC-Gremium bis zu 3 Monate Zeit in Anspruch nehmen. TPC-C ist somit ungeeignet, alle für ein OLTP-Szenario geeignete PRIMERGY Systeme in allen ihren möglichen CPU-Variationen und Speicherausbauten zu vermessen. Um dennoch ein Vergleichsmaß ähnlich zum TPC-C Benchmark zu haben, wurde der OLTP Benchmark entwickelt, der mit akzeptablem Kostenaufwand und in vertretbarer Zeit eine Vermessung vieler PRIMERGY Systemkonfigurationen und damit eine Einstufung ihrer Leistungsfähigkeit ermöglicht. Ein Ziel von OLTP-Messungen ist es, Erkenntnisse über die Skalierung der PRIMERGY-Systeme innerhalb einer Systemfamilie zu gewinnen. So kann durch Messungen mit unterschiedlichen Prozessor- und Speicherausbauten die erreichte Leistungssteigerung bezüglich einer Systemkomponente quantifiziert werden. Des Weiteren ermöglichen OLTP-Messungen einen Leistungsvergleich zwischen aufeinander folgenden PRIMERGY-Generationen. Selbstverständlich kann sich hierbei ein Vergleich nur auf die Gesamtsysteme und nicht auf einzelne Komponenten beziehen, da sowohl die eingesetzte Hardware (Chipsatz, Controller etc.) als auch Software (OS, Datenbank etc.) ständig weiterentwickelt werden. Eine mit dem OLTP-Benchmark vermessene Systemkonfiguration muss nicht zwangsläufig bestellbar sein. Insbesondere 2-Prozessor- und flache Rack-Systeme sind nicht unbedingt als Server für große Datenbanken geeignet. Bei der Entwicklung neuer PRIMERGY-Systeme helfen OLTP-Messungen, etwaige Mängel in der Systemkonfiguration aufzuzeigen. Erkenntnisse darüber, ob bestimmte Komponenten noch nicht ausgereift sind oder Engpässe verursachen, helfen der Entwicklung, ein neues System zur Marktreife zu führen. Darüber hinaus sind auch in der Vorbereitungsphase zu den aufwendigen TPC-C-Messungen OLTP-Messungen ein geeignetes Verfahren, ein System und seine Umgebung zu optimieren. Der OLTP Benchmark gibt keine Auskunft über die Kosten der Testkonfiguration. Anders als bei TPC-C ist damit auch keine Kosten/Nutzen-Relation (Preis pro tpmC) möglich. Des Weiteren sind auch Aspekte der Ausfallsicherheit wegen des hiermit verbundenen Hardware- und Zeitaufwands anders als bei TPC-C nicht Bestandteil des OLTP-Benchmarks. Die hierfür notwendigen Hardware-Aufwendungen beeinflussen primär die Kosten des Systems. Soweit die bezüglich Ausfallsicherheit notwendigen Hardware-Komponenten für das jeweilige PRIMERGY-System bestellbar sind, ist also grundsätzlich eine ähnliche Ausfallsicherheit wie bei TPC-C erwartbar. Das Messumfeld bei TPC-C stellt sich als 3-tier Umgebung bestehend aus Server, Clients und RTEs zur Simulation der Benutzerlast und Netzwerktopologie dar. Bei OLTP-Messungen handelt es sich um eine 2-tier Umgebung, bei der die Lastgenerierung durch die RTEs von den Clients im Batchmodus übernommen wird. Hier existiert also keine Terminalemulation. Nach dem Reglement des TPC-Konsortiums darf man keine Messung, die nicht gemäß TPC-C-Regeln auditiert wurde, zu einem TPC-C-Ergebnis in Bezug setzen. Zwar liefern beide Benchmarks eine Anzahl Transaktionen pro Minute und typischerweise wird bei den Messungen die gleiche Applikations-Software verwendet, jedoch nutzen beide Benchmarks unterschiedliche Methoden zur Simulation der Benutzerlast. So entstehen ähnliche Messergebnisse, die erfahrungsgemäß auch nur wenig voneinander abweichen. TPC-C Werte müssen immer zusammen mit der Preis Performance Angabe (Preis pro tpmC) verwendet werden. Die Ergebnisse des OLTP-Benchmarks enthalten keine Preisangabe. Sie werden lediglich dazu verwendet, die Skalierung innerhalb der PRIMERGY-Familie zu bewerten. Schlussbetrachtung Betrachtet man die große Komplexität der Datenbank und des Transaktionsmixes, so kommt man mit den erzielten Messwerten Durchsatzwerten aus echten Geschäftsabläufen recht nahe. Die im OLTP-Benchmark verwendete Maßeinheit ist daher nicht synthetisch, sondern durchaus repräsentativ für die reale Geschäftswelt. Es ist jedoch zu beachten, dass dies für viele, jedoch nicht alle OLTP-Umgebungen gilt. Bis zu welchem Grade Kunden OLTP-Benchmark-typische Durchsatzwerte erreichen können, hängt in hohem Maße davon ab, wie ähnlich sich Datenbank und Applikation eines Kunden im Vergleich zu denen des OLTP-Benchmarks tatsächlich sind. OLTP-Ergebnisse bieten daher zwar einen Anhaltspunkt für in Kundenumgebungen erreichbare Durchsatzwerte. Einfache Extrapolierungen auf diese können aber nicht empfohlen werden. Systemperformance und damit auch Benchmark-Ergebnisse sind extrem abhängig von Systemauslastung, applikationsspezifischen Anforderungen, Systemdesign und –implementation. Der OLTPBenchmark kann daher das Benchmarken einer Kundenapplikation nicht ersetzen. TPC-C ist ein idealer Benchmark zum Vergleich von OLTP-Systemkonfigurationen verschiedener Hersteller. Wegen des hohen Messaufwandes bei TPC-C existiert jedoch nur eine relativ geringe Zahl von TPC-CErgebnissen. Die hierbei vermessenen Systemkonfigurationen sind im Allgemeinen High-End- © Fujitsu Technology Solutions 2009 Seite 4 (6) White Paper ⏐Benchmark Ueberblick OLTP Version: 2.2, Oktober 2003 Konfigurationen, die Bedürfnisse von Kunden oft weit übertreffen. Daher bietet TPC-C keine guten Grundlagen für stichhaltige Aussagen zur Skalierung von Systemen. Dieser systemimmanente Mangel wird durch den OLTP-Benchmark mit seiner stark vereinfachten Messmethodik behoben. OLTP-Ergebnisse ermöglichen damit sowohl ein Fine-Tuning auf der Systemkomponentenebene als auch fundierte Aussagen über den Performance-Gewinn neuer Modelle der PRIMERGY Server-Familie. © Fujitsu Technology Solutions 2009 Seite 5 (6) White Paper ⏐Benchmark Ueberblick OLTP Version: 2.2, Oktober 2003 Literatur PRIMERGY Systems http://de.ts.fujitsu.com/primergy PRIMERGY Performance http://de.ts.fujitsu.com/products/standard_servers/primergy_bov.html TPC-C http://www.tpc.org/tpcc Benchmark Überblick TPC-C http://docs.ts.fujitsu.com/dl.aspx?id=8d633e1e-8b44-4c5a-800f-7a1319649081 OLTP Benchmark Überblick OLTP http://docs.ts.fujitsu.com/dl.aspx?id=d1a1f3ac-f54f-4135-8a37-f312e598ac03 TPC-E http://www.tpc.org/tpce Benchmark Überblick TPC-E http://docs.ts.fujitsu.com/dl.aspx?id=08c95eef-5f18-4453-bed6-cbf9363f4e2f OLTP-2 Benchmark Überblick OLTP-2 http://docs.ts.fujitsu.com/dl.aspx?id=743d7d46-56e8-41d2-9d50-9ab29ccf4d18 Kontakt PRIMERGY Hardware PRIMERGY Product Marketing mailto:[email protected] PRIMERGY Performance und Benchmarks PRIMERGY Performance und Benchmarks mailto:[email protected] Lieferung vorbehaltlich Verfügbarkeit, technische Änderungen ohne Vorankündigung möglich, Korrektur von Irrtümern und Auslassungen vorbehalten. Alle angegebenen Konditionen (TCs) sind empfohlene Einstandspreise in Euro ohne MwSt. (sofern im Text nicht anderweitig angegeben). Sämtliche verwendete Hardware- und Software- Namen sind Handelsnamen und/oder Warenzeichen ihrer jeweiligen Hersteller. Copyright © Fujitsu Technology Solutions GmbH 2009 Herausgegeben durch: Internet: http://ts.fujitsu.com/primergy Enterprise Products PRIMERGY Server PRIMERGY Performance Lab mailto:[email protected] Extranet: http://partners.ts.fujitsu.com/com/products/serv ers/primergy