Top Banner
1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage- Performance?
44

1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

Apr 06, 2015

Download

Documents

Elfi Wettstein
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

1

Mathias RiedigerSystems Engineer

Wie definiert und berechnet man Storage-Performance?

Page 2: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

2

Performance-Theorie

Performance im Storage System

Performance bewerten

Take-away

Agenda

Page 3: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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

Page 4: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

4

Etwas Theorie ...

Page 5: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

5

Theorie zu Performance

Was macht man heute wenn man sich mit einem Thema

beschäftigt?

Richtig!

Page 6: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

6

Theorie zu Performance

Also google befragt:

Was ist Performance?

Page 7: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

7

Theorie zu Performance

Antwort:

Page 8: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

8

Theorie zu Performance

Page 9: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

9

Theorie zu Performance

OK, Google auf deutsch befragt:

Was ist Geschwindigkeit?

Page 10: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

10

Theorie zu Performance

Antwort:

Page 11: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

11

Theorie zu Performance

AAAAh.....

Page 12: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

12

Theorie zu Performance

Definition Geschwindigkeit:

Geschwindigkeit =Weg

Zeitoder v =

s

t

Page 13: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

13

Theorie zu Performance

Geschwindigkeit wahrnehmen bzw. spüren:

schnell

naja, eher langsamer

Da kommen wir nochmal `drauf zurück....

240km/h

150km/h

Page 14: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

14

Theorie zu Performance

Wie passt das jetzt alles zu Storage Performance?

v =st

Page 15: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

15

Theorie zu Performance

Wie passt das jetzt alles zu Storage Performance?

v =st

Kein guter Ansatz

Page 16: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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

Page 17: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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

Page 18: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

18

Theorie zu Performance

Page 19: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-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

Page 20: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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

Page 21: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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

Page 22: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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

Page 23: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

23

Theorie zu Performance

1. Beispiel Geldautomat:

1 Geldautomat

=> Concurrency = 1

=> 1 Kunde / Min.

Page 24: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

24

Theorie zu Performance

2. Beispiel Geldautomat:

2 Geldautomaten

=> Concurrency = 2

=> 2 Kunden / Min.

Page 25: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

25

Theorie zu Performance

Little‘s Law im Storage System:

Ankunftsrate im System => IOs / Sek.

Verweildauer im System => Latenz

Concurrency = (IOs / Sek.) * Latenz

Page 26: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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

Page 27: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

27

Performance im

Storage System

Page 28: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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)

Page 29: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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

Page 30: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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?

Page 31: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

31

Der magische Performance Quadrant

RandomRead

RandomWrite

SequentialRead

SequentialWrite

kleineBlöcke

großeBlöcke

strukturierteDaten

unstrukturierteDaten

© Georg MeyBlockgrössen!

Page 32: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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)

Page 33: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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!

Page 34: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

34

Worüber haben wir noch gar nicht gesprochen?

Page 35: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

35

Performance bewerten

Page 36: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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!

Page 37: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

37

perfstat – kleiner Tipp...

perfstat gibt‘s als GUI-Tool, ohne Installation!

http://mysupport.netapp.com/NOW/download/tools/gui_ntap_support/

Page 38: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

38

perfstat – Worauf gucken die?

Who cares?

Page 39: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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/

Page 40: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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)

Page 41: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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%

Page 42: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

42

Take-away

Page 43: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

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/

Page 44: 1 Mathias Riediger Systems Engineer Wie definiert und berechnet man Storage-Performance?

44

Herzlichen Dank!