Django Academy · Lekcja

Profilowanie za pomocą Debug Toolbar

Mierzenie liczby zapytań i ich czasu wykonania

Lekcja 4 z 413 kroki

Profilowanie za pomocą Debug Toolbar to bezpłatna lekcja Django Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Django Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Django Academy zawiera 4 lekcji w sumie.

Mierz, nie zgaduj

Django Debug Toolbar pokazuje dokładną liczbę zapytań wykonywanych przez stronę, dzięki czemu optymalizuje Pan/Pani na podstawie faktów, a nie przeczuć. 🔍

Zainstaluj narzędzie

Dodaje się je za pomocą pip, tak jak każdy pakiet. Jest to narzędzie development, więc nigdy nie trafia do środowiska produkcyjnego.

pip install django-debug-toolbar

Zarejestruj aplikację

Dodaj je do INSTALLED_APPS, aby Django załadowało jego panele i wiedziało, że pasek narzędzi jest dostępny.

INSTALLED_APPS += ['debug_toolbar']

Dodaj middleware

Jego middleware wstrzykuje panel do odpowiedzi HTML, dlatego powinien znajdować się blisko początku listy middleware.

MIDDLEWARE += [
  'debug_toolbar.middleware.DebugToolbarMiddleware']

Zezwól na swój adres IP

Pasek narzędzi pojawia się tylko dla adresów IP znajdujących się w INTERNAL_IPS, dzięki czemu jest widoczny dla Pana/Pani, ale ukryty przed rzeczywistymi użytkownikami.

INTERNAL_IPS = ['127.0.0.1']

Panel SQL

Najważniejszym panelem jest SQL. Wyświetla on każde zapytanie wykonane przez stronę wraz z czasem jego trwania, obok wyrenderowanego wyniku.

Znajdź liczbę zapytań

Zaskakująco wysoka liczba zapytań to klasyczny znak problemu N+1. Pasek narzędzi sprawia, że tej liczby nie sposób przeoczyć.

Znajdź duplikaty

Narzędzie oznacza nawet duplikaty zapytań — niemal identyczne zapytania wielokrotnie uruchamiane przez pętlę — wskazując wprost źródło problemu.

Potwierdź poprawkę

Po dodaniu select_related lub prefetch_related odśwież stronę i obserwuj spadek liczby. To dowód, że poprawka zadziałała.

Sprawdź czasy

Wolne strony nie zawsze są kwestią liczby zapytań. Pasek narzędzi pokazuje czas każdego zapytania, dzięki czemu można znaleźć te naprawdę kosztowne.

Używaj tylko w środowisku deweloperskim

Umieść ustawienia paska narzędzi za flagą DEBUG. Może on ujawniać szczegóły wewnętrzne i spowalniać strony, dlatego środowisko produkcyjne nigdy nie powinno go wyświetlać.

Szybkie sprawdzenie

Ostatnie sprawdzenie na temat dobrych praktyk profilowania.

Podsumowanie

Debug Toolbar zlicza zapytania i mierzy ich czas, dzięki czemu można znaleźć problem N+1 i potwierdzić poprawki. Zainstaluj go, zezwól na swój adres IP i używaj wyłącznie w środowisku deweloperskim. ✅

Bezpłatny start

Ucz się Python dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
30
Lekcje
120

Często zadawane pytania

Czy lekcja „Profilowanie za pomocą Debug Toolbar” jest bezpłatna?

Tak — pełny tekst „Profilowanie za pomocą Debug Toolbar” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Django Academy, przejdź na CoddyKit PRO. Kurs Django Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Profilowanie za pomocą Debug Toolbar”?

Mierzenie liczby zapytań i ich czasu wykonania Ćwiczysz Django Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Django Academy?

Nie wymagamy żadnego doświadczenia. Django Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Profilowanie za pomocą Debug Toolbar”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Django Academy?

Tak. Każda lekcja Django Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Rozpoznawanie problemu N+1
  2. select_related dla kluczy obcych
  3. prefetch_related dla M2M
  4. Profilowanie za pomocą Debug Toolbar
← Powrót do Django Academy