1

Possible Duplicate:
How do you do Load Testing and Capacity Planning for Web Sites

I am developing an PHP MYSQL application running on a Linux server I was wondering whether there is any way to test how many simultaneous users an application can handle?

Thanks

3 Answers3

1

You actually need to test two things:

  • breaking point
  • scalablity

For finding the breaking point you can use apache benchmark (ab) for very raw stress testing or Selenium for more complex things. Regarding scaling you have to redo the previous tests with the application running on more powerfull hardware (scale up). Then with your app running from multiple webservers (scale out). Similar for the database backend but that's a littly trickier. When doing this type of tests it would help to have your machines monitored with tools like collectd/munin/zenoss and slow query log enabled in mysql so you can easily pinpoint any bottlenecks. For scale-out testing you can use Amazon's EC2 - 240$ , 100 servers for one hour if I remember correctly. The general idea when trying to profile a (web) application is to have a clear scaling path - i.e. where exactly you need more capacity, how you can provision it to the production environment and when you should do it.

0

I would use PHP (since you already know it) and write a script to query your application from a remote machine. It shouldn't be too hard to write the script to log in and navigate around, especially since you wrote the target application.

Write your script to test latency and other variables, and make sure to watch the resource utilization on the application server.

Matt Simmons
  • 20,218
  • 10
  • 67
  • 114
0

There are several tools to test your application under load. The one I've heard most about is JMeter. I believe you can also use part of the Selenium infrastructure to generate load testing.

David Pashley
  • 23,151
  • 2
  • 41
  • 71