tests were run over my home machine's cable modem (where I average 30 Mb per second
download speed). The WAN case uses the public WiFi connection in my local coffee
shop—the speed of which is fairly unreliable (the table shows the average of samples over a
Table 10-1. Effect of optimizations on web output size
Optimization applied ART on LAN ART on broadband ART on public WiFi
This highlights the importance of testing in the environment where the application will actu-
ally be deployed. If only the lab test were used to inform tuning choices, 80% of perform-
ance would have been left on the table. Although the nonlaboratory tests in this case were
run to a remote application server (using a public cloud service), hardware-based emulators
can simulate such connectivity in a lab environment, allowing control over all the machines
involved. (The cloud service machine is faster than the LAN machine as well; the numbers
between machines are not directly comparable.)
1. Test Java EE applications on the network infrastructure(s) where they will actu-
ally be used.
2. External networks are still relatively slow. Limiting the amount of data an applica-
tion writes will be a big performance win.
HTTP Session State
There are two important performance tips regarding HTTP session state.