Successful test environments make for successful tests. Solve test environment problems prior to capturing meaningful measurements. Chapter 9 provides more details on setting up the environment. Controlled Environment No other load running on your server(s) No other load running on any component of your test (i.e., back-end systems) Private network Servers all ready (not still initializing) Host files instead of DNS name server Network Understand required network capacity (i.e., 100Mbps, gigabit, and so on). Understand network capabilities. Sufficient network capacity between client and HTTP servers. Sufficient network capacity between application servers and back-end systems. Connectivity tested between all systems, including client drivers and back-end systems. Hardware Representative of production environment Installed and configured Rated for use in your network Clean configurations (beware of settings on borrowed hardware) Prerequisite Software Supported levels Configuration as expected in production environment Clean installs Application Code Single path performance optimizations completed. No memory leaks. Individual paths tested. Stress testing successful. Back-End Reasonable simulations for back-end systems in place and tested. Enough data in the back-end to eliminate unrealistic caching. Queries to back-end exhibit performance characteristics similar to those of production environment. Similar tuning applied as that found in production. Data matches test scripts. |