クラウドフロントを使用して Amazon S3 から画像を表示する iPhone アプリケーションに取り組んでいます。クラウドフロントは画像のダウンロード速度を向上させましたが、CDN を使用しない別の Linux サーバーと比較すると少し遅いです。そのため、iPhone アプリケーションへの画像の読み込みをさらに改善する方法を知りたいと考えています。
お知らせください
クラウドフロントを使用して Amazon S3 から画像を表示する iPhone アプリケーションに取り組んでいます。クラウドフロントは画像のダウンロード速度を向上させましたが、CDN を使用しない別の Linux サーバーと比較すると少し遅いです。そのため、iPhone アプリケーションへの画像の読み込みをさらに改善する方法を知りたいと考えています。
お知らせください
2 つの環境をどのようにテストしたか、および速度の違いについては説明していません。
CDN のパフォーマンスを実際に評価するには、1 つの場所からではなく、世界中の複数のポイントからテストする必要があることに注意してください。また、画像の読み込みパフォーマンスについて話すときは、実際の転送速度 (ダウンロード速度) を測定するのに十分ではありませんが、接続の待ち時間と DNS 解決時間も測定します。
通常、画像をダウンロードするときに最良の結果を得るには、 dns、caching、persistent connections、およびparallel downloadの 4 つを正しく処理する必要があります。
DNS 解決時間を短縮するには、DNS ルールを最適化し、高速な DNS サービスを使用してください (たとえば、CNAME 解決が多すぎると、DNS が遅くなる可能性があります)。
CDN の機能を最大限に活用するには、キャッシング ルールの有効期限を非常に長くする必要があります (Cache-Control
またはExpires
ヘッダーを使用)。
サーバーから複数のイメージをダウンロードする場合は、永続的な接続をサポートする (Keep-Alive をサポートする) クライアントを使用することをお勧めします。このようにして、同じ接続を再利用する場合、新しい接続を再確立する時間を失うことはありません。
また、順次ダウンロードを使用するよりも、複数の画像を並行してダウンロードすることをお勧めします。Web ブラウザーは通常、サーバーごとに最大 6 つの接続を開きますが、それよりわずかに高くすることもできます。ただし、パフォーマンスが低下するため、この数値を誇張しないでください。