Performance problems may originate with any of the components in your web site. Use the checklist below to check component tuning and potential problems. See Chapter 2, Chapter 4, and Chapter 9 for a complete description of these concepts. Routers Configured for full bandwidth. Firewalls Properly configured. No TCP/IP timeouts. Proxy Servers Check for bottlenecks. Use to cache content. Network Interface Cards Check that processes are bound to correct NIC. Check for bottleneck. Check that NIC speed matches network speed. Operating System Set TCP/IP timeout low. File descriptors increased if necessary. HTTP Servers Appropriate number of threads or processes configured. Timeouts correct. Check logging level. No date conversion. No DNS look-ups. Keep- alive set appropriately. SSL only used when necessary. Web Container Load servlets at startup. Precompile or preclick JSPs. Turn off reload interval. Servlets JSPs Thread Pools Keep thread pools small (more is not always better). Establish thread pool "funnel". HTTP listeners Web container EJB container Database connection pools Enterprise JavaBean Container Configure the pool size large enough to contain the working set. Find the right balance on cleanup interval. Use local interfaces when possible. Application server configuration settings EJB 2.0 capabilities (beware of future scalability considerations) JVM Heap Maximum heap big enough to handle spikes. Maximum heap not so big that garbage collection takes too long. Minimum heap 25% “50% of maximum heap. Total of all JVM heaps on server less than physical memory. Application Server Clones Do not clone servers already at capacity (near 100% CPU utilization). Scale resources as you add clones. Database Server Correct indices. Indices copied to test database. New indices added for new applications. Resources tuned for web application (not fat-client). Bufferpools Cursors Sockets Caching used Multiple disks used Stripe logs Legacy Systems Add connections to handle web application user requests . Provide larger region for the legacy application. Increase memory buffers. Add processing capacity. Tune connection software bandwidth. Multi-threaded connection software. |