Подтвердить что ты не робот

Увеличение максимального количества подключений Google Chrome до-сервера на более чем 6

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

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

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

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

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

4b9b3361

Ответ 1

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

Ваш выбор:

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

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

Ответ 2

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

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

Ответ 4

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

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

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

Ответ 5

Не существует внешнего способа взломать поведение исполняемых файлов.

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

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

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