nanoTwitter Scalability Testing Protocol

Scalability Testing Protocol

Here’s how testing of scaling will be done with loader.io. You need to make sure that your version of nanoTwitter performs as well as possible in these scenarios!

Setup

Before we can run each standardized test, we want to get each server to a known state we do the following commands directly from a browser. We want to make sure that the complete seed data is loaded. We will ask you to show us this before the test. The numbers are approximately:

  • x users
  • y tweets
  • z relations

Required urls (all have to be GET)

  • /?user_id=n
  • /search?phrase=word
  • /test/user/tweet?user_id=x&tweet_count=y
  • /test/reset?count

Test Scripts

  1. Rotate through 5 different user-ids, including testuser
  2. Rotate through 10 different urls, as follows:
  3. 7 times /?user_id=n
  4. 2 times `/test/tweet?user_id=x&count=y
  5. 1 time /search?phrase=z

Test runs - using maintain client load

  1. Run payload with u=250
  2. Run payload with u=500
  3. Run payload with u=1000
  4. Run payload with u=2000

Data Collected

  • Ave response time
  • Worse response time
  • NUmber of timeouts
  • Number of successes