Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
awesome-django-performance
A curated list of libraries, tools, blog articles, and books to help profile and optimize your Django project
https://github.com/st3v3nmw/awesome-django-performance
Last synced: about 12 hours ago
JSON representation
-
Profiling
-
Tools
- cProfile - cProfile and profile provide deterministic profiling of Python programs.
- Django Silk - Silk is a live profiling and inspection tool for the Django framework. Silk intercepts and stores HTTP requests and database queries before presenting them in a user interface for further inspection.
- Django Debug Toolbar - A configurable set of panels that display various debug information about the current request/response.
- pyinstrument - Call stack profiler for Python. Shows you why your code is slow!
- dj-tracker - `dj-tracker` is an app that tracks your queries to help detecting some possible performance optimisations listed in [Database access optimization](https://docs.djangoproject.com/en/dev/topics/db/optimization/)
- Pyroscope - Grafana Pyroscope is an open source software project for aggregating continuous profiling data. It allows you to profile your applications in real-time, and then analyze the data to identify bottlenecks and performance issues.
-
-
Database
-
Tools
- PgBouncer - Lightweight connection pooler for PostgreSQL.
- django-auto-prefetching - Never worry about n+1 performance problems again (DRF views level).
- djangorestframework-queryfields - Allows clients to control which fields will be sent in the API response.
- django-virtual-models - Improve performance and maintainability with a prefetching layer in your Django project.
- django-perf-rec - Django-perf-rec is like Django's assertNumQueries on steroids. It lets you track the individual queries and cache operations that occur in your code.
- django-auto-prefetch - Automatically prefetch foreign key values as needed (ORM level).
- django-zen-queries - Explicit control over database query execution in Django applications.
- nplusone - Auto-detecting the n+1 queries problem in Python.
- django-pickling - Efficient pickling for Django models.
- django-test-query-counter - A Django toolkit for controlling query count when testing.
- psycogreen - Integration of psycopg2 with coroutine libraries.
-
Articles
- Database access optimization - Outlines the steps to take when attempting to optimize your database usage.
- Django Performance Improvements - Part 1: Database Optimizations
- Automating Performance Testing in Django
- Performing raw SQL queries
-
-
Caching
-
Tools
- Varnish Cache - A web application accelerator also known as a caching HTTP reverse proxy.
- PolyScale.ai - A high performance Data Delivery Network (DDN) that accelerates databases. Using smart caching, it improves query performance, lowers latency and makes data access and scale engineering a breeze, both on premise and at the edge.
- django-cacheback - Smart caching for Django using Celery to refresh cached items asynchronously.
- django-memoize - A cache for function or method results.
- django_model_cached_property - Useful for caching of property results for more time than lifetime of object during the request.
- django-cacheops - A slick ORM cache with automatic granular event-driven invalidation.
- django-cachalot - Caches your Django ORM queries and automatically invalidates them.
- django-cache-machine - Automatic caching and invalidation for Django models through the ORM.
- django-request-cache - A Django app that provides a new cache on every request object. The cache is only kept within the request/response cycle.
- django-ormcache - A cache manager mixin that provides some caching of objects for the ORM.
-
Articles
-
-
Serialization
-
Articles
- Improve Serialization Performance in Django Rest Framework - How we reduced serialization time by 99%!
- Python Serialization Benchmark - A set of benchmarks for Python serialization frameworks.
-
Tools
- drf_orjson_renderer - A JSON renderer and parser for Django Rest Framework using the orjson library. Backed by Rust, orjson is safe, correct and fast.
- Django Compression Middleware - Django middleware to compress responses using algorithms such as Zstandard, Brotli, and gzip.
- serpy - A super simple object serialization framework built for speed.
- django-rest-marshmallow - Marshmallow schemas for Django REST framework.
- marshmallow - An ORM/ODM/framework-agnostic library for converting complex datatypes, such as objects, to and from native Python datatypes.
-
-
Tasks
-
Articles
-
Tools
- Celery - Distributed Task Queue.
- Celery Flower - Real-time monitor and web admin for Celery distributed task queue.
- django_dramatiq - A Django app that integrates with Dramatiq.
- Django-RQ - A simple app that provides django integration for RQ (Redis Queue).
- Django Q - A multiprocessing distributed task queue for Django.
-
-
Servers
-
Tools
- gevents - A coroutine-based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libev or libuv event loop.
-
Articles
-
-
Monitoring
-
Tools
- Sentry SDK - The official Python SDK for Sentry.io (has an APM offering).
- Grafana - Operational dashboards for your data here, there, or anywhere.
- statsd - Daemon for easy but powerful stats aggregation.
- django-prometheus - Export Django monitoring metrics for Prometheus.io.
- django-postgres-metrics - A Django application that exposes a bunch of PostgreSQL database metrics.
- apm-agent-python - Official Python agent for Elastic APM.
- New Relic Python Agent - Instruments your application for performance monitoring and advanced performance analytics with New Relic.
-
-
Books
-
Tools
- The Temple of Django Database Performance - By [Andrew Brookins](https://andrewbrookins.com/).
- High Performance Django - By Peter Baumgartner and Yann Malet.
-
-
Testing
Programming Languages
Categories
Sub Categories
Keywords
python
16
django
15
performance
5
redis
3
orm
3
metrics
3
python3
2
cache
2
rest-api
2
python-3
2
serialization
2
django-rest-framework
2
monitoring
2
schema
2
task-queue
2
deserialization
1
marshalling
1
marshmallow
1
serde
1
validation
1
amqp
1
python-library
1
queue-tasks
1
queue-workers
1
queued-jobs
1
django-rest-marshmallow
1
zstd
1
zstandard
1
middleware
1
gzip
1
content-encoding
1
brotli
1
caching
1
python-2
1
libraries
1
performance-optimization
1
performance-monitoring
1
profiler
1
profile
1
load-generator
1
load-test
1
load-testing
1
load-tests
1
locust
1
performance-testing
1
graphite
1
javascript
1
nodejs
1
statsd
1
django-prometheus
1