Увеличение максимального числа подключений к серверу в Google Chrome более чем на 6 - PullRequest
41 голосов
/ 06 декабря 2011

Насколько я знаю, в настоящий момент, в конце 2011 года, максимальное количество подключений к серверу остается 6. Пожалуйста, исправьте меня, если я ошибаюсь.Это плохо, что мы не можем это легко исправить, как в Firefox.Насколько я знаю, это значение жестко закодировано.

Одним из решений является загрузка исходных кодов Chromium и их восстановление.Есть ли более простое решение?

Есть ли какой-нибудь хитрый способ взломать это без создания дюжины зеркальных доменов?

Почему я задаю вопрос :Моя задача - создать слайд-шоу html-javascript, которое будет работать в полноэкранном браузере, а на стене висит огромный монитор.Javascript действительно сложный, он загружает фотографии и делает много вызовов Ajax на мои веб-сервисы.Если соединение WIFI медленное, если загружаются 6 фотографий, вызовы AJAX не выполняются, приложение работает плохо.Я хочу быстрое решение, основанное на http, браузере или настройке Ubuntu, потому что перестройка приложения javascript займет несколько дней.

Оффтоп: знаете ли вы какие-либо другие вещи, которые можно настроить в моей конкретной ситуации?

Ответы [ 4 ]

25 голосов
/ 06 декабря 2011

IE еще хуже с 2 подключениями на домен.Но я бы не стал полагаться на исправление клиентских браузеров.Даже если у вас есть контроль над ними, такие браузеры, как Chrome, будут автоматически обновляться, и в будущих выпусках они могут работать не так, как вы ожидаете.Я бы сконцентрировался на решении проблемы в рамках вашей системы.

Вы можете выбрать:

  1. Загружать изображения последовательно, чтобы только 1 или 2 вызова XHRактивна одновременно (используйте событие успеха из предыдущего изображения, чтобы проверить, есть ли еще изображения для загрузки и запустите следующий запрос).

  2. Используйте субдомены, такие как serverA.myphotoserver.com и serverB.myphotoserver.com.Каждый поддомен будет иметь свой собственный пул для ограничений подключения.Это означает, что вы можете иметь 2 запроса на 5 разных поддоменов, если хотите.Недостатком является то, что фотографии будут кэшироваться в соответствии с этими поддоменами.Кстати, это не обязательно должны быть «зеркальные» домены, вы можете просто сделать дополнительные DNS-указатели на один и тот же сайт / сервер.Это означает, что у вас нет головной боли при администрировании многих серверов, только один сервер с множеством записей DNS.

2 голосов
/ 13 марта 2014

Кстати, спецификация HTTP 1/1 (RFC2616) предлагает не более 2 подключений на сервер.

Клиенты, использующие постоянные подключения, ДОЛЖНЫ ограничивать количество одновременных подключенийони обслуживают данный сервер.Однопользовательский клиент НЕ ДОЛЖЕН поддерживать более двух соединений с любым сервером или прокси.Прокси ДОЛЖЕН использовать до 2 * N подключений к другому серверу или прокси, где N - количество одновременно активных пользователей.Эти рекомендации предназначены для улучшения времени ответа HTTP и предотвращения перегрузки.

1 голос
/ 04 октября 2012

Я не знаю, что вы можете сделать это в Chrome вне Windows - некоторые поиски в Google показывают, что Chrome (и, следовательно, возможно, Chromium) может хорошо реагировать на определенный взлом реестра.

Однако, если вы просто ищете простое решение без изменения базы кода, рассматривали ли вы Firefox?В about: config вы можете искать «network.http.max», и там есть несколько значений, на которые определенно стоит обратить внимание.

Кроме того, для устройства, которое не будет перемещаться (т.е. оносмонтирован в фиксированном месте), вы должны рассмотреть возможность не использовать Wi-Fi (даже Home-Plug был бы шагом вперед, насколько велики задержки / стабильность / потерянные соединения).

0 голосов
/ 06 декабря 2011

Кажется, что нет внешнего способа взломать поведение исполняемых файлов.

Вы можете изменить исполняемые файлы Chrome (ium), так как эта информация явно скомпилирована. Этот подход приносит много проблем с поддержкой и автоматическим обновлением, поэтому вы, вероятно, хотите избежать этого. Вам также необходимо понять, , как внести изменения в двоичные файлы, что большинство людей не могут получить за несколько дней.

Если вы компилируете свой собственный браузер, вы создаете проблему поддержки для себя, так как вы застряли с определенной ревизией. Если вы хотите получить новые функции и исправления ошибок, вам придется перекомпилировать. Все это включает отслеживание разработки Chrome на предмет ошибок и поломок сборки, а не то, что должен делать веб-разработчик.

Я бы пока следовал совету @ BenSwayne, но, возможно, стоит подумать о том, чтобы выполнить некоторую работу вне клиента (веб-браузера) и поместить его в фоновый процесс, работающий на одной или разных машинах. Этот процесс может обрабатывать гораздо больше соединений, и вы просто отвечаете за получение данных из него. Поскольку он локальный (ish), вы быстро получите результаты даже при минимальных подключениях.

...