…
Graph G
shows a snapshot of the breakdown prior to reaching full load of each
respective transaction’s J2EE breakdown.
The ‘Avg. Time’ column shows the time spent in milliseconds within various
J2EE layers for the transactions being recorded, being sorted from highest time
to lowest during the snapshot period selected.
The layers are broken down via the legend, which shows not only layers
for ‘servlets’, ‘jsps’, ‘jdbc’, and ‘struts’, but also implemented layers
within com.cokecce.pat.*. These ‘pat’
specific packages include those for ‘bo’, ‘database’, ‘util’, action’, ‘bean’,
‘daoImpl’, ‘model’, and ‘security’.


Graph
G
The graph shows the highest three timed transactions
experiencing their highest amount of J2EE server-time being spent with the
package ‘layer’ DB.JDBC (shown in purple color).
Upon further drill-down in Graph H, the offending SQL statements for the three transactions of
interest - Accept_Customer_Info_Details_2,
Exc_Details_AddLine_3, and general ‘Search’ transactions - were
all investigated.
The transaction below shows the further breakdown of the
offending transaction within the DB.JDBC layer named ‘Accept_Customer_Info_Details_2’
by its J2EE method calls. As can be seen
via the top few methods listed within the ‘Method’ column, the statements are
all SQL statements.

Graph
H
Further investigation took place with the other transaction
with 90% transaction response time exceeding three (3) seconds and it also
showed the same type of SQL offending transactions. The breakdown of a representative ‘Search’
transaction captured the same with Graph
I showing that breakdown within it’s DB.JDBC layer. The graph is shown with cursor highlighted
over the method having the largest transaction time, showing the specific and
highest offending SQL.

Graph
I
Thus, all three offending transaction response times (Accept_Customer_Info_Details_2, Exc_Details_AddLine_3, and general ‘Search’ transactions) are likely due to inefficient SQL or database schema.