!REPOST - Media Share Server Load Test Suite

Register
Submit a solution
The challenge is finished.

Challenge Overview

Project Overview

We have built a server app that allows users to share media (photo/video) from their devices (phone / tablet), and we need to test how well this server performs when number of concurrent users grows.

Contest Objective

The goal of this competition is to develop an Advanced Test Plan to load test the server we built.

JMeter is an option but please feel free to use any other tools or even scripts you write yourself as long as it works and yields good results. We have previously built a test plan using JMeter to test the PoC code which you can take a look at for reference, but the code has changed a lot so basically we'll need to re-write the tests based on the current code.

The competitors in this competition are expected to provide the following deliverables.

  1. A document describing how to run, modify the test plan you created in Microsoft Word compatible document.
  2. JMeter project file (*.jmx) / Scripts / or any standard files needed for the testing if you choose to use other tools
  3. Graph Results collected by the Listener

Note: you don't have to use JMeter, but if you choose to use other tools, make sure load testing is properly done and results are easy to explore.

Requirements

  • The tests should cover both photo and video upload
  • We need to be able to easily configure how many times a photo / videos is uploaded or how many photos/videos are uploaded by a single thread
  • We need to be able to configure a directory for each thread from which the thread will randomly pick photos / videos to upload
  • We need to measure the time it takes from the initial send to the photo / video appearing (or at least starting to appear) on the screen
  • We need the logs to be clearly shown (similar to the logs we have in the provided code)
  • We don't need multiple duplicate test groups, instead we just need the following ones, but they should have options to conifgure number of threads, number of photos/videos to upload, etc...
    • photo upload
    • video upload
    • idle viewers, meaning sessions which have been initiated but which are not uploading content. Iidle viewers create a small amount of server load and in production we'll always have some sessions where nothing is happening, so the final metric should say something like "We had an average response time of 2.5 seconds with 100 concurrent sessions 10% of which were idle).

Technologies

  • HTTP PUT/GET
  • Nodejs
  • Jmeter

Provided Resources

We have provided instructions on how to test the current code.



Final Submission Guidelines

Submission Deliverables

The competitors in this competition are expected to provide the following deliverables:  

  • A document describing how to run, modify the test plan you created in Microsoft Word compatible document.
  • JMeter project file (*.jmx) / Scripts / or any standard files needed for the testing if you choose to use other tools
  • Graph Results collected by the Listener

Final Submission

  • Your final submission must contain a single .zip file with all the submission deliverables.
  • For each member, the final submission should be uploaded to the Online Review Tool.
  • You must not include any identifying information, such as your handle, in your submission. Your submission should be anonymous and you will be scored down in screening for not complying.

ELIGIBLE EVENTS:

2014 TopCoder(R) Open

Review style

Final Review

Community Review Board

Approval

User Sign-Off

ID: 30043695