Some stocking stuffers for your Publisher deployment
Recently we found a client's aging Publisher deployment started becoming forgetful. Well maybe not so much forgetful, but exhibiting the advanced symptoms of dementia! We were finding that free memory in their deployment was consistently finding itself hovering at about 1% of total memory. This fact lead us to continually bump up the maximum memory setting for the JVM running publisher as band-aid type solution to this mystery. This went on for a while until finally we were pegged at the maximum we could allocate, 1.5Gb and still we found ourselves at 1% free memory. In an attempt to get a better sense of the how the system was being used, we looked to dig up some reports on it's usage from the enterprise. As you might have guessed, no such reports existed. Typical. So I set off to look under the hood as I find myself doing more and more these days. Lucky for me someone on the team building publisher, put in a nifty little table with some potentially useful data. However, they forgot to tell anyone about it. Typical. The PCSEVENTS table houses event data about the following events types: Completed workflow, Expired, Published, Published to Directory, Removed from workflow, Republished, and Submitted for approval. All these events types can be examined by date, by specific piece of content and user. So by slapping together a very small sql one can look at usage stats. For example you could quickly look at publishing activity down to the day or roll it up looking at comparisons from week to week, month over month or even year over year.
You can also look at the activities within the context of the other publisher events like the chart below. Obviously you're only limited by what you can think up, this is just an example...
Once we got a feel for what people were doing with Publisher and how much, we began looking at other areas of the deployment including configuration files and the deployment directories. After some investigation we found that the Publisher sub-directory, X:\plumtree\ptcs\6.5\tmp contained a very large number of files. This folder is used by Publisher's caching mechanism and is generally self managed. Each file in the directory is loaded into memory on startup and the service will usually keep it optimized. However, under the client's normal load (which would be considered heavy by most) we have seen this directory fill up at a regular pace and with it the amount of memory required to keep all of these files in cache whether they are actively being used or not (we found files from several years ago!). A simple emptying of this folder and a restart of the Publisher service allowed us to reclaim about 40% of free memory and restore our piece of mind!
Happy Holidays and New Year to you and yours from your friends at Function1!