Copy link to clipboard
Copied
Our Coldfusion 10 Standard server does not ever spike higher than 25%.
I have a hard time believing we write such incredibly excellent code to have over a hundred users never make our server spike above 25%...
How do I check to see how many CPU's ColdFusion is using or the maximum number of cpus it will use?
Thanks!
One way of loading CF with use is to use Apache JMeter. refer:
https://jmeter.apache.org/
Briefly. In Jmeter to Test Plan, add Threads (users) then Thread Group.
In Thread Group add Sampler HTTP Request.
Inside Thread Group increase Number of Threads from 1 to say 30.
Alter HTTP Request to include Server Name or IP of CF
The port eg 80 or 8500 depending built in CF webserver or IIS / Apache.
Path to CFM file your going to use.
Press Stop Go buttons.
HTH, Carl M.
Copy link to clipboard
Copied
Since ColdFusion Standard has a limit to the number of simultaneous threads it can process, you may never generate enough **simultaneous** requests to push the JVM to utilze more CPU power. Is that 25% total CPU usage, ColdFusion usage, or per core usage? Is this a Windows box? If so, take a look in Task Manager at the Performance tab. Do you have a graph for each "CPU" or core (you should see 8 graphs). If not, go to the View menu and click on "CPU History" and set it to "One Graph per CPU". Then see how many are being used when ColdFusion is being hammered by lots of simultaneous requests. It actually may be working more efficiently than you think.
-Carl V.
Copy link to clipboard
Copied
So what you're saying is that ColdFusion will use all available cores to process incoming requests and that it is probably being very efficient about it and that the only way I can really tell is if I open the CPU graph and look at it?
Is there another potentially more definitive way to determine it? 😃
Thanks!
Copy link to clipboard
Copied
One way of loading CF with use is to use Apache JMeter. refer:
https://jmeter.apache.org/
Briefly. In Jmeter to Test Plan, add Threads (users) then Thread Group.
In Thread Group add Sampler HTTP Request.
Inside Thread Group increase Number of Threads from 1 to say 30.
Alter HTTP Request to include Server Name or IP of CF
The port eg 80 or 8500 depending built in CF webserver or IIS / Apache.
Path to CFM file your going to use.
Press Stop Go buttons.
HTH, Carl M.
Copy link to clipboard
Copied
Actually normal traffic/load of requests can be served by a few cores only, CF will use more/total available cores in following scenario:-
As i mentioned in earlier post, i performed stress testing with a few thousands CFM pages requests for a short duration, which resulting in 6 cores usage whereas it was using 2-4 cores when i was requesting for few CFM pages, you would be able to observe core usage changes in CPU usage history.
You would be able to perform stress testing by few available opensource load testing tools too.
Kindly let me know if you have any more query.
Copy link to clipboard
Copied
I performed stress testing with thousands of requests to check this behavior, saw 6 cores usage during stress test than normal usage of 4 cores.
Actually its too much efficient so that would use more cores only when it would need additional cores for those increased extreme traffic/load as normally pages are not too much cpu intensive.
If you have some CPU intensive pages then you can perform load testing to check this behavior...