1 mathias riediger systems engineer wie definiert und berechnet man storage-performance?
TRANSCRIPT
1
Mathias RiedigerSystems Engineer
Wie definiert und berechnet man Storage-Performance?
2
Performance-Theorie
Performance im Storage System
Performance bewerten
Take-away
Agenda
3
Was wir in 30min nicht machen...
3
0-5
11
51
2-1
02
3
1K
-20
47
2K
-40
95
4K
-81
91
8K
-16
38
3
16
K-3
27
67
32
K-6
55
35
64
K-1
31
07
1
>1
28
k
Su
m
0
500000
1000000
1500000
2000000
2500000
3000000
4
Etwas Theorie ...
5
Theorie zu Performance
Was macht man heute wenn man sich mit einem Thema
beschäftigt?
Richtig!
6
Theorie zu Performance
Also google befragt:
Was ist Performance?
7
Theorie zu Performance
Antwort:
8
Theorie zu Performance
9
Theorie zu Performance
OK, Google auf deutsch befragt:
Was ist Geschwindigkeit?
10
Theorie zu Performance
Antwort:
11
Theorie zu Performance
AAAAh.....
12
Theorie zu Performance
Definition Geschwindigkeit:
Geschwindigkeit =Weg
Zeitoder v =
s
t
13
Theorie zu Performance
Geschwindigkeit wahrnehmen bzw. spüren:
schnell
naja, eher langsamer
Da kommen wir nochmal `drauf zurück....
240km/h
150km/h
14
Theorie zu Performance
Wie passt das jetzt alles zu Storage Performance?
v =st
15
Theorie zu Performance
Wie passt das jetzt alles zu Storage Performance?
v =st
Kein guter Ansatz
16
Theorie zu Performance
Parameter für Storage Performance?
MB/s & IOPs
„Randomness“
Latenz
Concurrency
Grösse der Operationen
Typ der Operationen
Working Set Grösse
Daten & Operationen pro Sek.
Antwortzeit/Dauer einer Operation
sequentiell oder durcheinander
???
Blockgrössen
read, write, getattr, setattr, etc.
aktive Daten im Zugriff
17
Theorie zu Performance
Concurrency - Little‘s Law:
Little‘s Gesetz besagt, dass die durchschnittliche Anzahl
von Kunden (L) in einem Wartesystem, welches sich in
einem stabilen Zustand befindet, gleich dem Produkt
ihrer durchschnittlichen Ankunftsrate (λ) und ihrer
durchschnittlichen Verweildauer (W) im System ist.
L = λ * W
18
Theorie zu Performance
19
Theorie zu Performance
Concurrency - Little‘s Law:
Little‘s Gesetz besagt, dass die durchschnittliche Anzahl
von Kunden (L) in einem Wartesystem, welches sich in
einem stabilen Zustand befindet, gleich dem Produkt
ihrer durchschnittlichen Ankunftsrate (λ) und ihrer
durchschnittlichen Verweildauer (W) im System ist.
L = λ * W
20
Theorie zu Performance
1. Beispiel Geldautomat:
1 Kunde pro Minute (λ)
1 Minute Ausgabezeit am Automaten (W)
Anzahl Kunden am Automaten (L)
L = λ * W = 1 * 1 = 1 Kunde am Automat
=> stabiles System, pro Min. kommt und geht einer
21
Theorie zu Performance
2. Beispiel Geldautomat:
2 Kunden pro Minute (λ)
1 Minute Ausgabezeit am Automaten (W)
Anzahl Kunden am Automaten (L)
L = λ * W = 2 * 1 = 2 Kunden am Automaten
Aber: einer wartet, einer hebt Geld ab
nach 1 Min. geht einer, es kommen zwei neue
=> instabiles System, Schlange wird länger
22
Theorie zu Performance
2. Beispiel Geldautomat:
2 Kunden pro Minute (λ)
1 Minute Ausgabezeit am Automaten (W)
Anzahl Kunden am Automaten (L)
Ausweg:
Ausgabezeit am Automaten halbieren oder 2. Automat
L = λ * W = 2 * 0.5 = 1 Kunde am Automat
L = λ * W = 2 * 1 = 2 Kunden an 2 Automaten
23
Theorie zu Performance
1. Beispiel Geldautomat:
1 Geldautomat
=> Concurrency = 1
=> 1 Kunde / Min.
24
Theorie zu Performance
2. Beispiel Geldautomat:
2 Geldautomaten
=> Concurrency = 2
=> 2 Kunden / Min.
25
Theorie zu Performance
Little‘s Law im Storage System:
Ankunftsrate im System => IOs / Sek.
Verweildauer im System => Latenz
Concurrency = (IOs / Sek.) * Latenz
26
Theorie zu Performance
Parameter für Storage Performance?
MB/s & IOPs
Randomness
Latenz
Concurrency
Grösse der Operationen
Typ der Operationen
Working Set Grösse
Daten & Operationen pro Sek.
Antwortzeit/Dauer einer Operation
sequentiell oder zufällig
IOPs * Latenz
Blockgrössen
read, write, getattr., setattr.
aktive Daten im Zugriff
27
Performance im
Storage System
28
Was soll das jetzt mit „Concurrency“?
240km/h
150km/hbis 45.000 IOPs6.8ms mittlere Latenz
bis 25.000 IOPs4.3ms mittlere Latenz
Wer kopiert eine Datei schneller ?# dd if=/tmp/source of=/tmp/target bs=64k
4.60 MB/sec
7.23 MB/sec(1000ms / 4.3ms = 232.5232.5 * 64K / 2 = 7.23 MB/sec)
(1000ms / 6.8ms = 147.1147.1 * 64K / 2 = 4.60 MB/sec)
29
Was soll das jetzt mit „Concurrency“?
240km/h
150km/hbis 45.000 IOPs6.8ms mittlere Latenz
bis 25.000 IOPs4.3ms mittlere Latenz
Wer bietet insgesamt mehr Durchsatz?
1000ms / 6.8ms = 147.145.000 / 147.1 = 305.9305.9 * 4.6 MB/sec = 1407.2 MB/sec
1000ms / 4.3ms = 232.525.000 / 232.5 = 107.5107.5 * 7.23 MB/sec = 777.4 MB/sec
30
Was soll das jetzt mit „Concurrency“?
240km/h
150km/hbis 45.000 IOPs6.8ms mittlere Latenz
bis 25.000 IOPs4.3ms mittlere Latenz
Was war bei dieser Betrachtung neben Latenz und IOs pro Sekunde noch wichtig?
31
Der magische Performance Quadrant
RandomRead
RandomWrite
SequentialRead
SequentialWrite
kleineBlöcke
großeBlöcke
strukturierteDaten
unstrukturierteDaten
© Georg MeyBlockgrössen!
32
Was soll das jetzt mit „Concurrency“?
240km/h
150km/hbis 45.000 IOPs6.8ms mittlere Latenz
bis 25.000 IOPs4.3ms mittlere Latenz
Wer kopiert eine Datei schneller ?# dd if=/tmp/source of=/tmp/target bs=4k
4.60 MB/sec (4K)
7.23 MB/sec (4K)(1000ms / 4.3ms = 232.5232.5 * 4K / 2 = 465 KB/sec)
(1000ms / 6.8ms = 147.1147.1 * 4K / 2 = 294 KB/sec)
33
Concurrency
Ein “single threaded” Workload zeigt wie schnell ein Speichersystem sein kann.
… aber …
Ein “single threaded” Workload wird niemals demonstrieren, wie viel Last (Performance) einSpeichersystem tragen kann!
34
Worüber haben wir noch gar nicht gesprochen?
35
Performance bewerten
36
perfstat!!! ....yes!!!
Wer kennt folgenden Dialog?
Kunde: Das ist langsam!
NetApp: Was ist langsam?
Kunde: Die Datenbank!
NetApp: Hmm, da brauch‘ ich mal nen perftat!
37
perfstat – kleiner Tipp...
perfstat gibt‘s als GUI-Tool, ohne Installation!
http://mysupport.netapp.com/NOW/download/tools/gui_ntap_support/
38
perfstat – Worauf gucken die?
Who cares?
39
CPU–Auslastung
Solange die Latenzen in Ordnung sind,
ist die CPU-Auslastung egal!
Ontap ist kein präemptives Multitasking System,
sondern hat ein Domänen-Konzept!
„Don‘t worry about 100% CPU utilization.
Filer is doing Filer things!“
http://mysupport.netapp.com/NOW/download/tools/gui_ntap_support/
40
Latenzen – was kann ich max./min. erwarten?
Operation Medium Latenz in Millisek.Read from Controller Cache 0.1Read from Flash Cache 0.3Read from Flash Pool / SSD 0.5Read from 10k SAS Disk 6.6Read from 7.200 SATA Disk 12.7Write to Controller Cache 0.3
IO Operationen mit kleinen Blöcken (FAS62xx)
41
perfstat – Worauf gucken die?
wafl_susp – w:
.....
wafl_reads from cache = 1995844
wafl_reads from ext_cache = 758634
wafl_reads from disk = 173595
…..
http://mysupport.netapp.com/NOW/download/tools/gui_ntap_support/
68%
26%
6%
42
Take-away
43
Take-aways
Solange die Latenzen in Ordnung sind,
ist die CPU-Auslastung egal!
Concurrency/Parallelität ist wichtig!
Performance ist ein ein kompliziertes Gemisch aus
%read, %write, %random, %sequential, latency,
concurrency, block size, operation type
=> alles muss gesamtheitlich betrachtet werden
Latenz ist eines der wichtigsten Kriterien!
http://mysupport.netapp.com/NOW/download/tools/gui_ntap_support/
44
Herzlichen Dank!