There are several reasons why client workers are climbing. Generally climbing client workers is a symptom of something else going on with the ProxySG. Here are a few instances:
1.) A problem with SGOS code and yieldmanager.com, or issues similar to yieldmanager.com with other web sites. You can add the following CPL code to work around the issue:
The above fix is for a known issue with yieldmanager.com only.
In the 4.2.x code branch, this issue is fixed in SGOS 184.108.40.206 and later. Please refer to bugs 92885 and 93279 in the SGOS 4.2.x release notes.
In the 5.2.x code branch, the issue appears to be resolved in SGOS 220.127.116.11. Please refer to bug 100052 in the release notes.
The symptoms that you will find here are a decrease in CPU utilization, but an increase in client workers being consumed. In the end CPU utilization is low (at or near 0%) and the client workers are maxed out.
2.) A problem with content filtering, CPU utilization, and client workers increasing. Generally this is seen when Smartfilter or Websense is on the ProxySG and the proxy is a fairly busy proxy. What happens is the content filter database can grow to be rather large in size. As the proxy becomes busy, some of the content filter database does not stay resident in memory, so the ProxySG has to page out to disk to read in the database. This will cause the CPU utilization to increase along with client workers to increase. So you will have high CPU utilization and client workers will be maxed out.
The fix for this issue is to make sure you are running fairly recent code, new enough where you can see the following within the Management Console > Configuration tab > Content Filtering > General > Memory allocation. Set the Memory allocation from "Normal" to "High". That way more memory will be dedicated/allocated to the content filter database. If you change the setting while you are having your issue, you may need to reboot your ProxySG so that you can get back to normal.
3.) As mentioned above, if there is anything that puts a delay on to the ProxySG, the client workers can increase. If you are having networking issues (a network failure upstream or a networking loop), that can also cause issues. Also check CPU utilization and memory pressure and map them out over time.
The two most common causes of maxing out of client workers is 1) a loop in the network and 2) a failure upstream. If there is a loop this can normally be detected by examining the access logs and event logs at the time of the problem. A packet capture at the time of the problem is, however, the most helpful. If there is a failure upstream and the ProxySG is forced to wait for responses on the server side, the client workers will also have to wait and will thus remain open and in use longer than normal - this will cause them to steadily rise depending on the severity of the failure upstream.