I want to decrease the time taken to evaluate - I am willing to double the CPU utilisation.
Therefore have set “_BESClient_Resource_WorkIdle” to 20. Given that a 10/480 ratio will result in aprox 2% utilisation I am assuming (dangerous!) that 20/480 will give aprox 4%. However I am not seeing any obvious improvement in client performance.
How can I meter this to prove that client evaluation time is improved by this change?
Doubling the CPU tends to have more than a 2x effect on evaluation times because often the BES Client is more efficient when you give it more resources.
Measuring the BES Client full evaluation time for all Fixlets/actions is not particularly easy because it is designed to be interrupted by many things (like new actions) and the agent doesn’t really log its full evaluation times anywhere.
Try this:
Turn the emsg log on an agent to 10,000.
Let the BES Client run for a while without bothering it and notice it will do a loop where it will evaluate each action and each Fixlet to see if they are needed. There will be times next to each Fixlet/action that show how many milliseconds it took.
Double the CPU (just like you did or you can use the Task on the BES Support Fixlet site) and then watch it again. Any changes?
For the purposes of testing, change the workidle/sleepidle to 500/1 and then check to see how fast it goes. You should see a definite difference (although the agent will be using 20-50% CPU).