Network destributed computing module year 3 semester 2 Assignment 2

Technologies

  • Python
  • Locust
  • Python Anywhere

Assignment 2 Brief

Date Given: 31/03/2023

Time to complete: 4 weeks

Marks: 40%

Assignment Outline

In this CA, you are required to implement a cloud-based hosting solution for a Flask based Python application (Python Anywhere). A series of stress tests should then be performed using Locust. The idea is to test with a slowly increasing number of users to identify when the server will break. This will validate how many users the server can deal with at any one time. We are interested to see if any changes happen when more users are added to the virtual tests. Eventually the server will start responding with error codes telling us that it cannot take any more traffic.

System Specifics

  • Install the testing software Locust on your machine.
  • Perform a series of tests with a varying number of users. These tests should send the traffic to a sample PythonAnywhere Flask application.
  • Report all your findings in the testing document.
  • You must complete at least six different tests using the testing template document.
  • Outline what changes when you add more users to users to your tests, e.g., load times, average load times, error codes returning, requests per second obtained, etc.
  • Review the video on Moodle to get started.
  • Be sure to capture the different chart outputs that are generated during your testing.
  • Outline the changes that happen in the graphs in your document with screenshots and comments.

Deliverables

  • Document outlining the steps you have performed.
  • Marks will be awarded for the detail of your analysis.