私のディスコースの速度は非常に遅いです

ezoicを無効にして試してみてください。これがボトルネックになっている可能性があります。

@gerhard

はい、Cloudflare (CF) を使用しています。CF は Web サイトの高速化のために使われるものだと考えているので、それを使用しています。
また、CF アカウントを Ezoic と連携させていますが、Ezoic はまだ使用しておらず、彼らからの広告配信も行っていません。CF アカウントとの Ezoic 連携を解除する方法が見つかりませんでした。

現在、Digital Ocean のシングルドロプレットを使用しており、この Web サイトのみがサーバー全体でホストされています。Web サイトは NGINX で提供されていますが、その設定は以下のようになります(いくつかの値はダミーにしています)。AMP ページを PHP 経由で Amazon ERC Number - How To Discuss で提供しているため、NGINX を使用しています。

server {
    listen httpsPORT ssl http2;

    ssl on;
    ssl_certificate         /path/to/pem;
    ssl_certificate_key     /path/to/key;
    server_name howtodiscuss.com www.howtodiscuss.com;
    location / {
        proxy_ssl_server_name       on;
        proxy_pass       http://localhost:port;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;

        proxy_redirect off;

        # Socket.IO Support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_ssl_protocols         TLSv1 TLSv1.1 TLSv1.2;
    }
}

また、当社の Web サイトはすでに Cloudflare 経由で提供されているため、これでさらに高速化されるはずですが、実際にはスピードアップしていないようです。

上記について言及していただきましたが、試してみます。これらはすべて無料でデプロイして実行できますか?例えば、フォラム全体をフル Cloudflare CDN でホストする場合、これは 100% 無料でしょうか?最適な ROI を得るための正確な手順と、どの方法を採用すべきか教えていただけますか?

また、CF の Rocket Loader を有効にしてみましたが、Discourse が期待通りに動作しなくなりました。さらに、CF で CSS、JS、HTML ファイルの最小化を有効にすると、EmberJS スクリプトが再び正しく動作せず、サイトが期待通りに動作しないようです。CF アカウントで、サイトのパフォーマンスや使いやすさを損なうことなく、速度を向上させるために他に何を調整できますか?

Discourse で GZIP 圧縮とリソースの圧縮・最小化を有効にし、サーバー側/クライアント側のキャッシュを有効にするにはどうすればよいでしょうか?

最近発見した別のバグとして、管理者として https://howtodiscuss.com/logs にアクセスすると、https://howtodiscuss.com/logs/logs/ にリダイレクトされてしまいます。これは最新バージョンの Discourse のバグでしょうか?

@ahmed_khan1 はまもなく GitHub - discourse/discourse-prometheus: Official Discourse Plugin for Prometheus Monitoring · GitHub プラグインをインストールし、統計情報を皆様と共有する予定です。

また、現在の設定を踏まえて、さらにご提案や最適化のアドバイスがあれば、ぜひ共有してください。ありがとうございます。

なぜ内部の NGINX にそのまま任せないのでしょうか?

前述の通り、AMP ページを提供しています。NGINX 内で AMP のルーティングを行っていますが、NGINX のコードスニペットには AMP 関連のコードを含めていませんでした。

AMP ページには以下のようにアクセスできます。

これらは PHP を介して提供され、Discourse API を使って AMP ページを構築しています。そのため、Discourse には標準で AMP ルーティング機能がないため、NGINX に AMP ページのルーティングを任せる必要があります。

もし、当社のウェブサイトで Google PageSpeed と GTMetrix のスコアを 100% に達成し、サイトをより大きく成長させるお手伝いができる方がいらっしゃいましたら、howtodiscuss.com@gmail.com までご連絡ください。

https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fhowtodiscuss.com%2Ft%2Fsarahs-discovery-of-weight-loss%2F28583&tab=mobile

もし私があなたなら、遅いサイトを速くしようとしないでしょう。それはあまり意味がありません。十分な速度を持つサイトから始めて、さらに高速化することをお勧めします。まずは、なぜそんなに遅いのかを特定することが最初のステップです。以下のように進めてみてください:

  • テスト用に新しいドロレットを作成し、Discourse のセットアップ手順に従ってください
  • 現時点ではプラグインを追加しないでください。また、Cloudflare や Nginx なども使用しないでください
  • 本番サイトのバックアップを復元してください
  • 十分な速度が出ていますか?よかったですね。
  • プラグインを追加してください
  • まだ速いですか?よかったですね。そうでない場合は、速度を低下させているプラグインを特定してみてください。
  • PHP 関連の処理のために Nginx を前面に配置してください
  • まだ速いですか?よかったですね。そうでない場合は、以下のような他の方法を試してみてください:
    • Nginx がなぜ遅くしているのかを特定する
    • または、PHP 関連の処理のために Nginx をプライベートポートで実行し、Discourse と Nginx の前面に HAProxy を TCP モードで配置する
  • 静的アセットやサイト全体の CDN を使用し始める – 最後の投稿にあるリンクを参照し、それらのトピックを注意深く読んでください。Cloudflare は特別な設定(app.yml 内のテンプレートなど)が必要です。また、Rocket Loader や同様の機能は使用しないでください。