A curious issue I ran into – was a situation in which Word Automation Services would work perfectly for a number of weeks and then suddenly stop producing documents (in our case, PDF documents). The obvious assumption was to review the performance on the server and adjust resources so the service wouldn’t crash. We were, after all utilizing virtual servers in an environment I was told was “over-committed”. For those of you not familiar with Virtual Server hosts, this means that you can commit more memory and CPUs than you actually have available on the host, with the assumption that all of the servers won’t be using 100% of the resources 100% of the time. While the concept is good, with the push for more and more virtual servers, this can put customers in a pinch before they know it.
Resources were reviewed and adjusted. But…..it kept happening! The Virtual Server guys assured me that the resources were dedicated and with additional investigation, we determined that it was in fact true, the resources were not be stressed and could not be the determining factor for the crashes. Reboots were also not fixing the issue, so resources seemed to be a non-issue.
As it turns out, in the mean time one of the SharePoint Admins had set up another environment and it was working without any problems at all. After a detailed comparison, we realized he had accidently set up a separate Application Pool for Word Automation Services, whereas the other environments were sharing an Application Pool with a few other Service Applications. We made the adjustment in the non-working environments and suddenly everything was working great, and was extremely consistent.
Moral of the story – set up your Word Automation Services with its own application pool and save yourself some grief 🙂 Its not noted to do this in the install/config document – it just says “select the application pool”, but I’m adding the separate app pool to my notes as a new best practice.
For those of you curious on how to set up Word Automation Services, here is the step by step from Microsoft: