Skip to content

This resource compares backend technologies with benchmarks on write/read operations and static endpoint requests, aiding in selecting the best framework based on speed and load handling.

License

Notifications You must be signed in to change notification settings

abdelaziz-mahdy/backend-benchmark

Repository files navigation

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

  • go mux db_test go mux db_test Benchmark Graph

  • c_sharp dot net db_test c_sharp dot net db_test Benchmark Graph

  • python django sync db_test python django sync db_test Benchmark Graph

  • python fast api db_test python fast api db_test Benchmark Graph

  • python django async db_test python django async db_test Benchmark Graph

  • dart server pod db_test dart server pod db_test Benchmark Graph

  • rust actix web db_test rust actix web db_test Benchmark Graph

  • java spring boot db_test java spring boot db_test Benchmark Graph

  • javascript express bun db_test javascript express bun db_test Benchmark Graph

  • javascript express node db_test javascript express node db_test Benchmark Graph

Static Endpoints

Comparison Graph with static endpoints

Comparison Graph

Detailed Graphs for each backend

  • go mux no_db_test go mux no_db_test Benchmark Graph

  • c_sharp dot net no_db_test c_sharp dot net no_db_test Benchmark Graph

  • python django sync no_db_test python django sync no_db_test Benchmark Graph

  • python fast api no_db_test python fast api no_db_test Benchmark Graph

  • python django async no_db_test python django async no_db_test Benchmark Graph

  • dart server pod no_db_test dart server pod no_db_test Benchmark Graph

  • rust actix web no_db_test rust actix web no_db_test Benchmark Graph

  • java spring boot no_db_test java spring boot no_db_test Benchmark Graph

  • javascript express bun no_db_test javascript express bun no_db_test Benchmark Graph

  • javascript express node no_db_test javascript express node no_db_test Benchmark Graph

About

This resource compares backend technologies with benchmarks on write/read operations and static endpoint requests, aiding in selecting the best framework based on speed and load handling.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published