Why am I seeing high CPU usage when ZWS is running?
We occasionally receive questions about OS tools reporting high levels of CPU consumption - but this is because the tools do not take into account the architecture that high performance applications, such as ZWS, make use of.
ZWS makes use of a tight select() loop which spins whilst looking for new data to read or write down different connections.
This means that ZWS may appear to be using all remaining CPU time when other processes are not in contention for the processor, but ZWS will yield to other processes when required.
A better way to measure resource usage to determine whether there is a problem is to record the response time received by clients. If clients are not seeing a performance drop then it can be demonstrated that high apparent CPU usage is not an indicator of a serious problem
|