• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Ron McLeod
  • Paul Clapham
  • Tim Cooke
  • Devaka Cooray
Sheriffs:
  • Liutauras Vilda
  • paul wheaton
  • Rob Spoor
Saloon Keepers:
  • Tim Moores
  • Stephan van Hulst
  • Tim Holloway
  • Piet Souris
  • Mikalai Zaikin
Bartenders:
  • Carey Brown
  • Roland Mueller

Need clarification --- Avg. CPU usage data

 
Greenhorn
Posts: 26
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
HI all,
I am using Jboss profiler and found my application average CPU usage data As below

Screen1 32452 micro second
Screen2 35996 micro second
so on

Now , my questions are
1. How to calculate the % of CPU utilization from the above data.As we used to see in the window task manager.

2. What is industry standard for CPU Utilization.Means whatever I know that If CPU utilization is 100% then it is not good.and It should be as low as possible.But what is the threshold value.

Please help.
I am very new to JProfiler. so all the thing are not clear to me.
 
Ranch Hand
Posts: 89
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
From the point of application, 100% CPU utilization is good and desired.

If application has a work to do then I expect it to use 100% CPU to complete the work as fast as possible. This is even more important when you have multiple CPUs and threads. It is best if application loads ALL CPUs 100% to complete work as fast as possible. If application has work but doesn't use CPU 100% then there are other bottlenecks (IO, bad synchronization, etc).

E.g. you have a web application running on a server with 2 CPUs. You load-test it with "ab -c 4 -n 1000 http://localhost:8080/myapp/" (4 concurent users, 1000 requests). If your application is implemented correctly it will use 100% of 2 CPUs and process n requests/second. Other application may only use 50% of 2 CPUs and process less requests/second. The second application is implemented wrongly because it doesn't use all available resources.

Now, what profiler helps you to do, is to optimize application that it may deliver even more requests per second. Of course, if you have constant number of requests per second, then you will lower CPU usage.

Regarding the CPU load on production systems. We try to keep CPU load below 50% on each server in a 2-server-cluster. In this case one server may still process all load if another goes down.
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Originally posted by Dwijen Bhattacharjee:
1. How to calculate the % of CPU utilization from the above data.As we used to see in the window task manager.



You can't. You simply are missing information.


2. What is industry standard for CPU Utilization.Means whatever I know that If CPU utilization is 100% then it is not good.and It should be as low as possible.But what is the threshold value.



I totally agree with Vilmantas.
 
Creativity is allowing yourself to make mistakes; art is knowing which ones to keep. Keep this tiny ad:
We need your help - Coderanch server fundraiser
https://coderanch.com/wiki/782867/Coderanch-server-fundraiser
reply
    Bookmark Topic Watch Topic
  • New Topic