- 18 Mar 2024
- 2 Minutes to read
- Print
- DarkLight
- PDF
Uniprint - Pharos Proxy Service is slow to respond and causes other services to fail
- Updated on 18 Mar 2024
- 2 Minutes to read
- Print
- DarkLight
- PDF
Environment
Uniprint Suite 8.2-9.0
Symptoms
ERROR: "General network error. Check your documentation."
ERROR: "SQL logic error or missing database table DataCache has no column named RequestKey."
Pharos Popup Service stops during normal operation.
Pharos Popup Client cannot connect to Pharos Popup Service.
Pharos Notify does not respond or produces an error.
Cause
On a Pharos Print Server, there is a process running called Pharos Proxy Service. It's primary job is to ensure that clients connecting to the Pharos Print Server can continue to function in the event the Print Server loses a connection to the Principal Server (and thus, the Pharos database). Locally, the Pharos Proxy maintains three (3) databases:
ProxyDataCache. System configuration information.
ProxyLicense. System license information.
ProxyTxns. User transaction information.
These databases are regularly purged to prevent excessive disk use and to improve the efficiency of the proxy function. This purge is present in two operations: "Check Interval" and "Delete Age". "Check Interval" is a timer that causes the Pharos Proxy Service to check for expired records. By default, it is set to a 1 hour interval. "Delete Age" is a timer that causes the Pharos Proxy Service to remove records from the database. By default, it is set to a 7 day interval. For most sites, these values are appropriate and allow for efficient Pharos Proxy Service response. However, at busy sites, this can result in large database size, increasing the time necessary to respond to queries and write new entries.
Resolution
The size of the Proxy database cache files can be reduced by introducing a "reaping" function via the Registry. By default, this function is controlled by default values in the Proxy Service configuration, but it will utilize, when present, Registry values instead. On the server, go to:
HKEY_LOCAL_MACHINE\Software\Pharos\Proxy\Reaper (32-bit Windows server) or
HKEY_LOCAL_MACHINE\Software\Wow6432Node\Pharos\Proxy\Reaper (64-bit Windows server).
Inside this key, create a String value called "Check Interval" (no quotes when typing) and another String value called "Delete Age" (again, no quotes when typing).
To set the value, use the following syntax:
A positive integer (1, 2, 3, 4, etc.) on its own refers to days, and a value of 1:00 means one hour. It is also possible to enter something like this: 5.4:30:20 which means 5 days, 4 hours, 30 minutes, 20 seconds. Once created and defined, you will have to restart the Pharos Proxy service.
From a settings standpoint, a 1 hour value for "Check Interval" is fine; too much checking and inefficiency is introduced. However, a value of 3 for "Delete Age" is a good starting point for busy sites. This keeps the data on the server for 72 hours.