2011-12-06 79 views
35

私が知る限り、現時点では、2011年後半に最大接続数は6に留まります。間違っていると私を修正してください。 Firefoxと同じように簡単に修正できないのは悪いことです。私の知る限り、この値はハードコードされています。Google Chromeの最大接続数を6以上に増やす

解決策の1つは、Chromiumのソースをダウンロードして再構築することです。より簡単なソリューションはありますか?

十数個のミラードメインを作成せずにこれをハックする方法はありますか?

なぜ私は質問をしています:私の仕事は、フルスクリーンブラウザで実行されるhtml-javascriptスライドショーを作成し、巨大なモニターが壁にぶら下がっていることです。 JavaScriptは本当に複雑で、写真をプリロードし、Webサービスに多くのajax呼び出しを行います。 WIFI接続が遅い場合、6枚の写真が読み込まれていると、AJAX呼び出しが失敗し、アプリケーションが正常に動作しません。私は、高速なソリューションをベースに、httpやブラウザやubuntuの何かを微調整したい、javascriptアプリケーションを再構築するには数日かかるので、

Offtopic:私の具体的な状況で調整可能な他のものを知っていますか?

+2

これは開かれた拡張要求ですが、残念ながらconfigオプションを追加する気にはなりません。https://code.google.com/p/chromium/issues/detail?id=85323 – jamshid

+2

If私たちはSwitchySharpアドオンに「ランダムモード」を追加することができます。25リクエストを同時に25のプロキシポート接続に分けることができます。サーバーあたりの最大接続数の制限を回避する必要があります。 – diyism

+2

FireFoxを使い、 '' 'about:config'''で設定することができます。' '' network.http.max-persistent-connections-per-server '' '設定 – joecks

答えて

24

IEはドメイン制限あたり2接続でさらに悪化します。しかし、私はクライアントのブラウザを修正することに依存しません。あなたがそれらを支配していても、クロムのようなブラウザは自動的に更新され、将来のリリースは意図したものとは異なる動作をするかもしれません。私はあなたのシステム設計の中で問題を解決することに焦点を当てます。

選択肢は以下のとおりです。

  1. のみ1または2 XHRコールを(一度にアクティブになるように、より多くの画像があるかどうかを確認するために、前の画像から成功イベントを使用するシーケンス内の画像をロードします次のリクエストをダウンロードして開始する)。

  2. serverA.myphotoserver.comやserverB.myphotoserver.comなどのサブドメインを使用します。各サブドメインには、接続制限のための独自のプールがあります。つまり、5つの異なるサブドメインに2つのリクエストを送信することができます。落ちるのは、写真がこれらのサブドメインに従ってキャッシュされるということです。ところで、これらは "ミラー"ドメインである必要はありません。まったく同じウェブサイト/サーバに追加のDNSポインタを作成するだけで済みます。つまり、多数のサーバーを管理するという頭痛がなく、多くのDNSレコードを持つサーバーは1つだけです。

+0

私は何をしますか:1)TTLを上げる、2)img.completeを使用してシーケンス内の画像を制御する、3)緊急のフィードを別のドメインに入れる – Dan

+0

3)ライブラリ内の開いている接続の数を数えます。 )。画像が空いていて、最大20秒間ダウンロードできるので、私は4つだけをダウンロードして(チェーンに入れて)、フィード用に2つのチャンネルを残しました。 – Dan

0

実行可能ファイルの動作をハッキングする外部の方法はありません。

Chrome(ium)実行可能ファイルは、この情報が明示的にコンパイルされているため修正できます。このアプローチでは、サポートと自動アップグレードで多くの問題が発生するため、回避することをお勧めします。また、ほとんどの人が数日で拾うことのできないバイナリにはhow to make the changesを理解する必要があります。

独自のブラウザをコンパイルすると、特定のリビジョンに悩まされているため、サポートの問題が発生します。新しい機能やバグ修正をしたい場合は、再コンパイルする必要があります。これには、ウェブ開発者がやるべきことではなく、バグのためにChrome開発を追跡し、破損を起こすことが含まれます。

私は@ BenSwayneの助言に従っていますが、クライアント(ウェブブラウザ)の外で作業を行い、同じマシンや異なるマシンで実行しているバックグラウンドプロセスを実行することについて考える価値があります。このプロセスはより多くの接続を処理することができ、データを元に戻す責任はあなただけです。ローカル(ish)なので、最小限の接続でもすぐに結果を得ることができます。

+1

私はこの回答をお勧めします。バイナリを編集する方法やメモリエディタを使う方法についてのハウツーを作成する必要があります。このようなことをするためにChromeのチートサイトでトレーナーを解放してください。 Chromeの開発者は、サポートされていない設定をしている人を嫌っているので、彼らにとっては絶対的な地獄になってしまいます。 – jgmjgm

1

Windows以外でChromeで実行できることはわかりません.Googleでは、Chrome(したがってChromium)が特定のレジストリハックにうまく反応する可能性があることを示しています。

しかし、コードベースを変更せずに単純なソリューションを探しているだけの場合は、Firefoxと考えていますか? about:configでは "network.http.max"を検索することができます。そこには見逃す価値のある値がいくつかあります。

また、移動しない(固定された場所にマウントされている)デバイスの場合、Wi-Fiを使用しないことを検討する必要があります(たとえホームプラグがレイテンシ/安定/接続が切断される)。

4

グーグルクロームでドメインごとの最大のダウンロードを増やす方法のこの記事に出くわしたところで、HTTP 1/1仕様(RFC2616)は、サーバごとにこれ以上の2以上の接続を示唆しています。

永続的接続を使用するクライアントは、特定のサーバーに対して維持している同時接続の数を制限する必要があります(SHOULD)。単一ユーザのクライアントは、サーバやプロキシと2つ以上の接続を維持してはならない(SHOULD NOT)。プロキシは別のサーバまたはプロキシへの最大2 * Nの接続を使用しなければならない(SHOULD)。ここでNは同時にアクティブなユーザの数である。これらのガイドラインは、HTTP応答時間を改善し、輻輳を回避するためのものです。

+7

はい、しかし、RFC2616は18歳ですので、その推奨事項は塩の穀物で取る必要があります。 – Davio

+2

RFC2616は2014年以降に死亡しています。ガイダンスのために頼るべきではありません。 6つのRFC 7230,7231,7232,7233,7234、および7235に置き換えられました。脳からRFC 2616を削除します。歴史的な人工物としてのみ存在します。 –