Remote Desktop Session Host Capacity Planning in ?· Remote Desktop Session Host Capacity Planning in Windows Server 2008 R2 Microsoft Corporation Published: February 2010

Download Remote Desktop Session Host Capacity Planning in  ?· Remote Desktop Session Host Capacity Planning in Windows Server 2008 R2 Microsoft Corporation Published: February 2010

Post on 30-Jan-2018

213 views

Category:

Documents

1 download

Embed Size (px)

TRANSCRIPT

<ul><li><p>Remote Desktop Session Host Capacity Planning in Windows Server 2008 R2 </p><p>Microsoft Corporation </p><p>Published: February 2010 </p><p>Abstract The Remote Desktop Session Host (RD Session Host) role service lets multiple concurrent users run </p><p>Windows-based applications on a remote computer running Windows Server 2008 R2. This white </p><p>paper is intended as a guide for capacity planning of RD Session Host in Windows Server 2008 R2. It </p><p>describes the most relevant factors that influence the capacity of a given deployment, methodologies to </p><p>evaluate capacity for specific deployments, and a set of experimental results for different combinations </p><p>of usage scenarios and hardware configurations. </p></li><li><p>Copyright Information </p><p>The information contained in this document represents the current view of Microsoft Corporation on the </p><p>issues discussed as of the date of publication. Because Microsoft must respond to changing market </p><p>conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft </p><p>cannot guarantee the accuracy of any information presented after the date of publication. </p><p>This White Paper is for informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS, </p><p>IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS DOCUMENT. </p><p>Complying with all applicable copyright laws is the responsibility of the user. Without limiting the rights </p><p>under copyright, no part of this document may be reproduced, stored in or introduced into a retrieval </p><p>system, or transmitted in any form or by any means (electronic, mechanical, photocopying, recording, or </p><p>otherwise), or for any purpose, without the express written permission of Microsoft Corporation. </p><p>Microsoft may have patents, patent applications, trademarks, copyrights, or other intellectual property rights covering subject matter in this document. Except as expressly provided in any written license agreement from Microsoft, the furnishing of this document does not give you any license to these patents, trademarks, copyrights, or other intellectual property. </p><p> 2010 Microsoft Corporation. All rights reserved. </p><p>Microsoft, Hyper-V, Windows, and Windows Server are trademarks of the Microsoft group of companies. </p><p>All other trademarks are property of their respective owners. </p></li><li><p>Contents Introduction .................................................................................................................................................. 5 </p><p>Capacity Planning for a Specific Deployment ............................................................................................... 6 </p><p>Problem statement ................................................................................................................................... 6 </p><p>What determines the capacity of a system? ............................................................................................ 7 </p><p>Usage scenario ...................................................................................................................................... 7 </p><p>Hardware resources .............................................................................................................................. 7 </p><p>Typical evaluation approaches ................................................................................................................. 7 </p><p>Load simulation tests ............................................................................................................................ 9 </p><p>Testing methodology .............................................................................................................................. 10 </p><p>Test bed configuration ........................................................................................................................ 11 </p><p>Load generation .................................................................................................................................. 11 </p><p>Response time measurement ............................................................................................................. 12 </p><p>Scenarios ............................................................................................................................................. 14 </p><p>Examples of test results for different scenarios ..................................................................................... 15 </p><p>Tuning Your Server to Maximize Capacity .................................................................................................. 18 </p><p>Impact of hardware on server capacity .................................................................................................. 18 </p><p>CPU ...................................................................................................................................................... 19 </p><p>Memory ............................................................................................................................................... 22 </p><p>Disk storage ......................................................................................................................................... 25 </p><p>Network .............................................................................................................................................. 26 </p><p>Impact of Remote Desktop Services features on server capacity .......................................................... 28 </p><p>32-bit color depth ............................................................................................................................... 28 </p><p>Windows printer redirection (XPS) ..................................................................................................... 28 </p><p>Compression algorithm for RDP data ................................................................................................. 28 </p><p>Desktop Experience pack .................................................................................................................... 29 </p><p>RemoteApp programs ............................................................................................................................. 29 </p><p>Hyper-V ................................................................................................................................................... 30 </p><p>Impact of Windows System Resource Manager (WSRM) ....................................................................... 31 </p><p>Comparison with Windows Server 2008 ................................................................................................. 32 </p><p>Conclusions ................................................................................................................................................. 32 </p><p>Appendix A: Test Hardware Details ............................................................................................................ 33 </p></li><li><p>Appendix B: Testing Tools ........................................................................................................................... 34 </p><p>Test control infrastructure ...................................................................................................................... 34 </p><p>Scenario execution tools ......................................................................................................................... 35 </p><p>Appendix C: Test Scenario Definitions and Flow Chart ............................................................................... 36 </p><p>Knowledge Worker v2 ............................................................................................................................. 36 </p><p>Knowledge Worker v1 ............................................................................................................................. 38 </p><p>Appendix D: Remote Desktop Session Host Settings .................................................................................. 40 </p></li><li><p>Introduction The Remote Desktop Session Host (RD Session Host) role service lets multiple concurrent users run </p><p>Windows-based applications on a server running Windows Server 2008 R2. This white paper is </p><p>intended as a guide for capacity planning of an RD Session Host server running Windows Server 2008 R2. </p><p>In a server-based computing environment, all application execution and data processing occurs on the </p><p>server. As a consequence, the server is one of the most likely systems to run out of resources under </p><p>peak load and cause disruption across the deployment. Therefore it is very valuable to test the </p><p>scalability and capacity of the server system to determine how many client sessions a specific server can </p><p>support for specific deployment scenarios. </p><p>This document presents guidelines and a general approach for evaluating the capacity of a system in the </p><p>context of a specific deployment. Most of the key recommendations are also illustrated with examples </p><p>based on a few scenarios that use Microsoft Office applications. The document also provides guidance </p><p>on the hardware and software parameters that can have a significant impact on the number of sessions </p><p>a server can support effectively. </p></li><li><p>Capacity Planning for a Specific Deployment </p><p>Problem statement One of the key questions faced by somebody planning a Remote Desktop Session Host server </p><p>deployment is: How many users will this server be able to host? (or one of its variants: How much </p><p>hardware is required to properly host all my users? or What kind of server is required to host </p><p>users?). Determining the system configuration able to support the load generated by users is a typical </p><p>challenge faced by any service (such as Microsoft Exchange, Internet Information Services (IIS), SQL </p><p>Server). This is a difficult question to answer even for server roles that support workloads defined by a </p><p>relatively small set of transactions and parameters that characterize the profile of a workload (DNS is a </p><p>good example where the load can be well defined by DNS queries). The RD Session Host servers find </p><p>themselves at the other end of the spectrum because the load is defined fundamentally by the deployed </p><p>applications, the clients, and the user interaction. While one deployment may host a relatively </p><p>lightweight application that users access infrequently and with low resource costs (like a data entry </p><p>application), another may host a very demanding CAD application requiring a lot of CPU, RAM, disk </p><p>and/or network bandwidth. </p><p>There are a few assumptions implied by this question that are worth clarifying: </p><p>1. The deployment needs to be sized such that users applications perform at an acceptable level. </p><p>2. The number of resources that servers are provisioned with does not significantly exceed the </p><p>number required for meeting the deployment goals. </p><p>The performance criterion is difficult to state in objective terms because of the large spectrum of </p><p>applications that may be involved and the variety of ways that users can use those applications. One of </p><p>the most typical complaints that users have about the performance of their RD Session Host server </p><p>applications is that performance is slow or unresponsive, but there are other ways in which performance </p><p>degradation may occur, such as jittery behavior as opposed to a smooth, even response, sometimes in </p><p>alternating bursts and lags that may be extremely annoying even if the average performance may be </p><p>deemed acceptable. The tolerances to performance degradation vary substantially across deployments: </p><p>while some systems are business-critical and accept no substantial degradation at any time, others may </p><p>accept short time spans of peak load where performance is quite poor. Clarity on what the users </p><p>expectations are in terms of performance is a key piece of input in the process of sizing the capacity of a </p><p>deployment. </p><p>Regarding the second goal, it is commonly expected that the planning exercise should estimate resource </p><p>requirements reasonably close to the values that are really required, without overestimating by large </p><p>margins. For example, if a server requires 14 gigabytes (GB) of RAM to properly accommodate the target </p><p>number of 100 users for a certain deployment, including peak load situations (all users open a memory </p><p>intensive application at the same time), it is a reasonable expectation that the estimate coming from the </p><p>planning exercise would be within the 14-16 GB of RAM range. But an estimate of 24 GB of RAM would </p></li><li><p>be a significant waste of resources, because a significant fraction of that RAM (14 GB) would never be </p><p>used. </p><p>What determines the capacity of a system? Before we discuss the details of testing a certain scenario on a server, it is important to know what </p><p>factors impact the scalability of the server. At a macro level, these factors fall under two buckets: </p><p>Usage scenario </p><p>An extremely important factor in determining the capacity of a given server is the usage scenario the </p><p>typical sequence of interactions users have with the applications deployed on the server. A server of a </p><p>given hardware configuration may support 2 users or 200 users depending on the scenario. If the </p><p>scenario is light in resource usage, the server will be able to support a lot of users. An example of such a </p><p>light scenario is a user entering data in a simple line of business application. On the other hand, if the </p><p>scenario is heavy in resource usage, the server will not be able to support as many users. An example of </p><p>a heavy scenario is a user working with a CAD application or with a complex software development </p><p>environment thats very CPU and input/output intensive. </p><p>This means that when trying to estimate the number of users a server can support, that number only </p><p>makes sense in the context of a particular scenario. If the scenario changes, the number of supported </p><p>users will also change. </p><p>Generally the scenario is defined by system software configuration, applications used, specific features </p><p>exercised for each application, the amount and content of data being processed, actions performed, and </p><p>the speed with which actions are being performed. Following are a few examples of significant factors </p><p>that can influence a simple scenario like editing a document: </p><p> Is the user typing in Notepad or Microsoft Word? </p><p> What version of Microsoft Word is used? </p><p> Is the spelling checker enabled? </p><p> Does the document contain pictures? Does it contain graphs? </p><p> What is the typing speed? </p><p> What is the session color depth? </p><p>Answering any of the questions incorrectly may throw off the results by significant amounts. </p><p>Hardware resources </p><p>The server hardware has a major impact on the capacity of a server. The main hardware factors that </p><p>have to be considered are CPU, memory, disk storage, and network. The impact of each of these factors </p><p>will be addressed in more detail later in this white paper. </p><p>Typical evaluation approaches The above considerations should make it clear that it is not possible to answer the capacity planning </p><p>questions with reasonable accuracy based on a set of pre-configured numbers. Surveys of Remote </p><p>Desktop Session...</p></li></ul>