Are there recommendations for Terminal Server sizing?
Terminal server sizing is one of those loaded questions and typically gets the answer of "it depends"
There are many factors in sizing a Microsoft terminal server. A quick Google search and you will find tons of design recommendations and those change frequently because of new hardware being introduced to the market.
Microsoft has a list of guides that can be used to help plan your deployment, they can be found http://go.microsoft.com/fwlink/?LinkId=100915
Microsoft lists these 10 steps in preparing for a terminal services deployment.
Step 1: Determine the scope of the presentation virtualization project.
Step 2: Determine which applications to deliver and how they will be used.
Step 3: Determine whether Terminal Services can deliver each application.
Step 4: Categorize users.
Step 5: Determine the number of terminal server farms.
Step 6: Map applications and users to farms.
Step 7: Design the farm.
Step 8: Determine where to store user data.
Step 9: Size and place the role services for the farm.
Step 10: Secure the communications.
Some other general guidelines :
** If you have the ability to test on the same hardware that you are planning on purchasing that is the best way to get an idea how many users you can put on your TS server running the software that you need to run. If you have a good relationship with your hardware vendor you might be able to test some hardware prior to making a purchase. This can go a long way in helping to not over and under spend for your final deployment.
** Decide what applications you are going to deliver via TS. Each app has different requirements for memory. For example running Notepad takes less resources than running Microsoft Word. Running an application that uses .NET takes up, even more, resources per user because of .NET loads in the users memory space for EACH user.
** Determine if using terminal services is even the best choice for the applications you want to run. Would it be easier and cheaper to deploy the software via other means like application virtualization (Thinapp, InstallFree) or use an application installer like Prism from New Boundary Technologies. Is the application something that a user wants to load and unload frequently and not want to wait for a terminal server login ?
** Determine if the software you are going to run will run correctly on terminal services. Something that gets forgotten is that enterprise servers typically do not have sound cards. So if the application uses sounds as an integral part of the product then terminal servers may not be the best way to deploy this application. Same goes for applications like photo programs, music editing software, etc.
** Determine how many people are likely to log into terminal services at the same time and what apps are going to run. Having an entire lab login to a TS server all at the same time is different than people randomly logging in and out during the day. Having a lab of 100 students all press enter at the same time to login and load an app can tax under sized hardware.
Another link that has some reference material on this subject is here: http://blogs.technet.com/b/iftekhar/archive/2010/02/10/rds-hardware-sizing-and-capacity-planning-guidance.aspx