Cloudflareはストレージ要件を削減するためにキャッシュのトランスコーディングをテストします
Cloudflareは最近、対象となるキャッシュコンテンツ(主にHTML、JSON、CSS、JavaScriptなどの非圧縮テキスト)を、ディスクに保存する前にZstandardを使用して圧縮する「Cache Transcoding」と呼ばれるプロトタイプを説明しました。ハイパースケーラーは、このアプローチによりペタバイト規模の追加の有効キャッシュ容量が提供される可能性があると見積もっていますが、さらに広範なテストがまだ必要です。 この記事によると、コンテンツはキャッシュに入るときに一度圧縮され、提供されるときに解凍されるため、必要な追加処理は比較的少ないとのことです。圧縮により、対象となるコンテンツのサイズが約 2.8 倍に縮小され、既存のサーバーにより多くのデータを保存できるようになり、データセンター間で転送されるデータ量が削減されました。 これを実現するために、Cloudflareは、Facebookがリアルタイム使用のために開発した可逆圧縮アルゴリズムであるZstandardと、RustベースのプロキシフレームワークであるPingoraを利用しています。アーシ・パテルはこう書いている。 CPU をわずかに増やすと、Cloudflare にペタバイトの有効キャッシュ容量が与えられ、データセンター間で転送されるデータが削減されます。エンコードコストは、アセットがキャッシュに入るときに一度だけ支払われます。資産が再利用されるたびに、ストレージと帯域幅の節約が継続されます。 Cloudflareキャッシュのトランスコーディングは、圧縮可能なテキストを含み、正しく返され、少なくとも4 KiBである非圧縮応答のみを圧縮します。範囲リクエスト、事前圧縮またはバイナリ コンテンツ、サイズが不明な応答を除外します。このしきい値は、対象となるデータの約 1% だけを犠牲にしながら、多くの小さなオブジェクトの処理を回避します。このしきい値と Zstandard 圧縮レベルは両方とも、CPU とストレージのトレードオフに基づいて調整できます。パテルは次のように付け加えます。 トランスコーディングは、すべてを圧縮することを意味するわけではありません。画像、ビデオ、フォントは通常、すでに圧縮されています。私たちのトラフィック サンプルでは、このメディア セグメントはリクエストの 21.4% を占めましたが、バイト数の 63.3% を占めていました。再度圧縮すると、無駄に CPU が消費されてしまいます。 …