Deploying Printers via GPO in 2008 R2 - How do I improve it's performance?

Posted on 2011-09-27
Last Modified: 2012-05-12

We've got some 60 users spread across 3 RDS Servers all using Server 2008 R2.  All users stick to their own RDS Server, only changing if there is an issue preventing them from connecting to it, and they use one of the others.  All users see all of the print queues.

We set up all of the print queues in Print Management and then deployed them from there to a GPO using the 'per user' setting, but have noticed that there is quite a performance hit from how the printers were set up in our old 2003 server, where we had all printers set up as local printers.  Performance hit as in - when they first log in it takes a while to populate all 25 print queues (yes 25 for 60 users - we have managed to cut this down from 40-50-odd in the old 2003 enviro!), and also if they do a resource intensive job, such as running a report that populates an Excel spreadsheet with data from our SQL Server - the report takes about 30secs to run.  About 30 secs to 2 mins after the report has been finished - or they have logged onto the server they printers appear again.... gradually.  Physical printing wise - there are no issues.  Often if a user's default printer doesn't appear within a given timeframe, it will select the first printer on the list..... to the annoyance of the user!

So, how can I improve the speed at which printers populate?  In terms of what processing is done, is the a difference between deploying by computer and deploying by user?  From my reading I understand that when you update printer preferences it will by default auto update - by user it will do this for each user - does it do the same per computer?  Or does it just do it once per computer?  Is there anywhere else that we can gain performance in the GPO?

Please note - I'm not looking for 'stab in the dark' answers - I'm after informed, experienced advice in this field.  We seem to be pioneers with this in our own circle of IT providers - but I can't believe that there isn't more experienced knowledge out there that we can tap!
Question by:bosshognz
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2

Expert Comment

ID: 36714888
There has always been printing performance issues with RDS or ICA solutions, and you're not alone.  Currently we deploy printers per user, because it suits us to do so.  In my environment however, it's the FIRST login which is slow - subsequent logons are not

We use GPO's too, but we rely on the "Printers" policy in the Client Side Extensions, rather than making Print Management create GPO's for us.  Individual printers can still be filtered out per user or per group.  

Printers Client Side Extention
Use "Run in logged-on user's security context (user policy option)" to ensure it propagates to the user's profile, and this is where you set Item-level targetting for per user or per group.

Additional Settings
If you're using print management, then it is probably creating one policy per printer - this does not help you at all - increased policies means slower login performance.

Another thing to note - printers which are deployed at a user level are stored in the user's profile, which is why I use the action "Update" rather than "Create".  With Update, if the printer is there, it doesn't recreate it

And lastly - do you use roaming profiles for these users?  If they're getting a new profile each time they are logging on, the only way you will be able to improve the speed is to install the printers on the servers.

Try with a group of users, deploying the printers via a new single policy which contains all the printers, plus all the targetting you desire - and see if this improves performance.

I do remember supporting an office where they had 34 personnel and 37 printers.

Author Comment

ID: 36714961
Hi Lester - thanks for replying!
Print Management - reason I chose this is because it seems to be the best/easiest way to deploy printers - according to MS..... I mean you set up the printers in Print Management - you create a GPO on AD and then you add the printers to the GPO by right clicking on them - it seems so simple that anything else seems to be a legacy way of doing it.

The 'Per Computer' 'Per User' settings are in the Printer Deployment window when you deploy from Print Management - but basically it just picks what side of the GPO it uses - User or Computer Config.

We have 2 Print GPOs - for the different groups of users that never use each other's printers - not doing 1 GPO per Printer.

Roaming profiles - yes we use these as we want the user experience across the 3 RDS servers to be the same - IE: no matter what server they log into they see the same.  For other reasons we have also set the local profiles to delete when the user logs out.  

I have added one printer to a new GPO on using the 'Per Computer' setting to see what performance gains (if any) we can get from it.

To be honest - we'd love to have 1 print queue per printer - there are only 12 printers in the organisation - but each printer has to have 2-3 queues.  No way around it.  We did cut it down from 4-6 queues per printer - so we are making some way into it!

Accepted Solution

Lester_Clayton earned 250 total points
ID: 36715486
For other reasons we have also set the local profiles to delete when the user logs out.  

This does unfortunately mean a performance hit - the profile has to be downloaded to the server and the printers in the profile or the GPO have to be-regenerated for the user profile :(

I'm not sure if I can offer other suggestions to improve it I'm afraid.
Optimize your web performance

What's in the eBook?
- Full list of reasons for poor performance
- Ultimate measures to speed things up
- Primary web monitoring types
- KPIs you should be monitoring in order to increase your ROI

LVL 10

Assisted Solution

David_Ingledew earned 250 total points
ID: 36715689
I'm going to head down a different route..and look to reduce the queue count, thus speeding it up.

"To be honest - we'd love to have 1 print queue per printer - there are only 12 printers in the organisation - but each printer has to have 2-3 queues.  No way around it.  We did cut it down from 4-6 queues per printer - so we are making some way into it!"

Why is this?

Author Comment

ID: 36719561
For the user's sake - and our sanity.  It is a long story and completely off topic - short story is that all print jobs are charged to clients and they don't like making mistakes by printing double or single sided by mistake.  As I said - completely off topic - and is not able to be changed.

I don't want to go back to local printer creation on each of the RDS servers - I used to spend DAYS on these when fixing issues across all the queues on all the printers.  The idea was to eleviate IT Support work and  human error by consolidating all printers to the one place and publish out via GPO.  I would like to see success coming from what using what looks like MS Best Practice way of doing things - I know thats not always possible.

Can anyone tell me about per user vs per computer - is there a performance gain using one over the other?  Whats the difference between the two on an RDS enviro?  I haven't found any documentation on them as yet.

Author Closing Comment

ID: 36928585
We've split out the printer GPO into  further - meaning people have less print queues to load on log in.  There is a slight noticeable difference.  

And we're also revisiting the local profile deletion on the servers.  This will of course improve performance no end.

Thanks for the help :)

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

A procedure for exporting installed hotfix details of remote computers using powershell
For anyone that has accidentally used newSID with Server 2008 R2 (like I did) and hasn't been able to get the server running again because you were unlucky (as I was) and had no backups - I was able to get things working by doing a Registry Hive rec…
This tutorial will give a short introduction and overview of Backup Exec 2012 and how to navigate and perform basic functions. Click on the Backup Exec button in the upper left corner. From here, are global settings for the application such as conne…
This tutorial will walk an individual through the steps necessary to install and configure the Windows Server Backup Utility. Directly connect an external storage device such as a USB drive, or CD\DVD burner: If the device is a USB drive, ensure i…
Suggested Courses

623 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question