Spojrzenie na benchmarki TPC
Transkrypt
Spojrzenie na benchmarki TPC
Benchmarki aplikacyjne stosowane do testów transakcyjnych i analitycznych baz danych Jacek Barańczuk, Sybase Professional Services Sybase Polska 24 września 2007r. Agenda Benchmarki - wprowadzenie Rys historyczny Organizacja TPC Spojrzenie na benchmarki TPC Przykładowy benchmark TPC (TPC-H) Benchmarki – wprowadzenie Definicja benchmarku aplikacyjnego Benchmark – aplikacja sztucznie obciążająca system informatyczny w celu pomiaru jego wydajności Benchmark aplikacyjny – specyfikuje obciążenie systemu modelujące charakterystykę „typowej aplikacji” z wybranej dziedziny zastosowań Kryteria: Adekwatność Przenaszalność Skalowalność Nieskomplikowanie Benchmarki - wprowadzenie Kto je definiuje – wybrane organizacje SPEC (Standard Performance Evaluation Cooperation) SPECint2006 SPECfp2006 SPECint2000 SPECfp2000 SPECjAppServer2004 (Standard) SPECjbb2005 SPECjvm98 SPECWeb2005 SPECsfs97_R1 (V3) SPECsfs97_R1 (V2) SPECmail2001 SPEC MPI SPEC HPC SPEC OMP SPEC OPC SPEC APC Źródło: http://www.spec.org/ Benchmarki - wprowadzenie Kto je definiuje – wybrane organizacje SPC (Storage Performance Council) SPC-1 SPC-2 BAPCo (Business Application Performance Corporation) SysMark MobileMark WebMark SAP ORACLE Microsoft NotesBench iComp Źródło: http://www.ideasinternational.com/benchmark/ben010.aspx#TPC Rys historyczny Benchmark Wisconsin (początek lat 80-tych) Benchmark DebitCredit (1985) -TPC-A w przyszłości TP1 – TPC-B w przyszłości Benchmark ASSSAP (1987) Benchmark Set Query (koniec lat 80-tych) Benchmark TPC-D (1990) Spojrzenie na benchmarki TPC Kilka słów o organizacji TPC = Transaction Processing Performance Council Aktualnie realizowane TPC-C TPC-E TPC-H TPC-App Dodatkowe kryteria podziału: Clustered Subset Non-Clustered Subset 100GB 300GB 1000GB 3000GB 10000GB 30000GB Realizowane wcześniej TPC-A TPC-B TPC-D TPC-R TPC-W Spojrzenie na benchmarki TPC Badanie wydajności OLTP – TPC-C Wprowadzony w lipcu 1992, obecnie w wersji 5.9 Symuluje środowisko, z użytkownikami wykonującymi transakcje na bazie danych aplikacji obsługi zamówień Obciążenie stanowi 5 typów transakcji (wiele I/O, duże obciążenie cache’u): Nowe zamówienie Płatność Status zamówienia Dostawa Stany magazynowe Transakcje (update, insert, delete, abort) wykonywane na bazie z 9 tabelami Spojrzenie na benchmarki TPC Badanie wydajności OLTP – TPC-C Miara – przepustowość dla nowych zamówień (tpmC) oraz cena/przepustowość ($/tpmC) Wymagany czas odpowiedzi: 90% każdego rodzaju transakcji musi mieć czas odpowiedzi <=5 sekund, z wyjątkiem stanów magazynowych dla których ma być <=20 sekund Pierwszy wynik (wrzesień 1992): 54 tpmC 188 562$/tpmC Dzisiejszy wynik (wrzesień 2007, wszystkie systemy = klastrowe/nieklastrowe): 102 454 tpmC 0,73$/tpmC Spojrzenie na benchmarki TPC Typowa konfiguracja Usługi prezentacji Hardware Emulowanie obciążenia użytkownika System kierujący Term. LAN Klient Funkcje bazodanowe C/S LAN Software Czas odpowiedzi mierzony tu RTE, np.: Empower preVue LoadRunner Aplikacja TPC-C + Monitor transakcyjny i/lub Biblioteka RPC bazy danych np.: Tuxedo, ODBC Serwer baz danych ... Aplikacja TPC-C (procedury składowane) + Motor baz danych + Monitor transakcyjny Np.: SQL Server, Tuxedo Spojrzenie na benchmarki TPC Badanie wydajności OLTP (nowy) – TPC-E Wprowadzony w lutym 2007 Symuluje środowisko, z użytkownikami wykonującymi transakcje na bazie danych – rynek finansowy (dom maklerski) Obciążenie stanowi 10 typów transakcji (czytających i piszących), zarówno synchronicznych jak i asynchronicznych Znacznie bardziej zbliżone warunki do rzeczywistości: tabele wypełnione danymi pseudo-rzeczywistymi oddanie naturalnego rozkładu danych Transakcje (update, insert, delete, abort) wykonywane na bazie z 33 tabelami Spojrzenie na benchmarki TPC Badanie wydajności OLTP (nowy) – TPC-E Różnice w schematach baz danych Characteristic TPC-E TPC-C Tables 33 9 Columns 188 92 Min Cols / Table 2 3 Max Cols / Table 24 21 Data Type Count Many 4 Data Types UID, CHAR, NUM, DATE, BOOL, LOB UID, CHAR, NUM, DATE Primary Keys 33 8 Foreign Keys 50 9 Tables w/ Foreign Keys 27 7 Check Constraints 22 0 Referential Integrity Yes No Spojrzenie na benchmarki TPC Badanie wydajności OLTP (nowy) – TPC-E Różnice w danych testowych Przykładowe dane w tabeli Customer w TPC-C C_FIRST C_MIDDLE C_LAST C_STREET_1 C_CITY RONpTGcv5ZBZO8Q OE BARBARABLE bR7QLfDBhZPHlyDXs OmWlmelzIJ0GeP kYM e8u6FMxFLtt6p Q OE BARBARPRI eEbgKxoIzx99ZTD S 4V1t1VmdVcXyoTOMwpPz bTUkSuVQGdXLjGe OE BARBARPRES QCGLjWnsqSQPN D S jVHBwIGFh2k oTOMwpPz 18AEf3ObueKvubUX OE BARBARESE JnBSg4RtZbALYu S 5g8XMnlegn oTOMwpPz mFFsJYeYE6AR bUX OE BARBARANTI MLEwwdy3dXfqngFcE yVVR4iEtj0ADEwe wpPz Przykładowe dane tabeli Customer w TPC-E C_TAX_ID C_L_NAME C_F_NAME C_M_NAME C_GNDR C_DOB C_EMAIL_1 757FI2006HD923 Mexicano Courtney T F 1997-11-30 [email protected] 922SN3775RQ823 Udley Judith F F 1954-09-27 [email protected] 006GT3444BE624 Buchanan John R M 1971-06-13 [email protected] 181UZ4114LR434 Soloman Clinton D M 1938-02-27 [email protected] 355IE4773VF335 Orner Harry P M 1974-11-15 [email protected] Spojrzenie na benchmarki TPC Badanie wydajności OLTP (nowy) – TPC-E Przebieg testów – ogólne spojrzenie Driver System Under Test (SUT) Data Maintenance Brokerage House sT DM DM eT Customer Emulator MW BV CP sT TS TU CP TL SD TS TL eT TO BV MW TU SD sT TO eT Orders Market Exchange Emulator Asynch. Send To Market Interface Triggered Limit Orders Process sT eT Trade Confirmation TR ACK Ticker TR MF sT Limit Orders Ticker MF eT Market Order ACK Limit Order Spojrzenie na benchmarki TPC Badanie wydajności OLTP (nowy) – TPC-E Fragment świata rzeczywistego Modeled Business User Interfaces Market Exchange Network Presentation Services Application And Business Logic Services Network Database Services Legend Customer Sponsor Provided Stock Market Ważne punkty Kod generatora danych dostarczany przez TPC Cel: Obciążenie skupione na bazie danych Prostsze testowanie: szybsza konfiguracja, niższe koszty testów, szybszy zwrot Spojrzenie na benchmarki TPC Badanie wydajności DSS – TPC-H Wprowadzony w lutym 1999, obecnie w wersji 2.6.1 Symuluje środowisko DSS z użytkownikami obciążającymi bazę danych zapytaniami dającymi odpowiedź na krytyczne pytania biznesowe -> zapytania ad-hoc i zapytania o dużym poziomie skomplikowania Rozmiar bazy danych jest skalowany od 100GB do 30TB Obciążenie zbiorem 22 zapytań oraz dwóch funkcji ładowania i usuwania danych Realizowane są 2 rodzaje testów: Power test Throughput test Liczba zaangażowanych tabel wynosi 8 Spojrzenie na benchmarki TPC Badanie wydajności DSS – TPC-H Miara – przepustowość wyrażana w zapytaniach na godzinę (QphH@Size) Gdzie: SF – rozmiar bazy danych wyrażony w GB, QI(i,0) – wyrażony w sekundach czas wykonania zapytania testowego numer i, RI(j,0) – wyrażony w sekundach czas wykonania funkcji numer j, S – liczba sesji (strumieni) zapytań testowych, TS- wyrażony w sekundach czas wykonania wszystkich sesji zapytań testowych. Przykładowy benchmark TPC (TPC-H) Sybase IQ 12.6 SAS na platformie SunFire X4100 M2 Przykładowy benchmark TPC (TPC-H) Sybase IQ 12.6 SAS na platformie SunFire X4100 M2 Przykładowy benchmark TPC (TPC-H) Sybase IQ 12.6 SAS na platformie SunFire X4100 M2 Podsumowanie Benchmarki wykorzystywane obecnie do testowania baz danych transakcyjnych/analitycznych: TPC-C TPC-E TPC-H