2011-12-06 31 views
35

據我所知,在目前的時間,2011年末,每服務器的最大連接數限制仍然爲6個。如果我錯了,請糾正我的錯誤。這很糟糕,我們無法像Firefox那樣輕鬆解決這個問題。據我所知,這個值是硬編碼的。將Chrome瀏覽器的每服務器最大連接數限制提高到6以上

其中一個解決方案是下載Chromium的源代碼並重建它們。有更簡單的解決方案嗎?

有沒有什麼棘手的方法來破解這個,而不創建一打鏡像域?

爲什麼我問的問題:我的任務是創建一個html-javascript幻燈片,它將在全屏瀏覽器中運行,並且巨大的顯示器掛在牆上。這個javascript真的很複雜,它預先載入照片,並對我的Web服務進行了大量的Ajax調用。如果WIFI連接速度慢,如果加載6張照片,則AJAX調用失敗,應用程序運行不正常。我想要一個基於http或瀏覽器或ubuntu的快速解決方案,因爲重新構建JavaScript應用程序需要幾天的時間。

Offtopic:你知道在我的具體情況下可以調整的其他任何東西嗎?

+2

這似乎是開放增強請求,但不幸的是他們不看急於添加配置選項https://code.google.com/p/chromium/issues/detail?id=85323 – jamshid

+2

如果我們可以將「隨機模式」添加到SwitchySharp插件中,我們可以將25個請求同時分成25個代理端口連接。它應該圍繞每個服務器的最大連接數限制工作。 – diyism

+2

那麼你可以使用firefox,並在'''about:config''中配置'''network.http.max-persistent-connections-per-server'' config – joecks

回答

24

如果每個域限制有2個連接,IE會更糟。但我不會依靠修復客戶端瀏覽器。即使你可以控制它們,像chrome這樣的瀏覽器也會自動更新,未來的版本可能會有不同的表現。我會專注於在您的系統設計中解決問題。

你的選擇是:

  1. 負荷序列中的圖像,使得只有1或2 XHR呼叫是活躍在同一時間(使用從以前的圖像的成功事件,以檢查是否有更多圖片下載並開始下一個請求)。

  2. 使用子域名,如serverA.myphotoserver.com和serverB.myphotoserver.com。每個子域都有自己的連接限制池。這意味着如果你願意,你可以有2個請求去5個不同的子域。垮臺是照片將根據這些子域被緩存。順便說一句,這些不需要是「鏡像」域,你可以製作額外的DNS指針到完全相同的網站/服務器。這意味着您不必管理多臺服務器,只需要一臺擁有多個DNS記錄的服務器。

+0

我會做什麼:1)增加TTL,2)使用img.complete控制序列中的圖片,3)將緊急供稿分開域 – Dan

+0

3)並計算我庫中打開連接的數量,(這很簡單! )。圖像飢餓,可以下載長達20秒,所以我只剩下其中4個同時下載(放入一個鏈),留下2個頻道的飼料。 – Dan

0

似乎沒有破解可執行文件行爲的外部方法。

您可以修改Chrome(ium)可執行文件,因爲這些信息顯然是編譯好的。這種方法帶來了很多支持和自動升級的問題,所以您可能想避免這樣做。您還需要了解how to make the changes這些二進制文件,而這些文件不是大多數人可以在幾天內拿到的東西。

如果您編譯自己的瀏覽器,則會因爲您遇到特定的修訂而自行創建支持問題。如果你想獲得新功能和錯誤修復,你將不得不重新編譯。所有這些都涉及跟蹤Chrome開發中的錯誤並構建破壞 - 而不是Web開發人員需要做的事情。

我現在會遵循@ BenSwayne的建議,但是可能值得考慮在客戶端(網絡瀏覽器)之外完成一些工作,並將其放在運行在相同或不同計算機上的後臺進程中。這個過程可以處理更多的連接,你只是負責從中獲取數據。由於它是本地(ish),即使連接最少,您也可以快速返回結果。

+1

我推薦這個答案。你應該如何編輯二進制文件來達到這個效果,甚至如何使用它的內存編輯器。在Chrome上發佈一個教練,讓Chrome能夠做這樣的事情。 Chrome開發人員抱怨人們做出不支持的配置,因此讓他們對於他們來說絕對是地獄。 – jgmjgm

1

我不知道你可以在Windows以外的Chrome瀏覽器中執行此操作,但有些谷歌搜索顯示Chrome(因此可能是Chromium)可能會對某些註冊表破解做出很好的反應。

但是,如果您只是在不修改代碼庫的情況下尋找簡單的解決方案,那麼您考慮過Firefox嗎?在about:config中,您可以搜索「network.http.max」,並且有幾個值肯定值得一看。另外,對於不會移動的設備(例如,它安裝在固定的位置),您應該考慮不使用Wi-Fi(即使家用插頭的延時/穩定性/連接斷開)。

4

BTW,HTTP 1/1規格(RFC2616)建議每臺服務器不超過2個連接。

使用持久連接的客戶端應該限制它們維護給定服務器的同時連接的數量。單用戶客戶端不應與任何服務器或代理保持2個以上的連接。代理應該使用最多2 * N個連接到另一臺服務器或代理,其中N是同時活動用戶的數量。這些準則旨在改進HTTP響應時間並避免擁塞。

+7

是的,但RFC2616是18歲,所以它的建議應該與一粒鹽。 – Davio

+2

RFC2616自2014年以來一直死亡,不應依賴其提供指導。它被全部替換爲6個RFC:7230,7231,7232,7233,7234和7235.從您的大腦中刪除RFC 2616。它只存在於歷史神器中。 –

相關問題