web-dev-qa-db-ja.com

Apacheを使用して1つのサーバーでダウンロードを並列化する

人々はこれらすべてをCDNを販売する方法として推し進めているように見えますが、Apacheを使ってできることは確かです。ブラウザがwebsite.comから一度に8ファイルしかダウンロードできない場合、同じ場所を指す2つのランダムなサブドメインを設定し、同じドメインではなくこれらのサブドメインから画像をランダムに提供できないのはなぜですか?例えば

<img src="https://website.com/images.img1.jpg">

となります

<img src="https://static1.website.com/images.img1.jpg">

内部では、両方が同じフォルダ内の同じサーバー上の同じファイルを指しますが、お金をかけずにダウンロードを並列化できます。それが私にとって完全に理にかなっているように見えるので、これを行うことの欠点は何ですか?

同じサーバーのサブドメインをポイントすると、Apacheなどが機能しなくなる可能性があるので、代わりに2台目のサーバーをレンタルして、ここにApacheをインストールし、すべての画像をこのサーバーに保存して、このサーバーにいくつかの異なるサブドメインを指定できません。その後、画像提供を外部委託し、必要に応じて5つの異なるサブドメインを使用できます。もちろんCDNではありませんが、CNAMEやCDNプロバイダーをいじりまわすことなく、ページの読み込みを高速化する安価な方法のようです。

4
Dan Hastings

はい、これは問題に対する完全に有効な解決策です。また、正しく設定されている場合は、「静的アセットにCookieのないドメインを使用する」速度の推奨事項もカバーしています。リクエストはどちらの方法でも同じサーバーによって処理されるため、これによりサーバーの負荷が増えることはありません。

また、テンプレートを変更することなく(パスが一致する限り)CDNを指すようにそのホスト名を変更できるため、後日CDNに移動したり、CDNから移動したりしやすくなります。

ブラウザごとの現在の接続制限は次のとおりです。 https://www.browserscope.org/?category=network (「ホスト名ごとの接続」を探します)。 Chromeのデータは欠落しているようですが、以前は6個までサポートしていたと思います。

5
Tim Fountain