Supercharge Your Django Apps: Unveiling Performance Secrets with the Magic of Django Silk!

Speaker: Vishrut Kohli

Track: Web

Type: Remote Talk

Room: Talk Room 2 (Remote Talks)

Time: Oct 05 (Thu): 11:00

Duration: 0:45

Abstract: In this talk, we will take an in-depth look at Django Silk and explore how it can help optimize database queries, detect N+1 queries and other performance issues, and improve the performance of your Django applications.


  1. Introduction (2 minutes)
    • About me and what I do
    • Importance of performance optimisation in web development
  2. What is Django Silk? (2 minutes)
    • A performance profiler and optimisation tool for Django
    • Allows you to monitor SQL queries, view rendering times, cache usage, and more
    • Provides real-time insights into your application's performance
  3. How to install and Configure Django Silk (2 minutes)
    • Adding Django Silk to your project
    • Configuring the profiling middleware
    • Enabling the admin interface
  4. How to profile Your Application (3 minutes)
    • Collecting request/response data
    • Logging SQL queries
    • Measuring template rendering times
    • Identifying slow views and URLs
  5. Profiling Django Views (3 minutes)
    • Understanding the Silk middleware
    • Enabling and disabling profiling
    • Analysing view execution times and SQL queries
    • Identifying slow-performing views
  6. Optimising Database Queries (3 minutes)
    • Common query optimisation techniques
    • Detecting and fixing N+1 queries
    • Utilising querysets and aggregation
    • going beyond just using .select_related(), .prefetch_related()
  7. Real-Time Debugging (2 minutes)
    • The Django Silk shell
    • Debugging performance issues live
  8. Best Practices (3 minutes)
    • Configuring Django Silk for production
    • Integrating it in your development workflow
    • Using Silk's request filtering and grouping
    • Analysing Silk's timeline visualisation
    • Lessons learned and insights gained from real-world projects
  9. Conclusion and Q&A (5 minutes)

Key Takeaways:

  • Install and configure Django Silk to profile your Django application
  • Analyse performance data to detect bottlenecks
  • Optimize database queries using techniques like N+1 query detection
  • Utilize real-time debugging to fix performance issues on the fly

Target Audience: Django developers looking to optimize their application's performance.

Python Software Foundation
Thinkst Canary Afrolabs