ボトルネックを探すにはdjango-silkを使う


django-silkは何ができるの?

HTTPリクエストとデータベースクエリを保存して確認しやすくしてくれるライブラリ!🥺
APIのボトルネックになっている部分を素早く見つけることができる🥺

インストール

pip install django-silk

settingのMIDDLEWAREとINSTALLED_APPSにsilkを追加する🥺

settings.py
MIDDLEWARE = [
    ...
    'silk.middleware.SilkyMiddleware',
    ...
]

INSTALLED_APPS = (
    ...
    'silk'
)

urls.pyに以下の行を追加する🥺

urls.py
urlpatterns += [path('silk/', include('silk.urls', namespace='silk'))]

migrateする🥺

python manage.py makemigrations

python manage.py migrate

python manage.py collectstatic

計測結果を確認する

urls.pyに追加した/silk/にアクセスすると計測結果が表示される🥺
※migrate直後はデータが作成されていないので、何も表示されない🥺

Summary

リクエストを行うと以下の用に各種項目が確認できる🥺
summaryは要約ページ🥺

Requests

確認できること!

⭐️かかった時間
⭐️クエリ数
⭐️クエリにかかった時間
⭐️リクエスト/レスポンスヘッダー
⭐️要求/応答機関

各リクエストをポチると詳細画面にいく!

Details

詳細が確認できる🥺

SQL

SQLも確認できる🥺