410 likes | 774 Views
Terminal Servers on 64-bit Windows Platforms Bernhard Tritsch Microsoft MVP – Terminal Server Community Website: www.wtstek.com Question Can I pimp my terminal servers by migrating them to 64-bit Windows? TRITSCH: 64-BIT TERMINAL SERVERS Windows Server 2003 Family
E N D
Terminal Servers on 64-bit Windows Platforms Bernhard Tritsch Microsoft MVP – Terminal Server Community Website: www.wtstek.com
Question • Can I pimp my terminal servers by migrating them to 64-bit Windows? PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Windows Server 2003 Family PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS 32-bit Applications 32-bit Applications 64-bit Applications 32-bit Windows 64-bit Windows 64-bit Windows 32-bit Drivers 64-bit Drivers 64-bit Drivers 32-bit Drivers 32-bit Drivers Devices Devices Devices x64 and Itanium x86 and x64 PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS User Mode 32-bit Application 64-bit Application WOW64 Windows Server 2003 x64 Edition Kernel Mode 64-bit Device Driver PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS 32-bit Memory Tuning • Boot.ini switches • /3GB allows 3 GB for User und 1 GB for Kernel Mode • /USERVA allows more granular memory mgmt. • PAE (Physical Address Extension) • Relies on specific hardware features, CPU has 36-bit address bus • Mapping of virtual 32-bit to physical 36-bit addresses • AWE (Address Windowing Extensions ) • Set of APIs used to address virtual memory >4GB • Applications require specific code • PAE and AWE consume CPU performance!!! PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS 32-bit Support on x64 • Windows on Windows 64 (WoW64) • 64-bit Windows supports the execution of 32-bit applications by using WoW64 • Performance limitations? • Substantial on Itanium • Minimal or non on x64 • No support of… • applications using a 16-bit installer • applications requiring a 32-bit system filter driver or any other 32-bit kernel-mode drivers PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS What‘s WOW64 doing? • Isolation of 32-bit applications from 64-bit applications while maintaining data exchange functionalities and interoperability • Converting system calls (Thunking) • Mapping of I/O data streams from 32-bit applications to 64-bit drivers PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS What‘s WOW64 doing? • Mapping of applications memory into 64-bit system address space • Coordination of COM and RPC communication • Application communication using copy and paste • Redirection of file and registry access – this is a really interesting topic! PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Redirection of File Access Applications • 32-bit apps %SystemDrive%\Program Files (x86) • 64-bit apps %SystemDrive%\Program Files System files • 32-bit System files %windir%\syswow64 • 64-bit System files %windir%\system32 PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Registry Access • x64 has one physical registry, but a logical view of 32-bit and 64-bit areas respectively • Redirection: Registry access from 32-bit applications is redirected to a specific node (WoW6432Node in HKLM\Software) • Reflection: Mirroring of some 32-bit and 64-bit registry areas to synchronize system settings (last write wins) PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS But what about Memory? • Increased memory usage!!! • Data structures are bigger on x64 platforms • System file cache requires to double memory for comparable performance on 32-bit systems PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Now it‘a about time to start talking about scalability PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Scalability – Benchmarking • Microsoft has a certain “history” regarding TS benchmarks and resulting white papers • New white papers include predominantly relative results rather than absolute numbers: “64-bit systems are x% better than 32-bit systems” • Not memory, but CPUs or data I/O came out to be the limiting factors…if there was enough memory available on the system PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Microsoft Test – 8-Way Server, 40 GB RAM PubForum 2006, Brussels • Belgium
18% Presentation Server x64 Edition Presentation Server 4.0 60% 112% 116% TRITSCH: 64-BIT TERMINAL SERVERS Citrix Marketing Slide... PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS But I wanted to do my own tests... PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Test Environment Clients • Test servers: dual-core CPUs, 4 – 16 GB RAM • Microsoft Windows Server 2003, 32-bit und 64-bit Editions • 10 dual CPU test clients with 4 GB RAM acting as load creators • 1 PC used for monitoring and controlling the tests Control Test server 32-bit Test server 64-bit PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Apps and Test Sequence • Applications (launched after user logon) • After 10 seconds: Notepad.exe, ANSI test file, 8.4 KB • After 30 seconds: Adobe Acrobat Reader 7, PDF document, 3.8 MB • After 50 seconds : Microsoft Word 2003, DOC document, 3.1 MB • Create new session every minute PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS PubForum 2006, Brussels • Belgium
32-bit, 2 Cores, 4 GB 200 active sessions 1,400 processes 43,000 context switches per second 125 x Command shell 123 x Notepad 118 x Acrobat Reader 112 x WinWord 64-bit, 2 Cores, 4 GB 159 active sessions 1,100 processes 35,000 context switches per second 102 x Command shell 99 x Notepad 98 x Acrobat Reader 86 x WinWord TRITSCH: 64-BIT TERMINAL SERVERS 32-bit and 64-bit (Intel) However, only 20-25 users in a production environment PubForum 2006, Brussels • Belgium
64-bit, 4 Cores, 16 GB 270 active sessions 2,500 processes 64,000 context switches per second 228 x Command shell 223 x Notepad 222 x Acrobat Reader 214 x WinWord 64-bit, 4 Cores HT, 16 GB 341 active sessions ca. 2,900 processes 60,000 context switches per second 252 x Command shell 241 x Notepad 238 x Acrobat Reader 231 x WinWord TRITSCH: 64-BIT TERMINAL SERVERS 64-bit Results (Intel) PubForum 2006, Brussels • Belgium
64-bit, 4 Cores, 8 GB 171 active sessions 1,700 processes 45,000 context switches per second 165 x Command shell 164 x Notepad 158 x Acrobat Reader 149 x WinWord 64-bit, 4 Cores, 16 GB 322 active sessions 2,900 processes 70,000 context switches per second 264 x Command shell 261 x Notepad 256 x Acrobat Reader 252 x WinWord TRITSCH: 64-BIT TERMINAL SERVERS 64-bit Results (AMD) PubForum 2006, Brussels • Belgium
32-bit, 4 Cores, 16 GB 319 active sessions 2,800 processes 70,000 context switches per second 243 x Command shell 243 x Notepad 243 x Acrobat Reader 237 x WinWord NOTE: PAE switch, but only up to ~8 GB can be used When hitting the 8 GB limit, the page reads per second increased signifficantly The time to open the user session and launch the applications successfully was much longer compared to 64-bit systems TRITSCH: 64-BIT TERMINAL SERVERS 32-Bit Results (AMD) PubForum 2006, Brussels • Belgium
64-Bit, AMD, 16 GB RAM 32-Bit, AMD, 16 GB RAM PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Reality Check • Additional test in a real customer environment • Initial setup with 32-bit systems • Dual Xeon 3.2 GHz with 4 GB • Application profile: Microsoft Office, Lotus Notes, two to three bank-specific applications (such as Java application J2SE) • Result with 64-bit systems • +25% users on Dual Xeon 3.2 GHz with 8 GB • +50% users on 2 x Dual Core Xeon DP 2.8 GHz with 8 GB PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Performance 16 12 8 4 32-bit system Memory (in GB) 64-bit system PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Migration – how and when? • Migrating terminal servers from 32-bit to 64-bit is not as easy as it seems • Challenges – 64-bit incompatibilities • Installation routines • Drivers and system tools (Resource Kit tools) • Scripts modifying system files and registry PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS So, what‘s the result? • Start migrating now • 64-bit is the future – that‘s for sure • The technology is mature... • ...but you will need some time to get comfortable with it PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Additional Information • Terminal Server Capacity and Scalinghttp://www.microsoft.com/windowsserver2003/techinfo/overview/tsscaling.mspx • Terminal Services Scaling and Performance on x64-Based Versions of Windows Server 2003http://www.microsoft.com/windowsserver2003/technologies /terminalservices/default.mspx • Bernhard Tritsch’s Terminal Server scalability evaluation http://www.wtstek.com/item2/Article20041125.htm • The Big Iron Test - Scalability of Large Terminal Server Platformshttp://www.visionapp.de/fileadmin/documents/English_ documents/TechnicalWhitepaper_Big-Iron-Test_EN.pdf • visionapp Remote Desktop – Free Downloadhttp://www.visionapp.com PubForum 2006, Brussels • Belgium
TRITSCH: 64-BIT TERMINAL SERVERS Thank you www.wtstek.com PubForum 2006, Brussels • Belgium