Skip to content

Visualize wait-for graph for Java threads

A Java Thread Dump is often used for analyzing scalability issues, hangs or deadlocks. It contains the stack trace for every thread and the locks/monitors a thread holds or waits for. Sometimes it may be useful to create a visual illustration of the dependencies between the blocked threads to be used for a document or a presentation. I would like to introduce a little perl script I wrote for this purpose.

Continue reading "Visualize wait-for graph for Java threads"

Tuning by Load Average - Not!

A lot of times I see people looking at the load average for a health check of a machine. This may give a hint if the machine is busy but it doesn't help to locate the cause. I will show in this article that two totally different workloads will result in exactly the same load average profile. This effectively make the load average alone a useless measurement in root cause analysis.

Continue reading "Tuning by Load Average - Not!"

Universal Scalability Law in Oracle

In August 2011 Dave Abercrombie wrote an article about the Universal Scalability Law (USL) in an Oracle OLTP database. He used Mathematica for his calculations and wanted to provide a solution based on R later. Currently I am keen to learn more about the Universal Scalability Law and therefore I decided to transform his calculations into R code myself.

Continue reading "Universal Scalability Law in Oracle"