Several facilities are provided in iWay Service Manager
(iSM) to assist in measuring execution performance. However, no
single tool provided neither by iWay Software nor an external source
will do a complete job of providing a performance analysis. Only
some approaches and techniques used frequently by application developers
are discussed in this appendix. iWay Software provides tools to
assist in such analysis, which are also discussed in this appendix.
The following list of principals apply to any performance measurement,
and must be considered in any experimental design.
- Java is designed to learn as it goes, which means that it
has a heuristic optimizer that requires many passes through code
to determine the best compilation and execution path. As a result,
you must run many setup transactions before actually taking measurements.
The initial transactions will be far slower than later transactions, and
the measurements of those transactions will include the Java analysis
time as the Java Virtual Machine (JVM) gathers information for later
optimization.
- You must run many experiments. One experiment can be configured
to deviate from the expected result, so that a wide range of statistical
data can be acquired.
- All extraneous effects must be avoided. For example, running
performance tools with tracing enabled will simply measure tracing,
which is provided to help debug problems, and will skew any results.
- You will need some understanding of the dynamics of a JVM, its
optimization, and the tools available with the JVM. These are not
further discussed in this appendix.