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. Comments:This public messageboard is not a forum for technical support. To report technical support problems, please contact our dedicated Support team using the instructions at the bottom of this page.
Comment from:
Kevin [Visitor]
Thats concerning because I'll have to find another means of doing capacity planning.
This implies that I have to wait for my clients to start complaining before I buy more capacity, because, for example, I can't measure month on month how my cpu usage is growing if ZWS constantly eats up all my CPU. This reactive response will definitely not go down well with my clients.
Comment from:
Chris Buckley [Zeus Support]
Hi Kevin,
The best way to engage in capacity planning is in a pro-active fashion. If the article above has given the impression that the only way to capacity plan is to wait until customer(s) complain, then it will need to be amended as this is _not_ the case and we apologise if the article gives this impression. When capacity planning please bear these operations in mind: 1. Utilise benchmark tools such as httperf, apachebench or zeusbench to put your server under load. 2. Make sure you allow benchmark programs to analyse access log files - this will allow your benchmark program to accurately simulate the amount of load the logs indicate your webserver would have sustained in /x/ period of time. 3. When you have performed your benchmarks, you can analyse the performance results produced and plan your capacity accordingly. After several, regular, stress tests you can start to built up an accurate assessment of server load vs availability. Indeed, many of our customers reguarly perform this type of capacity planning with excellent effect. I hope the above helps, Chris Comments are closed for this post. |
Recently...
Other Resources
|





