Mike Slinn
Mike Slinn

Load Testing ScalaCourses.com

Published 2013-06-01.

This article is categorized under Scala
ScalaCourses logo

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. The distance from my workstation in Half Moon Bay, CA, USA to the Heroku app server, running from an Amazon server in Ashburn, Virginia, USA is about 3000 miles or 4,828 km away. Considering that average ping time 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.

50% of all responses were received in under 110ms, and 95% were received in under 165ms

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!