Hi,
My purepath are showing the following values in the breakdown (CPU, Sync, Wait and IO times)
Can you please explain what would be the cause of each of these and what remedial measures are to be taken in case there % is high
I have web servers connecting to Oracle databases and I am seeing high percentages of these 4 parameters in different pure paths
Answer by Christian S. ·
hi Anurag,
about your question and in addition to the (very good ) explanation above:
sync time: time that a thread waits for a resource that another thread currently occupies (usually by "synchronized" or some other java.concurrency locks).
wait time: time that a thread waits on a specific object to be notified by another thread (usually by Object.wait() and Object.notify()/notifyAll()).
hope this helps, Christian
Answer by Andreas G. ·
Hi Anurag
Here is an explaination that I copied from one of our internal forums - this should give you enough explanation to understand the individual values you see in the PP Dashlet:
first of all you have to differentiate the breakdown of PurePaths and the breakdown of methods:
what we measure exactly (meaning: by instrumentation and callbacks) is:
by using the information from the called methods, we get for each method in the PurePath:
additionally, by using auto sensors and thread states we also get (additional to timings for non-instrumented methods)
and, as already said, the remainder which is left is then declared as "IO".
As to your specific question on IO and socketread(). This simply means that your PurePath is reading data from the network - and therefore it is considered IO. If socketread is a call you see "underneath" your JDBC calls you know it is related to retrieving data from the database server. If you see lots of socketread you may want to check whether the application is requesting a lot of data that takes a long time to transfer. Or - maybe your network bandwidth is limited and thats why socketread takes that long. It could however also be that your database server is overloaded and therefore socketread takes that long
Hope this helps
Answer by Anurag S. ·
Thanks Andreas. That really helps !! I under stand that suspensions time is the time when the JAVA runtime is suspended for GC and this be handeled by a proper memory management . Also, CPU time is the time when the CPU is busy in processing the request. Could you please explain what is the
a) wait time of methods
b) sync time of methods
and what is the general cause of encountering them.
JANUARY 15, 3:00 PM GMT / 10:00 AM ET