1

nginx/gunicorn を使用して Web サーバーをセットアップするのはこれが初めてなので、TTFB が非常に高い理由について明らかなことがあれば、お詫びします。

gtmetrix.com によると、私の TTFB は 1.4 秒です。 ここに画像の説明を入力

私自身のテストでは、TTFB は約 1.3 秒でした。

Brotli、キャッシング(静的およびメディアファイル)、Http2を有効にし、htmlミニファイアを有効にしたにもかかわらず、なぜそれほど高いのか混乱しています。その理由はわかりません。私のサーバーは NYC の Digital Ocean にある 2GB の CPU (私がいる場所に近い) であるため、場所は問題ではありません。このスタック オーバーフローの質問を確認しましたが、django-htmlmin パッケージを削除しても ttfb が高くなりました。このページの私のジャンゴビューは次のとおりです。

@minified_response
def home(request):
    context = {
        'posts': Post.objects.all()
    }
    return render(request, 'blog/home.html', context)

これは単純なクエリだと思います。この get クエリのためだけに TTFB がそれほど高くなるとは思いません。データベースに問題がありますか (現在、sqlite を使用しています)。デバッグに役立つ他のファイルやものが必要な場合は、教えてください。

また、 Cloudflare のこの記事によると、私の TTFB が高い理由は次のとおりです。

CloudFlare では、nginx を広範に使用しており、TTFB を調査しているときに、圧縮を使用する場合と使用しない場合で、TTFB が nginx と大きく異なることに気付きました。Web ページを Gzip 圧縮すると、Web ページのダウンロードにかかる時間が大幅に短縮されますが、圧縮自体にコストがかかります。そのコストにより、完全なダウンロードはより高速であるにもかかわらず、TTFB が大きくなります。

そのため、Brotli を削除しようとしましたが、TTFB は依然としてかなり高く、Nginx conf ファイルで gzip を無効にしても TTFB は役に立ちませんでした。

説明: Django (sqlite データベース) で Digitalocean NYC 2GB CPU を使用する Nginx-Gunicorn サーバー

編集: Cloudflare でいくつかの問題が発生したため、Cloudflare の使用をやめました。

4

1 に答える 1