I need to measure my application functions.What is the performance unit ,Is there any standards for it Please help
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
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.
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 .
Have you considered commercial support already? Sun offers excelent services
I want know what level of support is available from sun,software or operating system and hardware etc..
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
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...
PS: Where are you from?
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
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.
throughput and response time, as with any other language/platform
Your use of this web site or any of its content or software indicates your agreement to be bound by these Terms of Participation.
Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.