We have developed a website in PHP for small services. Before production, we have to do performance and load testing from server side (that is Apache) and from client side.
From Client side, I want to know what is the average response time overall and for each object etc. For back-end side (apache web-server), I want to know how many request (clients) it can handle before its performance start to degrade.
Is there any open source tool as we are on Linux platform, for this purpose. Or is there any website(s) available (freely) that can do all of these testing.
We are more concerned about load testing where we want to request to our website from 1000 users at same time (for example) and want want to check client and server side different performance metrics.
2
Answers
You can find the list of free and open source load testing tools at http://www.opensourcetesting.org/category/testing-tools-overview/performance/?menu-page=overview, currently there are 59 (and counting).
The narrowed down list of the most advanced cross-platform open source load testing tools can be found in Open Source Load Testing Tools: Which One Should You Use? article, it also has feature comparison matrix, sample scripts and reports.
Given your application is in PHP my expectation is that you don’t have a lot of expertise in other programming languages so the most obvious choices would be in:
Both tools provide record-and-replay functionality so you will be able to build your test scenario skeleton using browser.
Since you are running Apache, you could use
ab
to stress test the server side of your application.Apache HTTP server benchmarking tool
Let’s look an example:
By issuing the command above, you will be hitting http://example.com/ with 100 simultaneous connections until 10 thousand requests are met.
Here you have another tutorial how to use
ab
Stress-Test Your PHP App With ApacheBench
Some other helpful tools are:
If you want a more in-detail view of your
php
objects and all that stuff I would suggest you to check blackfire. As I know they offer a free version for local testing and only one application. But I don’t think that you need this one for now.For your
front end
I would suggest you a set of tools that help you to see how your page performs in different devices: