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