Skip to content

Latest commit

 

History

History
69 lines (51 loc) · 2.11 KB

README_template.md

File metadata and controls

69 lines (51 loc) · 2.11 KB

Backend Benchmark Repository

Table of Contents

Introduction

This repository serves as a comprehensive resource for comparing backend technologies based on speed and load capabilities. Our benchmarks focus on write and read operations, as well as requests to static endpoints, reflecting real-world usage scenarios to assist developers and decision-makers in choosing the most suitable backend framework for their needs.

Prerequisites

  • Docker installed on the system to run the benchmarks.
  • The scripts/start_tests.sh script is used to launch each test and create the graphs.

Completed Benchmarks

Benchmarks are categorized into:

  1. Database Tests (db_test): Involving database operations such as read and write requests.
  2. Static Endpoint Tests (no_db_test): Involving requests to static endpoints without database interaction.

Python

  • Django (Sync and Async) - Connection Pooling with PgBouncer.

Dart

  • Serverpod

JavaScript/TypeScript

  • Express (Node and Bun)

C#

  • .Net Core

Go

Rust

Testing Tool: Locust

  • Configuration:
    • Users: 10000
    • Spawn Rate: 10 users/second
    • Test Duration: 1000 seconds

Benchmark Visualization

Visual comparisons for database endpoints and static endpoints are provided to showcase performance differences across technologies.

Database Endpoints

Comparison Graph with db endpoints

Comparison Graph

Detailed Graphs for each backend

{db_endpoint_graphs}

Static Endpoints

Comparison Graph with static endpoints

Comparison Graph

Detailed Graphs for each backend

{static_endpoint_graphs}