SCCM 2012 PXE Optimization

This week I had to optimize the PXE boot time because it took nearly 2 minutes to load the WinPE file over the network. I found different blogs with solutions to do that in SCCM 2007. In this blog I will explain the most powerful settings in a SCCM 2012 environment.

TFTP

Trivial File Transfer Protocol (TFTP) is used to download the WinPE to a computer. It’s a simple protocol to transfer data between computers, but it’s also very slow. That’s because each data packet contains one block of data, and must be acknowledged by an acknowledgment packet before the next packet can be sent.

 

RamDiskTFTPBlockSize

This value is the most important setting to boost the download speed over TFTP. It increases the block size and reduces the count of needed acknowledge packages.

Create a DWord Value with:

Name: RamDiskTFTPBlockSize

Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\DP

Values: 1024(Default), 2048, 4096, 8192 or 16384

Values higher than 16384 mostly result in a timeout because it is not supported by the protocol implementation. I had the problem also with older clients and a value of 16384, then I had to reduce it to 8192.

RamDiskTFTPWindowSize

This value increases the number of TFTP chunks to send data. In my environment I had only little improvements with this setting. But others have a significant performance increase. (http://blog.uvm.edu/jgm/2010/11/04/tuning-microsoft-pxe-tftp/)

Create a DWord Value with:

Name: RamDiskTFTPWindowSize

Key: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SMS\DP

Values: 4(Default), 8

Network Card

I tested various settings according to http://blog.danovich.com.au/2011/07/28/slow-sccm-osd-tftp-pxe/ but, had no big performance boosts.

Jumbo Frames

When Jumbo Frames are enabled my clients wont boot from PXE. I had always a timeout, so I recommend to disable them.

image

Receive and Send Buffers

This settings have no impact on the performance in my environment. So you have to test them in your environment. Newer network cards have mostly already a default buffer size of 2048. So perhaps you have to increase the value on older server’s.

Summery

With the correct values set I could reduce the downloading time from 01:39 to 00:18. Which is a big improvement for every environment.

 

RamDiskTFTPBlockSize RamDiskTFTPWindowSize Download duration (MM:SS)
1024(Default) 4(Default) 01:39
2048 4(Default) 01:15
4096 4(Default) 00:40
8192 4(Default) 00:26
16384 4(Default) 00:19
32768 4(Default) Timeout
1024(Default) 8 01:33
8192 8 00:24
16384 8 00:18
32768 8 Timeout
Thomas Kurth
Follow me

Thomas Kurth

Principal Workplace Consultant at baseVISION AG
I’m a consultant, trainer and architect for workplace management and enterprise mobility projects with Microsoft Technologies in the past eight years. I love to push and design the modern workplace based on Windows 10, EM&S and O365 for my customers which is the only answer for the current security threats, agile world and the fast-changing business requirements of my customers. Important for me is to simplify and automate the operational processes, because there are the highest costs.

MCSEMCTCMCE
Thomas Kurth
Follow me