Skip to main content

what is the unit of java perfomance

9 replies [Last post]
ayyappadaskr
Offline
Joined: 2007-10-15

Hi ,
I need to measure my application functions.What is the performance unit ,Is there any standards for it Please help

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
karunanidhis
Offline
Joined: 2007-10-22

Hi ayyappadaskr !

Here are the Metrics (units) that you should be monitoring to see how well your Application is performing:

1. CPU Utilization: Monitor the CPU Utilization of your JVM process. A well tuned Application will gradually consume more CPU as the load increases on the Application

2. Memory Utilization: Monitor the Heap Size and Garbage Collection. Ideally GC should not be very frequent and the GC occurances should NOT consume lot of
CPU cycles.

3. Threads Utilization: More threads being used, genreally slower the Application (it's because whatever was executing in a thread takes long time to finish and hence the Application needs newer threads). Also more threads means more resource utilization.

4. DB Connection Pool Utilization: Watch out of Connection Pool leak if the number of DB connections keep increasing and never decreases.

5. Throughput: Number of requests processed in a period. This gives you a direct indication of how fast your Application is processing the request. Note that you should load the Application enough to get meaningful measurement

6. Response Time: You can identify potential methods (Ex: LoginServlet, checkoutEJB etc) and monitor the execution time of these methods.

Now, the question is how are you going to monitor these metrics, what are the tools available to monitor?

If you are using any of the popular J2EE Application Servers (Weblogic, WebSphere, JBoss etc), you can easily get most of the info from their Admin Consoles.

If it is a standalone App, you could either
- opt for a 3rd party Monitoring tool (my personal favorite: Wily Introscope - You can use this for J2EE Application Servers as well). Try downloading a trial version and instrument your Application with Introscope.

- Or if you have some time, take a look at JMX API. You can write simple Java programs to query your App to get the runtime Metrics. Be Aware of some overhead though.

Also note that you should monitor components OUTSIDE your Application too, such as Network, Database Performance, Server Hardware performance etc.

Good Luck.

- Karun

ayyappadaskr
Offline
Joined: 2007-10-15

HI Clemens,
Sorry I might be wrong ,might be i am thinking in a different way .I thought there might be some standards defined by [b]SPEC[/b] or similar people.We are doing performance analysis for past two years in J2EE platform .

linuxhippy
Offline
Joined: 2004-01-07

Have you considered commercial support already? Sun offers excelent services

ayyappadaskr
Offline
Joined: 2007-10-15

Hi,
I want know what level of support is available from sun,software or operating system and hardware etc..

ayyappadaskr
Offline
Joined: 2007-10-15

Hi fred,
Thanks for your reply,Actually we need to rate our transactions and their resource usage,We tried our transactions in IBM Pseries and Solaris T2000 machine,We are different response time and TPS ,We need a standard rating using that we can measure our transactions

linuxhippy
Offline
Joined: 2004-01-07

Such a comparison whould be nonsence, there is none for Java and none for another language, forgat about it. You can't compare apples with pears...

Clemens

PS: Where are you from?

ayyappadaskr
Offline
Joined: 2007-10-15

hi linuxhippy,
response time and throughput are the factors depends upon the bussiness complexity,i want to know is there any general standards to measure the java peromance like FLOPS,MIPS etc
Thanks for your replay

fred34
Offline
Joined: 2004-06-19

Yes, which is why response time and throughput are perfect metrics for measuring performance. MIPS has long since been abandoned as a performance measure in all its abysmal forms as it is shows nothing. FLOPS is just about as meaningless in Java since it is totally dependent on the underlying hardware and OS.

What are you trying to measure? If throughput is not what you're looking for it sounds like you maybe looking for an excuse to optimise something that doesn't need optimising.

linuxhippy
Offline
Joined: 2004-01-07

throughput and response time, as with any other language/platform