COMMENTS
Very nice article Julien!
According to Thomas Koetzing paper on "Optimizing Logon and Logoff 1.4" available at http://www.thomaskoetzing.de/index.php?option=com_docman&task=doc_download&gid=135
the registry key HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\UserOverride dosen't work anymore with Windows 2003 and 2008/2008 R2 I assume.
Here what he had to say on page 22: "With Windows 2003 those global keys don't work anymore and has to be set on a per user basis."
I tested it my self with existing profiles and it didn't work...but I just read this morning that the profile must be NEW. So who's right, you or Thomas ? :)
Also I suggest the following registry keys:
HKLM\SSYSTEM\CurrentControlSet\Control\Processor
Key: "Capabilities" (dword)
Value: 0007e666
http://support.microsoft.com/kb/2000977
HKLM\SYSTEM\CurrentControlSet\Services\TCPIP\Parameters\
Key: "DisableTaskOffload" (dword)
Value: "1"
http://support.microsoft.com/kb/904946
http://support.citrix.com/article/CTX117491
Regards,
Jonathan Pitre
Other tuning options are:
1st) Turn off TCP Offloading (at the NIC AND the OS)
OS:
%SYSTEMROOT%\SYSTEM32\netsh.exe int tcp set global chimney=disabled
%SYSTEMROOT%\SYSTEM32\netsh.exe int tcp set global rss=disabled
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnableRSS"=dword:00000000
"EnableTCPChimney"=dword:00000000
"EnableTCPA"=dword:00000000
"DisableTaskOffload"=dword:00000001
2nd) If dealing with APP-V 4.6 64 Bit RDS Client on W2K8R2 this one could be for you [SCCM related]:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\Configuration]
"RequireAuthorizationIfCached"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\Network]
"AllowDisconnectedOperation"=dword:00000001
"Online"=dword:00000000
"DOTimeoutMinutes"=dword:ffffff
"LimitDisconnectedOperation"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SoftGrid\4.5\Client\Permissions]
"ToggleOfflineMode"=dword:00000000
3rd)
other optimizations:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters]
"EnablePMTUBHDetect"=dword:00000001
"KeepAliveTime"=dword:00007530
"KeepAliveInterval"=dword:00001388
"TcpMaxDataRetransmissions"=dword:00000005
"EnableBcastArpReply"=dword:00000001
"DisableTaskOffload"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]
"TreatHostAsStableStorage"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem]
"NtfsDisableLastAccessUpdate"=dword:00000001
"DontVerifyRandomDrivers"=dword:00000001
"NtfsDisable8dot3NameCreation"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Kerberos\Parameters]
"MaxTokenSize"=dword:0000FFFF
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System]
"DelayedDesktopSwitchTimeout"=dword:00000005
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control]
ServicesPipeTimeout"=dword:0001d4c0
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Browser\Parameters]
"IsDomainMaster"="FALSE"
"MaintainServerList"="No"
---
As always - do NOT use this in a production environment.
Test it in a lab.
Be very careful when touching the autotuning TCP/IP stack. This can backfire.
Talk with the networking gents.
Jonathan, I made some investigation about HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\UserOverride
And, my result is that your Right about this key, it's not applied anymore on 2008R2
So it's meamn that also HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\ICA-Tcp\UserOverride is not applied any more.
Looking on the Citrix Policy we found a few settings that replace this options like the DragFullWindows options.
I will test, all the options that you post and that are not already in my tips and make an update soon.
Please, if someone found other tuning Tips for 2008R2 / XenApp 6, let us know.
Julien Sybille
Thank you very much for all tuning tips.
For my test, I've trying to use de three PowerCFG command line, because my servers will going to 100 % CPU, causing by NTDLL.DLL under the svchost without reasons.
With this three command line enter on all Win2K8 R2 servers, this error is not coming back.
For information, we are running all VM on vsphere 4.1.
Very good job,
Best regards,
Xavier TINON
Julien
Can you give please give us an idea of what you mean when you say you have validated these performance tweaks?
Was it done in a production environment and if so what were the actual benefits ?
What I am getting at is that just adding them to a server in a test environment doesn't really mean much....
Thanks
Hector
This can also be used to xenserver 5.6 ?
Regard best
Wilson
To respond to your question these tweaks have been applied on a production environment 3 months ago now with XenApp 6 patchs in the same time and it’s running fine. the tweaks have reduces my logon time from 37 seconds to 18-20 s, reduce my CPU usage and avoid my XenApp server hangs (when's applying citrix strategy at user logon for example). Please note that I’ve applied this setting only in one particular client environment, let us know your feedback from your personal test?
Julien
Wilson I will say this can be tested on xenserver 5.6 on a lab environnement. I don't see any reason why it will not working, but I've never try...
Please let us now your result if you try it ?
julien
Hi ,
Sorry for my late reply.
I confirm that the CFG command have correcting my 100 % CPU use for all servers in test and production environment.
I ' have seen, that Citrix have developped a hotfix, that fix this 100 CPU by ntdll.dll on "svchost". But I don't have enough time for test it.
Xavier
Hello Julien & Pierre!
Was reviewing this list of items a grabbing a few for a project of mine when I noticed an error in your SuppressionPolicy settings for Windows Explorer optimizations. I think the mistake is when you were entering the values in hex you left a 0 out, so instead of entering 100000 which is 1048576 in decimal you have 10000 which is 65536 in decimal.
Thanks.
Shawn
Why do all the Explorer tuning tips relate to Windows XP?
All the links I have followed to Microsoft.com refer only to Windows XP or Windows 2000.
are there any script or tool to backup/set registry values automatically? Thanks.
You can use REG EXPORT at command prompt or maybe the REGISTRY cmd-let in PowerShell.
You can also use group policy preference to enforce the registry settings and tick "Remove this item when it is no longer applied"
It is recommended to set MaxWorkItems to 4x MaxMpxCt. With MaxMpxCt set to 2048 this would mean MaxWorkItems should be 8192.
I think you might have it back to front because in your article MaxMpxCt is 4x MaxWorkItems.