Printer Server Performance Issues

We have two Windows 2003 Enterprise Edition that have been experiencing performance issues. Please advise if the route we are taking is correct or there are additional steps we need to make to correct the situation.

Printer A: Virtual server, OS 2003 enterprise edition, CPU usage is at 100%, spool folder is on C: drive. Server is hosting 285 printers, virtual memory = 1 GB, virtual CPU = 1

Printer B: is slow, the CPU usage is at 27%, and the Spool Folder is on the C:\ drive.  This print server is hosting 315 printers with two CPUs, 2GB of memory, 2CPU and it is configured for File/Application server roles.

Planned Action:
Place both servers on a separate drive from Windows;
Disable file server role on Printer B
Add 1 processor and memory to Printer A virtual machine.

Any other suggestions?

Thank you!
Who is Participating?
Spike99Connect With a Mentor On-Site IT TechnicianCommented:
I would also look at the other services & processes that are running.

We've had issues with various types of HP & Brother drivers, so I would look for, stop & disable these services if they're running:
  BrSplService          Brother spool service (been known to cause spoolers to crash)
  HP Port Resolver    HPBPro.exe
  HP Status Server    HPBOID.exe
  Net Driver HPZ12
  Pml Driver HPZ12

End any of these processes that you see:

After you stop these processes and services, stop the print spooler wait a few minutes and then restart it to see if that helps at all: it usually does in my experience.

BembiConnect With a Mentor CEOCommented:
Raising resources is always a good idea, if you have performance issues, so just some thoughts to think about....

In a virtual envrinment, you have the resources CPU, Memory, Harddrive. The first two are easy to investigate as you can see in task manager. The last one is more difficult.

First at all you should use the permormance monitor to investigate CPU, Memory usage and especiaaly the disk read / writes and disk queue values, to see, where is the real bottleneck. For virtual environments also on the host.

Following the number of printers, I can imagine, that there is a heavily load of read / write operations at the same time. If you get relevant values for the disk queue performance monitor value, that means, that the machine can not read / write fast enought to/from the disk.

Keep in mind your physical disk, which is attached to the virtual machines. Whatever you do, adding a disk or moving the spooler directory to somewhere esle, it is the same disk hosted by the virtualisation host.
And this disk is limited by its read / write performace and the maximum IOs the disk can handle. For virtual environemnts, you should have a high performance disc array with more than the usual 100-200 IOs, what a single disk can handle.

For physical machines, you can just add another harddisc to dedicate all performance to the spooler directory. For virtual machines, adding another drive may not really have an effect, because you write onto the same disc array. In this case you may have to raise the performance of the disc array. Of course you can also add a disc at the virtualisation host too and dedicate it to the print server for the spooler directory.

So, start from performance monitor (over a longer time) to investigate the lacks. Then start from there to solve the problems you can see. If the first bottleneck is solved, you can investigate the next one.
syseng007Author Commented:
@ Bembi - Thank you for the detailed info. I ran perfmon and received the following results.

More than 60% of Pool Paged Kernel Memory Used.
Greater than 1000 page inputs per second
More than 80% Processor Utilization
More than 30% privileged (kernel) mode CPU usage

@Spike99 - Thank you for the info. I have disabled these services and will monitor the print servers.
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

I would be also interested in the disk monitors, so read / writes, IOs and the disk queue.
Especially the queue is an indicator for disk problems, if it is > 0 for a longer period.
syseng007Author Commented:
@ bembi - disk monitors are normal..
How do you regognize, that the server is slow?
Just the reaction on the GUI or do print jobs take a long time?
syseng007Author Commented:
The servers are slow and CPU usage is usually at 100%....
OK, 100% is a number, but "the server is slow" can mean a lot. A server has a higher background priority. That means, if it is under load, it reacts slow on the GUI. But that doesn't mean that the services are slow.
Slow services you can see, if the print queue runs full, or if the print jobs take a lot of time. Means the server can not really process the print jobs.

On the other hand, if I print some heavy document with several MB of size, it can happen.

Of you really see high CPU load all the time, there is no way around some more resources into this direction as long as it is not produced by a bug in a driver.
If there are some leaking print drivers, it can force 100% CPU usage over some time.
If you run the performance monitor and just observe CPU load and Memory, that the memory should be stable (raises up for larger jobs and comming down again) and the CPU load is like up and down.
During the night, the CPU load should go down and the memory shoudl more or less fall back to a avaerage value. If this is the case, then observe the print queue, if the jobs are handled in time or if there start a traffic jam in the job queue.

Also have in mind, that all data has to send to the printers, and if the printer is slow, the server has to wait.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.