nanoTwitter Scalability Testing Protocol

Scalability Testing Protocol

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


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?search=word
  • /test/user/tweet?user_id=x&tweet_count=y

Test Scripts

  • During the test “someone” may try to log in by hand to make sure things are running ok
  • We will use the Payload File feature of
  • I will provide one. Here’s an example payload file
  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?search=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