HelgeKlein.com

Home of SetACL

Sizing von XenApp-Farmen Berechnung statt Bauchgefühl

Helge Klein

HelgeKlein.com

Home of SetACL

Wer ist

Helge Klein?

CTP, MVP Entwickler von SetACL und Delprof2 Selbständiger Berater und Entwickler Architekt des späteren Citrix Profile Management

HelgeKlein.com

Home of SetACL

Worum

geht‘s hier eigentlich?

Wissenschaftliche Methodik zum Farmsizing Ermittlung der Kapazität einer künftigen Farm

HelgeKlein.com

Home of SetACL

Methodik 1. Kapazität vorhandener Farm ermitteln 2. Auslastung ermitteln und Engpässe identifizieren 3. Kapazität neuer Farm berechnen

HelgeKlein.com

Home of SetACL

Beispiel: Beschreibung

Farmleistung Ist Gesamt

Farmleistung Ist / Benutzer

Faktor für neue Farmleistung Farm Neu / Benutzer

Farmleistung Neu Gesamt

RAM für Benutzersitzungen [MB] CPU [normalisierte Kerne]

630.000

315

2,0

630

1.575.000

1.250

0,63

0,25

0,16

391

Festplatten [Schreib-IOPS]

7.300

3,65

1,5

5,48

13.688

Netzwerk [MByte/s]

24.000

12,00

0,1

1,20

3.000

HelgeKlein.com

Home of SetACL

Woher kommen die

Zahlen? 1. Ist-Erfassung 2. Beobachtung 3. Messung 4. Berechnung

HelgeKlein.com

Home of SetACL

Ist-Erfassung

HelgeKlein.com

Home of SetACL

for /f %i in (AllFarmServers.txt) do wmic /node:%i cpu get name, maxclockspeed, systemname, description, manufacturer, revision /format:csv >> CPUs.txt

Erfassung CPU AllFarmServers.txt mittels qfarm erzeugen Mit Hilfe der CPU-Liste kann Server-Modell bestimmt werden

HelgeKlein.com

Home of SetACL

Srv001,x86 Srv001,x86 Srv001,x86 Srv001,x86 Srv002,x86 Srv002,x86 Srv002,x86 Srv002,x86 Srv002,x86 Srv002,x86 Srv002,x86 Srv002,x86 Srv003,x86 Srv003,x86 Srv003,x86 Srv003,x86 Srv003,x86 Srv003,x86 Srv003,x86 Srv003,x86 Srv004,x86 Srv004,x86 Srv004,x86 ...

Family Family Family Family Family Family Family Family Family Family Family Family Family Family Family Family Family Family Family Family Family Family Family

15 Model 4 15 Model 4 15 Model 4 15 Model 4 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 44 6 Model 26 6 Model 26 6 Model 26

Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping Stepping

10,GenuineIntel,3400,Intel(R) Xeon(TM) CPU 3.40GHz,1034,Srv001 10,GenuineIntel,3400,Intel(R) Xeon(TM) CPU 3.40GHz,1034,Srv001 10,GenuineIntel,3400,Intel(R) Xeon(TM) CPU 3.40GHz,1034,Srv001 10,GenuineIntel,3400,Intel(R) Xeon(TM) CPU 3.40GHz,1034,Srv001 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv002 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv002 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv002 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv002 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv002 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv002 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv002 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv002 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv003 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv003 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv003 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv003 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv003 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv003 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv003 2,GenuineIntel,2666,Intel(R) Xeon(R) CPU E5640 @ 2.67GHz,11266,Srv003 5,GenuineIntel,2666,Intel(R) Pentium(R) III Xeon-Prozessor,6661,Srv004 5,GenuineIntel,2666,Intel(R) Pentium(R) III Xeon-Prozessor,6661,Srv004 5,GenuineIntel,2666,Intel(R) Pentium(R) III Xeon-Prozessor,6661,Srv004

Ergebnis

HelgeKlein.com

Home of SetACL

RAM, Festplatten, Netzwerkkarten Könnte auch über WMI gemacht werden Meist je Modell gleich Manuelle Ermittlung je Modell und Zuordnung über CPU

HelgeKlein.com

Home of SetACL

Server-Datenblatt Server

HP DL360 G4

CPU

2x Xeon dual core 3,0 GHz, kein Hyper-Threading 4 Kerne, CPUID: x86 Family 15 Model 4 Stepping 1

RAM

4 GB

Netzwerk

2x Gigabit, davon 1 angeschlossen

RAID-Controller

Smart Array 6i

Festplatten

2x 70 GB als RAID-1, Compaq BF0728A4CB, 3,5“, 15.000 U/Min, Ultra320 SCSI

HelgeKlein.com

Home of SetACL

Ergebnis Inventur Modellbezeichnung DL360 G7 DL360 G6 DL360 G5 DL360 G4p DL360 G4

Anzahl 26 52 70 60 35

HelgeKlein.com

Home of SetACL

Beobachtung

HelgeKlein.com

Home of SetACL

Wie viele Benutzer sind angemeldet? Auslastung von CPU, RAM, Netzwerk Einzelne Prozesse mit viel RAM oder CPU?

HelgeKlein.com

Home of SetACL

Physischer Datenträger\Zeit(%)

Physischer Datenträger\Durchschnittliche Warteschlangenlänge „Zeit“ entspricht Flackern der Festplatten-LED Warteschlangenlänge: Anzahl wartender IOs

HelgeKlein.com

Home of SetACL

Hypothese: Farm ist

speicherbegrenzt In anderen Fällen kann der begrenzende Faktor natürlich ein anderer sein.

HelgeKlein.com

Home of SetACL

Messung Werkzeug: Perfmon Im Folgenden relevante Indikatoren

HelgeKlein.com

Home of SetACL

Terminal Services\Active Sessions Terminal Services\Inactive Sessions Terminal Services\Total Sessions System\Processes

Allgemeine Systeminformationen Indikatoren manuell in Perfmon zusammenstellen. Mittels „Speichern unter…“ als HTML-Datei sichern. Die HTML-Datei öffnen und die (englischen) Namen der Indikatoren in eine Textdatei kopieren.

HelgeKlein.com

Home of SetACL

PhysicalDisk(_Total)\% Disk Time

PhysicalDisk(_Total)\Avg. Disk Queue Length PhysicalDisk(_Total)\Disk Reads/sec

PhysicalDisk(_Total)\Disk Writes/sec Festplattenaktivität Prozentual, Warteschlange, Operationen pro Sekunde

HelgeKlein.com

Home of SetACL

Processor(_Total)\% Processor Time

Memory\Available MBytes Network Interface(*)\Bytes Total/sec

CPU, RAM und Netzwerk RAM: Gesamtmenge muss bekannt sein!

HelgeKlein.com

Home of SetACL

logman create counter TSPerf -f csv -cf C:\PerfLogs\Counters.txt -o C:\PerfLogs\Server13.csv -si 60 -rf 24:00:00

Automatisierung Protokoll erzeugen und starten. Format CSV, Verwendung der Indikatoren aus „C:\PerfLogs\Counters.txt“, Speicherung in „C:\PerfLogs\Server013.csv“, ein Datensatz alle 60 Sekunden, Laufzeit 24 Stunden.

HelgeKlein.com

Home of SetACL

logman create counter TSPerf -f csv -cf C:\PerfLogs\Counters.txt –o C:\PerfLogs\Server13.csv -si 60 -rf 24:00:00 -s Server13

Auf entferntem System „Server13“

HelgeKlein.com

Home of SetACL

for /f %i in (Servers.txt) do logman create counter TSPerf -f csv -cf C:\PerfLogs\Counters.txt -o C:\PerfLogs\%i.csv -si 60 -rf 24:00:00 -s %i

Für viele Server auf einmal Ein Servername je Zeile in „Servers.txt“

HelgeKlein.com

Home of SetACL

Auswertung der gesammelten Daten

HelgeKlein.com

Home of SetACL

CPU und Sitzungen Server 37 Leichte Last während Anmeldung, später kaum noch. Insgesamt deutliche Überkapazität.

HelgeKlein.com

Home of SetACL

CPU und Sitzungen CPU Server 89

HelgeKlein.com

Home of SetACL

Überlagerung der CPU-Last vieler Server Analyse lässt sich auf einen Blick überprüfen.

HelgeKlein.com

Home of SetACL

HDD und Sitzungen Server 37 Insgesamt leichte Last, während Anmeldezeiten jedoch hoch. Volllast ca. bei 200

HelgeKlein.com

Home of SetACL

HDD und Sitzungen Server 89

HelgeKlein.com

Home of SetACL

Überlagerung der HDD-Last vieler Server Analyse lässt sich auf einen Blick überprüfen.

HelgeKlein.com

Home of SetACL

RAM und Sitzungen Server 37 Kontinuierlich steigender Bedarf, Maximum am Nachmittag. Wegen Festplattencache darf RAM nicht auf 0 gehen! Insgesamt hohe Last

HelgeKlein.com

Home of SetACL

RAM und Sitzungen Server 89

HelgeKlein.com

Home of SetACL

Überlagerung der RAM-Last vieler Server Analyse lässt sich auf einen Blick überprüfen.

HelgeKlein.com

Home of SetACL

Netzwerk und Sitzungen Server 37 200 = 2 MB/s Mittlere Datenrate < 200 KB/s

Sehr geringe Last, hohe Überkapazität

HelgeKlein.com

Home of SetACL

Netzwerk und Sitzungen Server 89

HelgeKlein.com

Home of SetACL

Überlagerung der Netzwerklast vieler Server Analyse lässt sich auf einen Blick überprüfen.

HelgeKlein.com

Home of SetACL

Hypothese bestätigt: Die Farm ist

Speicher-begrenzt CPU-Last: gering, Netzwerk: vernachlässigbar Festplatte: Moderat

HelgeKlein.com

Home of SetACL

Berechnung der

Farmleistung Beschreibung

Farmleistung Ist Gesamt

Farmleistung Ist / Benutzer

Faktor für neue Farmleistung Farm Neu / Benutzer

Farmleistung Neu Gesamt

RAM für Benutzersitzungen [MB] CPU [normalisierte Kerne]

630.000

315

2,0

630

1.575.000

1.250

0,63

0,25

0,16

391

Festplatten [Schreib-IOPS]

7.300

3,65

1,5

5,48

13.688

Netzwerk [MByte/s]

24.000

12,00

0,1

1,20

3.000

HelgeKlein.com

Home of SetACL

Normalisierung

der CPU-Leistung

Wie verschiedene CPU-Modelle vergleichbar machen? Benchmarks problematisch Besser: Mooresches Gesetz: Leistungsverdoppelung alle 18-24 Monate Überraschend genau (u.a. weil selbsterfüllende Prophezeiung)

HelgeKlein.com

Home of SetACL

𝐿

𝑡

=𝑒

0,033𝑡

Leistungsfähigkeit in Abhängigkeit von der Zeit in Monaten Gilt so für eine Verdopplung alle 21 Monate Älteste vorhandene CPU = 1,0

HelgeKlein.com

Home of SetACL

CPU

Kerne

Erscheinungsdatum

Xeon 7100 „Tulsa“ 3,0 GHz

2

08/2006

Leistungsindex CPU Leistungsindex je Kern 1,0 1,0

Xeon 7100 „Tulsa“ 3,4 / 3,6 GHz Xeon E5430 / E5440

2

03/2007

1,26

1,26

4

11/2007

1,64

0,82

Xeon X5550

4

03/2009

2,78

1,39

Xeon E5640

4

03/2010

4,13

2,06

HelgeKlein.com

Home of SetACL

CPU

Anzahl CPUs

Anzahl Kerne

Anzahl Anzahl normalisierte CPUs normalisierte Kerne

Xeon 3 GHz

70

140

70

140

Xeon 3,4/3,6 GHz

119

238

150

300

Xeon E5430/E5440

70

280

115

230

Xeon X5550

67

268

186

370

Xeon E5640

26

104

107

210

Summe

352

1030

628

1250

HelgeKlein.com

Home of SetACL

Farmleistung:

1250 normierte CPUs 0,63 CPUs / Benutzer

HelgeKlein.com

Home of SetACL

IOPS – Maß aller Dinge Bei vielen gleichzeitigen Zugriffen ist Übertragungsrate nicht relevant Wichtiger: IOPS, Operationen pro Sekunde Wert abhängig von Messmethode  Herstellerangaben zweifelhaft

HelgeKlein.com

Home of SetACL

PhysicalDisk(_Total)\Disk Reads/sec PhysicalDisk(_Total)\Disk Writes/sec

Messung von IOPS mit Perfmon Lese- und Schreibzugriffe ggf. sehr unterschiedlich

HelgeKlein.com

Home of SetACL

Lese- und Schreib-IOPS Durchschnitt: ca. 15 Mit Reserve: 30

HelgeKlein.com

Home of SetACL

Farmleistung:

7300 IOPS 3,7 IOPS / Benutzer

HelgeKlein.com

Home of SetACL

RAM – Wie viel steht zur Verfügung? Ermittlung des gesamten für Benutzersitzungen verfügbaren RAMs

HelgeKlein.com

Home of SetACL

Servermodell

RAM / Gerät [GB] Anzahl Geräte

RAM / Modell gesamt [GB]

DL360 G4

3,5

35

122,5

DL360 G4p

3,5

60

210

DL360 G5

3,25

70

227,5

DL360 G6

3,49

52

181,48

DL360 G7

3,49

26

90,74

243

832

Summe

HelgeKlein.com

Home of SetACL

Beschreibung

Speicher [MB]

Sitzung 0 (Betriebssystem + Presentation Server + Virenscanner)

325

Kernel (auslagerbar + nicht auslagerbar)

175

Dateisystemcache

400

Gesamt

900

Vom Betriebssystem benötigtes RAM

HelgeKlein.com

Home of SetACL

Farmleistung:

630 GB 315 MB / Benutzer Ca. 25% Overhead wg. 900 MB fürs Betriebssystem

HelgeKlein.com

Home of SetACL

Netzwerk – zu viel für ICA? Je Server 1 x Gigabit, also ca. 100 MB/s

HelgeKlein.com

Home of SetACL

Farmleistung:

24 GB/s 12 MB/s / Benutzer Deutliche Überkapazität

HelgeKlein.com

Home of SetACL

Zukünftige

Kapazität

Beschreibung

Farmleistung Ist Gesamt

Farmleistung Ist / Benutzer

Faktor für neue Farmleistung Farm Neu / Benutzer

Farmleistung Neu Gesamt

RAM für Benutzersitzungen [MB] CPU [normalisierte Kerne]

630.000

315

2,0

630

1.575.000

1.250

0,63

0,25

0,16

391

Festplatten [Schreib-IOPS]

7.300

3,65

1,5

5,48

13.688

Netzwerk [MByte/s]

24.000

12,00

0,1

1,20

3.000

HelgeKlein.com

Home of SetACL

Name

Wert

Farmbenutzer Ist (CCU)

2.000

Farmbenutzer Neu (CCU)

2.500

RAM für Betriebssystem neu [MB]

1.300

Leistung je Kern neu [norm. Kerne]

1,9

IOPS je Festplatte neu

300

Reservefaktor für K-Fall

1,5

Berechnungsparameter. Es wurden berücksichtigt: Änderung Benutzerzahl, geänderter RAM-Bedarf neues OS, Anschaffung neuer Server, Kapazitätserhöhung f. K-Fall

HelgeKlein.com

Home of SetACL

Virtueller Server RAM [MB]

32.768

Benutzersitzungen

49,9

CPU-Kerne (phys.)

4,1

IOPS

273

Netzwerkkarten

0,6

Nach Festlegung der RAM-Menge ergeben sich die anderen Parameter automatisch.

HelgeKlein.com

Home of SetACL

Physische Server Anzahl VMs pro Host

3

Anzahl virt. 50 Server

RAM [MB]

101.376

CPU-Kerne

12

Anzahl 25 Hosts Benutzer / 150 Host

Festplatten

3

Netzwerkkarten

2

Nach Festlegung der VMs pro Host ergeben sich die anderen Parameter automatisch. Excel-Tabelle zur Kalkulation ist auf Anfrage verfügbar.

HelgeKlein.com

Home of SetACL

Vielen Dank! Helge Klein