Coder Social home page Coder Social logo

st3v3nmw / awesome-django-performance Goto Github PK

View Code? Open in Web Editor NEW
173.0 7.0 7.0 22 KB

A curated list of libraries, tools, blog articles, and books to help profile and optimize your Django project

License: Creative Commons Zero v1.0 Universal

awesome awesome-list django django-rest-framework awesome-django django-orm django-caching django-performance

awesome-django-performance's Introduction

Awesome Django Performance Awesome

A curated list of libraries, tools, blog articles, and books to help profile and optimize your Django project.

Contents

Profiling

Tools

  • 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!
  • cProfile - cProfile and profile provide deterministic profiling of Python programs.
  • dj-tracker - dj-tracker is an app that tracks your queries to help detecting some possible performance optimisations listed in Database access 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

  • 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.
  • PgBouncer - Lightweight connection pooler for PostgreSQL.
  • psycogreen - Integration of psycopg2 with coroutine libraries.

Articles

Caching

Tools

  • 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.
  • 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.

Articles

Serialization

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.

Articles

Tasks

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.

Articles

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

Testing

Tools

  • Locust - An easy to use, scriptable and scalable performance testing tool.
  • hey - HTTP load generator, ApacheBench (ab) replacement.

Monitoring

Tools

  • Sentry SDK - The official Python SDK for Sentry.io (has an APM offering).
  • 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.
  • Grafana - Operational dashboards for your data here, there, or anywhere.
  • 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

awesome-django-performance's People

Contributors

bbkgh avatar st3v3nmw avatar zerolab avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.