Deep Dive: ConfigMgr RamDisk TFTP-Blocksize und TFTP-Windowsize

Es ist sicherlich nicht besonders neu, dass man die PXE-Boot-Performance eines System Center Configuration Manager Distribution Points über das Anpassen der RamDisk TFTP-Blocksize und RamDisk TFTP-Windowsize beeinflussen kann. Aber was passiert genau? Klar ist: Höhere TFTP-Block- und TFTP-Windowsizes sorgen für eine erhöhte PXE-Boot-Geschwindigkeit.

Die folgende Folie zeigt, dass ich durch das Anpassen der TFTP-Blocksize und TFTP-Windowsize die PXE-Bootgeschwindigkeit eines „herkömmlichen“ Windows PE (x64, 10.0.10586.0) von 65,40 Sekunden auf 13,52 Sekunden drücken konnte.

In diesem Fall kamen virtuelle Hyper-V-Maschinen unter Windows 10 mit Windows Server 2012 R2 zum Einsatz. Die Messungen in der Übersicht:

Default BlockSize only WindowSize + BlockSize
Run 1 (in sec.) 62,83 17,32 13,2
Run 2 (in sec.) 69,48 17,87 13,42
Run 3 (in sec.) 63,9 18,54 13,95
Average (in sec.) 65,40 17,91 13,52

Eine Aufzeichnung des Bootvorgangs mit RamDiskTFTPBlockSize: 16384 (16k) und RamDiskTFTPWindowSize: 8:

Die wichtigste Komponente in Bezug auf die PXE-Boot-Geschwindigkeit ist die TFTP-Blockgröße. Microsoft supported eine maximale TFTP-Blockgröße von 16384 Bytes. In der Praxis muss jedoch getestet werden, welche Werte in der Produktion am stabilsten laufen. Um die Anpassungen vorzunehmen, müssen dafür pro Distribution Point folgende Registry-Werte angepasst werden.

  • RamDiskTFTPWindowSize: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\DP
    Name: RamDiskTFTPWindowSize
  • RamDiskTFTPBlockSize: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\DP
    Name: RamDiskTFTPBlockSize

Ein wichtiger Auszug aus dem Microsoft-TechNet, der meiner Meinung gut erklärt was technisch passiert.

You can customize the RamDisk TFTP block size, and beginning in Configuration Manager version 1606, the window size for PXE-enabled distribution points. If you have customized your network, it could cause the boot image download to fail with a time-out error because the block or window size is too large. The RamDisk TFTP block size and window size customization allow you to optimize TFTP traffic when using PXE to meet your specific network requirements. You will need to test the customized settings in your environment to determine what is most efficient.

TFTP block size:

The block size is the size of the data packets that are sent by the server to the client that is downloading the file (as discussed in RFC 2347). A larger block size allows the server to send fewer packets, so there are fewer round-trip delays between the server and the client. However, a large block sizes leads to fragmented packets, which most PXE client implementations do not support.

TFTP window size:

TFTP requires an acknowledgment (ACK) packet for each block of data that is sent. The server does not send the next block in the sequence until it receives the ACK packet for the previous block. TFTP windowing is a feature in Windows Deployment Services that enables you to define how many data blocks it takes to fill a window. The server sends the data blocks back-to-back until the window is filled, and then the client sends an ACK packet. Increasing this window size reduces the number of round-trip delays between the client and server and decreases the overall time that is required to download a boot image.

Zum besseren Verständnis habe ich den Netzwerktraffic mit dem Microsoft Message Analyzer aufgezeichnet:

Capture 1 (Default): RamDiskTFTPBlockSize: 4096 (4k), RamDiskTFTPWindowSize: 1

Capture 2: RamDiskTFTPBlockSize: 8192 (8k), RamDiskTFTPWindowSize: 8

Capture 3: RamDiskTFTPBlockSize: 16384 (16k), RamDiskTFTPWindowSize: 8

Welche Werte schlussendlich für Eure Umgebung in puncto Stabilität am besten geeignet sind, hängt von allerlei Faktoren ab. Hierzu zählen u.a. die verwendeten Netzwerkkomponenten, PC- oder Notebookmodelle sowie die Virtualiserungumgebung. Hier ist testen angesagt.

Last but not least: Im UserVoice gibt es momentan den Vorschlag die Einstellungen für die o.g. Werte über die ConfigMgr-Console zu ermöglichen:

Über André Picker

Kind der 90er. Aufgewachsen im Ruhrgebiet. Anhänger des schwarz-gelben Fußballs. System Center Configuration Manager-Experte, IT-Geek. Optimist. Microsoft MVP für Enterprise Mobility. Weitere Informationen gibt es hier.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.