Testing realistic loads for new versions of existing web app
- by David Cournapeau
Assuming I have a relatively complex web application, I am interested in testing performances of a new version using a traffic as realistic as possible.
Traffic is relatively complex (session-based, lots of internal logic which depends on incoming requests). The webapp depends on many servers (databases, frontends, etc...). I can think of two basic directions:
Recording every incoming request with its timestamp in production in a centralized manner and replaying it from N clients to reproduce a load as close as possible as the original. Issue: because we have many servers, getting the centralized log is not trivial.
having a system duplicating requests to a staging area so that I could "plug" a dev version of my webapp to it at anytime without affecting the production. Issue: I have not found much information about it expect this, which suggests to me that may not be the best solution. OTOH, it is realistic by definition.
What is the standard way of doing this kind of testing ? I did not find much information about load testing with complex, realistic traffic.