A8DOG

A8DOG

随便写写,记录折腾过程!
telegram

nginx 反転プロキシの場合、GZIP圧縮を有効にする

事の発端は、手元にある複数のウェブサイトを管理するプロジェクトで、サイトマップをクロールするたびにデータベースへのクエリが実行されることでした。

スパイダーが増えると、パフォーマンスに大きな負荷がかかるため、サイトマップのクエリをプリキャッシュするようにしました(これにより、パフォーマンスの低下を最小限に抑えることができます)。

ドメインには、cf の cdn が設定されており、1 秒あたりのリクエスト数が 200 回で、消費されるトラフィックはわずか 1m 程度です。

サイトマップのクエリ方法を変更した後、他の理由でリバースプロキシを追加してトラフィックを分散させることにしました。

その結果、1 秒あたりのリクエスト数は約 160 回で、トラフィックの消費量は約 12m で、1 日あたりのトラフィック消費量は約 1t になります。

サーバーは双方向のトラフィックを処理する必要があり、リバースプロキシのサーバーは 15 日間で停止してしまいます。メインサーバーでは、スパイダーの数が増えても 1 ヶ月間実行されません。

原因は、スパイダーがウェブサイトのサイトマップを頻繁にクロールしているため、リクエストごとに約 120k 消費していることです。

メインサーバー - リバースプロキシ - cf の cdn で gzip が効いていません。gzip は cf の cdn からクライアントに到達するときにのみ有効になります。

結果として、サーバー間の通信で多くのトラフィックが消費されてしまいました。この時点で、万能の Google を使って解決策を見つける必要がありました。

解決策:https://www.jianshu.com/p/d24cb42d96d5

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。