Blitz.io now an AppHarbor Add-on
Since launching add-ons a few months ago, we have had a steady stream of interest from additional add-on providers. We have already added IndexTank (real-time full-text search) and today we're announcing Blitz.io.
Blitz.io is a load-testing-tool as-a-service and it's a great way to determine whether you need to take advantage of our recent scaling announcement. To start using Blitz, select the AppHarbor application you want to load-test and add the add-on. Then follow the link to Blitz and you'll be automatically signed in. Once there, hit "Play" to start load-testing your AppHarbor application.
To generate the graphs included below I issued this command:
--region virginia --pattern 1-250:60 appharbor.com
This tells Blitz to hit appharbor.com with requests from their Virginia data center (where AppHarbor servers are also located) over a period of 60 seconds, starting with 1 user and increasing to 250 concurrent users.
From the charts we can determine that appharbor.com does pretty well up to around 200 concurrent users, typically responding in less than 10ms. Around 52 seconds into the run, at 200 concurrent users, response times rise. On the bottom graph we can see the proportion of timeouts (orange line) increasing at the same time.
Blitz also provides a friendly summary of highlights (bottom screenshot), suggesting we use redis, memcached – both AppHarbor add-ons – or varnish to cache data. The conclusion is that if we want to support more that 186 users concurrently browsing appharbor.com then we should scale the application. Good thing AppHarbor makes this incredibly easy.
Want to build and add-on for AppHarbor? Here's a guide you can follow, including plenty of sample code.