Django パフォーマンス監視ツール django-silk の使用

目次

1. 基本的なインストールと構成

1. django-silk をインストールします。

2. プロジェクトの settings.py ファイルに以下を追加します。

3. MIDDLEWARE にシルク ミドルウェアを追加し、INSTALLED_APPS にシルク アプリケーションを追加します。

4. プロジェクトのルートの urls.py ファイルで Silk を設定します。

5.移行を実行する

6. シルク アプリケーションを実行します。

7. シルク アプリケーションにアクセスします。

2、プロファイリング(分析)の設定と使用

1. SILKY_PYTHON_PROFILER を True に設定します

2. デコレータを追加する

3. インターフェイス リクエストを送信し、シルク アプリケーションを開いてプロファイリング オプションを表示します。


django-silk は、Django アプリケーションのパフォーマンスのボトルネック、データベース クエリ、その他の問題を理解するのに役立つ軽量の Django アプリケーション パフォーマンス監視ツールです。Django のフロントエンドとバックエンドが分離されているプロジェクトで使用でき、バックグラウンド API インターフェイスをリクエストすることでパフォーマンスを直接監視できますdjango-silk を使用する手順は次のとおりです。

1. 基本的なインストールと構成

1. django-silk をインストールします。

pip install -i https://pypi.douban.com/simple django-silk

2.プロジェクトの ファイルsettings.py に以下を追加します。

MIDDLEWARE = [
    # ...
    'silk.middleware.SilkyMiddleware',
]

3. MIDDLEWARE にシルクミドルウェアを追加し、  にアプリケーションをINSTALLED_APPS 追加します 。silk

INSTALLED_APPS = [
    # ...
    'silk',
]

4.プロジェクトのurls.py ルートファイルでシルクを設定します。

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

メイン URL 設定に Silk の URL を含めます。

5.移行を実行する

python manage.py makemigrations
python manage.py migrate

6. シルク アプリケーションを実行します。

アプリケーションを起動し、ブラウザで Silk で設定された URL (デフォルトは ) にアクセスします /silkこれにより、silk のダッシュボード ページが起動します。

7. シルク アプリケーションにアクセスします。

django の任意のページにアクセスすると、silk はリクエスト時間、SQL クエリ、HTTP エラー、キャッシュ ヒット率など、リクエストに関する有益な情報を取得し、silk のダッシュボードに表示します。

また、Silk のダッシュボードの下部にあるリンクをクリックすると、URL、リクエスト パラメーター、リクエスト ヘッダー、応答時間、SQL クエリ、テンプレートのレンダリング時間、その他の関連情報を含む各リクエストの詳細情報を表示することもできます。

上の図で [SELECT] をクリックして、特定の SQL 実行を表示することもできます。

2、プロファイリング(分析)の設定と使用

Django Silk のプロファイリング機能は、コード内のパフォーマンスのボトルネックと呼び出しシーケンスを見つけて、コードの最適化を向上させるのに役立ちます。各リクエストの応答時間、SQL クエリ、キャッシュされたクエリ、およびアプリケーションのパフォーマンス ステータスを理解するのに役立つその他の詳細を記録できます。

プロファイリングを初めて開くと、構成方法を尋ねるメッセージが表示されます。

 上に示すように設定を続けます

1. SILKY_PYTHON_PROFILER を True に設定します

SILKY_PYTHON_PROFILER = True

2. デコレータを追加する

必要なメソッドに追加 プロファイリング(分析)@silk_profile装饰器

from silk.profiling.profiler import silk_profile


class TestView(View):
    @silk_profile()  # 为get请求添加装饰器
    def get(self, request):
        areas = Area.objects.all()
        return HttpResponse(areas)

 3. インターフェイス リクエストを送信し、シルク アプリケーションを開いてプロファイリング オプションを表示します。

 上の画像をクリックすると取得リクエストが表示され、詳細ページに移動します

 [クエリ] (クエリ) オプションを表示して、SQL 関連を表示することもできます。

 次に、上図の SELECT クエリをクリックして、実行された SQL ステートメントを表示します。

 

注: django-silk を使用する場合は、テスト環境と開発環境で使用することをお勧めします。実稼働環境での使用は推奨されません。たとえば、実稼働環境では、アクセス中に特定の Cookie が使用された場合にのみ表示し、機密情報が表示されないように django-silk の設定を設定できます。

おすすめ

転載: blog.csdn.net/qq_37140721/article/details/130411450