Service Worker のキャッシュ使用量が異常に多い

ディスク容量を確保しようとしていたところ、Google Chromeのプロファイルが異常に多くのディスク容量を消費していることに気づきました。ファイルシステムの可視化ツールによると、Service Worker Cache Storageフォルダが大量の容量を占有していました。

上位サイトのリストを確認するには、Google Chromeで設定プライバシーとセキュリティサイト設定サイト全体の許可と保存されたデータの表示 → 並べ替え:保存されたデータの順に移動してください。

すると、次のような状況が表示されました(比較のため、各サイトの上位2つのサブドメインを表示しています)…そして、あるパターンに気づきました。それらの多くはDiscourseインスタンスに属していました。

Discourseが消費していたキャッシュストレージをクリアしたところ、5 GBのディスク容量が解放されました(8.2 GB → 3.2 GB)。

これはDiscourseのバグなのか、それともウェブ全体でDiscourseインスタンスがService Workerキャッシュの大部分を占有してしまう理由が何かは不明です。

残念ながら、これは Chrome がキャッシュの使用量を報告する際の仕様上の問題です。報告される容量は、実際にディスクで使用されている容量を正確に反映していません。この問題への対処法を改善する作業を進めていますが、まだ完成には至っていません。詳細については、以下をご覧ください: