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

Podobne dokumenty