Ограничить количество одновременных подключений со стороны сервера? - PullRequest
0 голосов
/ 17 апреля 2009

Я пишу свой собственный веб-сервер и пока не обрабатываю параллельные соединения должным образом. Я получаю огромную задержку загрузки страницы из-за неправильной обработки одновременных соединений (я отвечаю на SYN, но я как-то теряю пакет GET. Браузер повторяет попытку через некоторое время, но это занимает 3 секунды!) Я пытаюсь выяснить, есть ли способ инструктировать браузер прекратить загрузку одновременно, потому что отладка занимает много времени. Веб-сервер очень урезан, не собирается быть публичным и не является главной целью этого приложения, поэтому я и хочу срезать углы таким образом.

Было бы неплохо просто ограничить число одновременных подключений до 1, потому что изменение этого параметра с помощью взлома реестра для IE и использования about: config для Firefox позволяет сделать все отлично.

Любые другие обходные идеи тоже были бы полезны. Пара, о которой я могу думать:

1 - Проинструктируйте браузер кэшировать все без истечения срока действия, чтобы медленные загрузки (.js, .css и файлы изображений) происходили только один раз. Я могу добавить контрольную сумму в конец файла (img src = "/ img / blah.png? 12345678"), чтобы убедиться, что если я обновлю файл, он будет перезагружен правильно.

2 - Добавьте файлы .js и .css для загрузки inline с файлами .html - но это по-прежнему не решает проблему с изображением, и в любом случае это просто безобразно.

Ответы [ 2 ]

0 голосов
/ 26 марта 2010

Так что я так и не нашел способ сделать это.

Моя основная проблема заключалась в том, что слишком много запросов приходило и переполняло мои ограниченные буферы приема в emac ram. Переполнение приемных буферов = отброшенные пакеты. Было решено объединить все файлы .js и все файлы .css в файл 1 .js и 1 .css, чтобы мои запросы были отклонены. Я установил для всех страниц с изображениями, js и css срок годности. Для html-страниц истекает срок действия. Я написал Perl-скрипт для добавления контрольных сумм md5 к файлам, чтобы измененные файлы перезагружались. Отлично работает сейчас. Страницы загружаются сразу после первой загрузки, все кэшируется.

0 голосов
/ 17 апреля 2009

Я не верю, что можно сказать браузеру, как Firefox, не загружать одновременно, по крайней мере, для ваших пользователей через какой-то http-заголовок или что-то в этом роде.

...