Heroku の PHP アプリのサーバー時間を改善するために取り組んでいます。PHP ファイルを HTML ファイルにキャッシュすると、サービス時間が 2500+ms から約 20ms に短縮されることに気付きました。
さて、ここにいくつかの問題があります...
1) キャッシュされた HTML ページは、特定のユーザー アクションの後に変更する必要があります。現在、そのようなアクションの大洪水は、サーバーを簡単に溺死させる可能性があります. アクションは大洪水になることもあれば、何時間もアクションがないこともあります。
2) アプリは通常、Heroku 上の複数の dyno で実行され、それぞれが独自の一時的なファイル システムを持ちます。したがって、各 dyno は独自のバージョンのキャッシュ ファイルを持つ可能性があり、キャッシュ ファイルは 24 時間後、または新しいコードをサーバーにプッシュするたびに自動的に消えます。
私は Web プログラミングの世界に不慣れで、次の方法で上記の問題を解決しようと考えています。それを行うより良い方法はありますか?ツールはありますか?プラグイン?フレームワーク?提案してください。ただし、Heroku で作業する必要があります。
キャッシュされたファイルを S3 に保存します。したがって、私のサイトのほとんどは S3 から実行されます。ユーザー アクションの場合、キャッシュが更新されます。
キャッシュを直接更新する代わりに、更新が 30 秒後に行われるようにスケジュールします。この期間、cachedpage.html.scheduled という名前のファイルが S3 に配置されます。この期間中のリクエストはすべて無効になります。
S3 へのリダイレクトは、DB クエリよりもはるかに安価であると想定しています。トラフィックが重くなると、S3 に問題が発生する可能性はありますか?
フィードバックをお待ちしております。
ありがとうマニッシュ