Você realmente precisa testar duas coisas:
- ponto de quebra
- escalabilidade
Para encontrar o ponto de ruptura, você pode usar o benchmark do apache (ab) para testes de estresse muito brutos ou o Selenium para coisas mais complexas. Quanto ao dimensionamento, você deve refazer os testes anteriores com o aplicativo sendo executado em hardware mais potente (aumento de escala). Depois, com seu aplicativo sendo executado em vários servidores da web (dimensionar para fora). Semelhante para o backend do banco de dados, mas isso é um pouco mais complicado. Ao fazer este tipo de testes, ajudaria a ter suas máquinas monitoradas com ferramentas como collectd / munin / zenoss e log de consultas lentas habilitadas no mysql, para que você possa identificar facilmente quaisquer gargalos. Para testes de scale-out, você pode usar o EC2 - 240 $, 100 servidores da Amazon por uma hora, se bem me lembro. A idéia geral ao tentar criar um perfil de um aplicativo (da Web) é ter um caminho de escala claro - ou seja, exatamente onde você precisa de mais capacidade, como provisioná-lo no ambiente de produção e quando deve fazê-lo.