Django benchmarking project

This is an updated post of my progress along with the milestones yet to be achieved and the time remaining to complete them

Currently working on:

  1. Migrating benchmarks in djangobench to django-asv:
    Proposed Deadline: June 30
    Progress: Most of the benchmarks have been migrated to the django-asv repo and 4 benchmarks that modify the existing settings specified are yet to be migrated and the discussion about them is currently going on

  2. Running the benchmarks regularly:
    Proposed Deadline: July 18
    Progress: I have used Github actions to set up workflows that run the benchmarks daily and commit the results back to the repository. I have also set up a workflow that publishes these results to a website
    Yet To Do: Implementation of the feature by which the benchmarks can be run when a pull request is labeled in django\django or a comment is made.

  3. Storing the benchmark results:
    Proposed Deadline: July 25
    I had initially proposed to store the benchmark results in a database but @smithdc1 indicated that the benchmark results are already available in a JSON file and it is searchable so I will be skipping this

Work in upcoming weeks:

  1. Create a test harness using Locust
    Proposed Deadline: July 30
    Add a locustfile.py and define the tasks to be performed during load testing

  2. Perform load testing:
    Proposed Deadline: August 25
    Develop a Django project and perform load testing on it by writing dockerfiles to containerize the test harness and the Django project with different ASGI and WSGI servers and run them using docker-compose.

  3. Add test results to a database
    Proposed Deadline: August 30
    I am looking into ways to store the test results of load testing

  4. Update documentation:
    Proposed Deadline: September 4