New on LowEndTalk? Please Register and read our Community Rules.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
All new Registrations are manually reviewed and approved, so a short delay after registration may occur before your account becomes active.
Best way to stress an AppEngine backed API
Hello,
Im looking for recommendations on testing the load of an API I've written in PHP and am running on Googles AppEngine. I would like to see how the platform scales when I go from a few hundred requests/s to 10k. The API will need to be able to cope with varying loads and frequent mass-spikes.
Thanks,
B
Comments
Can you make HTTP get/post requests to it (i'm not much of a developer)? If it's not IP limited spin up a few VPS's and run a bash loop using curl to send the requests.
I've found a tool to test with on my local PC, but Id rather not get blacklisted.
Wget at 1000 threads. Not recommended. Adjust count to lower.
Apache benchmark is also used to well stress test.
http://pastebin.com/raw.php?i=53sernKv
Also watchout for wget's -l10000 to something lower.
siege?
763 tools to test your application:
JMeter + Google Compute Engine
https://github.com/GoogleCloudPlatform/solutions-google-compute-engine-cluster-for-jmeter
https://loader.io/
Thanks, Result: http://ldr.io/1NeJwKn
806ms of average response time seems bad if this is a critical API. Try using other host solutions as AWS, Azure or self host it and make some fine tunning on server to your load.
Without reading your code I can't say where you have greater complexity levels, but you should analyze your code to find points of stress and optimize that.
Its a PHP script that pulls data from a Datastore based on whats requested. I will defiantly need to work on optimizing it. Im currently being let down by the Datastore API.
Take a look at wrk, great benchmarking tool that is scriptable enough to create some scenarios. We use it at work to stress test our API and it works pretty well.