Load Testing for Fall 2007

This is the result of the Aug 28 Developer Meeting

Assumptions

Configuration

  • 5 app servers
  • 3000 concurrent users
  • 600 users per app server
  • 1 oracle db

Goals

  1. To determine where we fail (number of users/number of db connections)
  2. To determine what happens when we fail (slow down? exceptions?)
  3. To figure out what our optimal number of max connections is per db pool (for external and internal db)
  4. To produce some tuning recommendations for both app servers and dbs

Specifically:

  • What are the costs for connection pooling incremental usage?
  • Tell the DBA group what level of load they can expect
  • Determine what happens when we hit the boundary case, and explore alternatives to existing architecture

Tests

  1. Try setting 1 or 2 connections for an app server and observe failure under load testing conditions
  2. Replicate load to max out connections
  3. Monitor internal and external connections under load
  4. Profile the full path of a user session test case in terms of db calls/resource consumption
  5. Run our current codebase versus HEAD
  6. Run our current db config versus RAC config

Options/What ifs

  • Turn off presence

Programmer Tasks (Stories)

  • Develop load tests (Mike's doing this)
  • Modify distauth for load testing so it doesn't hit CAS/SecureWeb
  • Explore/spec out what's involved in making one or more mviews static tables (for worst case that we can't tune mviews)