Macのコンテンツキャッシュとは
コンテンツキャッシュとは
コンテンツキャッシュとは、Macコンピュータ、iOSデバイス、iPadOSデバイス、およびApple TVでインターネットデータ使用量の削減とソフトウェアインストールの高速化に役立つmacOSサービスです。
コンテンツキャッシュは、ローカルのMacコンピュータ、iOSデバイス、iPadOSデバイス、およびApple TVデバイスですでにダウンロードしたコンテンツを保存することで、Appleが配布しているソフトウェア、およびユーザがiCloudに格納しているデータのダウンロードを高速化します。保存されるコンテンツはMacのコンテンツキャッシュに格納され、ほかのデバイスはインターネットに接続されていない場合でも取得できます。
Appleのサポート記事「macOSのコンテンツキャッシュが対応しているコンテンツタイプ」を参照してください。
コンテンツキャッシュは、コンテンツキャッシュおよびすべてのデバイスのNAT環境で構成されるネットワーク、または公開されたルーティング可能なIPアドレスで構成されるネットワークで使用できます。iOS 7以降およびOS X 10.8.2以降を搭載したAppleデバイスは、最寄りのコンテンツキャッシュと自動的に通信するので、構成は不要です。
重要: コンテンツキャッシュは、単一の有線Ethernet接続をネットワークへの唯一の接続として使用しているMac上で設定することを強くお勧めします。コンテンツキャッシュは、Ethernetの代わりにWi-Fi接続を使用できますが、パフォーマンスに影響を与えることがあります。
仕組み
Macでコンテンツキャッシュを有効にすると、そのMacには、ローカルネットワークで接続されているデバイス(クライアント)がダウンロードするすべてのコンテンツのコピーが保持されます。
たとえば、ネットワーク上の最初のクライアントがmacOSアップデートをダウンロードすると、コンテンツキャッシュによりそのアップデートのコピーが保持されます。ネットワーク上の次のクライアントがApp Storeに接続してそのアップデートをダウンロードするとき、アップデートはApp Storeからではなく、コンテンツキャッシュからコピーされます。
通常、ローカルネットワークはインターネットよりはるかに高速なので、2番目のクライアント(およびそれ以降のすべてのクライアント)がアップデートをダウンロードする時間は大幅に短縮されます。
次の図は、1つのコンテンツキャッシュのある単一プライベートサブネットを示しています:
ネットワークに複数のサブネットがある場合はどうなるか?
デフォルトで、コンテンツキャッシュは特定のサブネットに限定されますが、コンテンツキャッシュを次に対して提供するために設定できます:
ローカルネットワークのサブネットのうち、共通のパブリックIPアドレスを共有するもののすべての組み合わせ
公開IPアドレスのサブネットの任意の組み合わせ(および追加のDNS設定サポート)
同じパブリックIPアドレスを共有する複数のサブネットがネットワーク上にある場合、すべてのサブネットが単一コンテンツキャッシュを利用できます。次の図は、1つのコンテンツキャッシュを共有する2つのサブネットのあるネットワークを示しています:
複数のコンテンツキャッシュを使用できるか?
ネットワーク上に複数のコンテンツキャッシュがある場合、それらは自動的にピアになり、相互に照会したり、キャッシュされたソフトウェアを共有したりできます。要求された項目がコンテンツキャッシュで使用可能でない場合、そのピアがチェックされます。項目が使用可能な場合は、ダウンロードされます。ピアから使用できない場合、項目はペアレント(構成されている場合)から、またはインターネット経由でAppleからダウンロードされます。複数のコンテンツキャッシュが使用可能な場合は、適切なコンテンツキャッシュがクライアントによって自動的に選択されます。Macでコンテンツキャッシュのクライアント、ピア、またはペアレントを設定するを参照してください。
キャッシュされたファイルはどこに保存されるか?
キャッシュコンテンツのデフォルトの場所はブートボリュームですが、ほかの場所も選択できます。さらに、コンテンツキャッシュに使用する容量も指定できます。キャッシュコンテンツに使用される容量が指定した上限に達するか、ボリューム上の空き容量が少なくなると、最近使用されていないコンテンツがコンテンツキャッシュにより削除され、次の要求のための領域が作られます。
コンテンツキャッシュのパフォーマンスはどのようにして評価できるか?
アクティビティモニタを使ってコンテンツキャッシュの統計情報を表示できます。Macでコンテンツキャッシュのログと統計情報を表示するを参照してください。
パフォーマンスのベストプラクティス
コンテンツキャッシュは主に、2つの要因(接続およびハードウェア構成)の影響を受けます。
ギガビットEthernet経由でネットワークに接続することにより、コンテンツキャッシュのパフォーマンスが最適化されます。コンテンツキャッシュは数百のクライアントに同時に対応できますが、ギガビットEthernetポートが飽和することがあります。このため、小中規模クラスの展開では、通常、ローカルネットワークの帯域幅がボトルネックになります。
多数のクライアントが同時にコンテンツキャッシュにアクセスしているときにお使いのMacがパフォーマンスのボトルネックであるかどうかを判断するには、アクティビティモニタでAssetCacheプロセスのプロセッサ使用率を確認します(アクティビティモニタを開き、「表示」>「すべてのプロセス」と選択してから、「CPU」をクリックします)。プロセッサ使用率が常に最大かそれに近い状態になっている場合は、コンテンツキャッシュの数を増やして、要求を複数のコンピュータに分散させることをお勧めします。
また、クライアントがさまざまな種類のコンテンツを大量にダウンロードするような環境では、最大キャッシュサイズを大きめに設定してください。これによりキャッシュされたデータが削除される頻度が減り、同じコンテンツを何度もダウンロードする必要がなくなるため、インターネット帯域幅の使用量が抑えられます。
コンテンツキャッシュのベストプラクティス
コンテンツキャッシュのベストプラクティスは以下の通りです。可能な限り、これらの推奨事項に従ってください:
すべてのAppleプッシュ通知を許可してください。
手動プロキシ設定を使用しないでください。
コンテンツキャッシュにクライアント要求をプロキシしないでください。
コンテンツキャッシュのプロキシ認証をバイパスしてください。
キャッシュ用のTCPポートを指定してください。(Macでコンテンツキャッシュの詳細設定を構成するのPortキーを参照してください。)
サイト内のキャッシュのトラフィックを管理してください。
不正キャッシュ登録をブロックしてください。
コンテンツキャッシュには静的パブリックIPアドレスを使用してください。