I’d like to find out if my system can take a certain load, number of PHP requests per unit of time. How would one go about this?
I’m about to make a change on Digital Camera Buying Guide, Photography Articles and Reviews | NeoCamera.com that would make all pages pass through PHP with personalized information which will prevent me from setting the cache-validity any significant amount of time (currently it is 1 hour). To handle the current load it needs to process 500 PHP requests per minute but I would like to make sure my system can handle twice the load. It is a Phenom II X4 with 8GB RAM running OpenSUSE 11.2.
Pounding the server could work if I had something that could sent enough requests. I don’t think it will show a linear response though, so I can’t send 10% of the load and multiply the results by 10. Right?
[LEFT]1. Add Cache Manager to emulate browser cache.
2. Add Cookie Manager to support sessions, logins, etc. Don’t forget to set ʺCookieManager.save.cookies=trueʺ property in jmeter.properties file under /bin folder of your JMeter installation.
3. Set ʺRetrieve embedded resourcesʺ to ʺtrueʺ to enabled css, images, js, etc. fetching. Don’t forget to filter external URLs via ʺEmbedded URLs must matchʺ input to keep results clean (we don’t need to load test external banners, google analytics, etc.
4. Add HTTP Header Manager with corresponding User-Agent string (or number of user-agents if you like) to get pages rendered accordingly.
Assuming all above I believe that given proper JMeter configuration you’ll be able to report that your system supports up to N users producing zero errors without having to multiply some “abstract” load by factor of 10.