Load Testing ScalaCourses.com

2013-06-01 / All Blog posts

ScalaCourses.com, which will be announced next week, is built using the entire Typesafe stack: Scala 2.10, Play 2.1, Slick 1.0 and Akka 2.1. It runs on Heroku.

I ran a load test on the app running on only one Heroku dyno. I configured JMeter to use 300 threads, hammering at full speed (no pauses between hits). Testing was done from my desktop. The test generated 16.5Mb/s inbound and 4.1Mb/s outbound according to iptraf. The test did not download page assets because they are served directly from AWS S3.

50% of all responses were received in under 110ms, and 95% were received in under 165ms. Considering that average ping time from my workstation in Half Moon Bay, CA to the Heroku app server, running from an Amazon server in Ashburn, Virginia (about 3000 miles away) is ~100ms, that is amazingly good! Ping measures round-trim time for a test packet, and mtr showed the average ping time as ~95ms with a standard deviation of 18.

Yes, I did put a lot of care into the design of the app so that it would scale well, but I had not expected such fantastic results. Kudos to each of the Typesafe product teams, and to Heroku!

comments powered by Disqus