+  HandyCache форум
|-+  Главная категория» Общие вопросы» Что такое Pipelining?
Имя пользователя:
Пароль:
Страниц: 1 [2] 3  Все   Вниз
  Отправить эту тему    Печать  
Автор Тема: Что такое Pipelining?  (Прочитано 43949 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #20 : 10 апреля 2007, 14:53:38 »

Это определяет не НС, а браузер. Про оперу пишут, что у нее какой-то эвристический алгоритм, который управляет включением/выключением pipelining. В FF pipelining включается в настройках и я его наблюдаю.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #21 : 10 апреля 2007, 23:58:52 »

При ответе "502 Bad gateway/Not connected (HC)" отдается ответ HTTP 1.0. Имхо, тоже заменить на HTTP 1.1.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #22 : 12 апреля 2007, 23:39:30 »

По осколкам собрал скудную информацию о заголовке Proxy-Connection:
Придуман Netscape в период "безвластия", когда постоянные соединения уже придумали, а HTTP 1.1 еще не утвердили в качестве стандарта. К этому же периоду относятся заголовки Keep-Alive:. Чтоб эти постоянные соединения умел поддерживать прокси, Netscape придумала Proxy-Connection: keep-alive. Чтоб разорвать - Proxy-Connection: Close. В дальнейшем при принятии HTTP 1.1 все это стало делаться заголовком Connection. Тем не менее, остались некоторые HTTP 1.0 серверы, понимающие Proxy-Connection. Прокси, поддерживающим HTTP 1.1, рекомендовано его инициативно не использовать (некоторое ПО вообще его не понимает), но распознавать можно и научить для правильной работы с этими старыми серверами.
Интересные отклики о природе и нужности этого заголовка здесь и здесь.
Предварительный вывод: инициативно в ответах НС использовать этот заголовок не надо. Пользоваться надобно Connection:
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #23 : 13 апреля 2007, 00:32:55 »

По осколкам собрал скудную информацию о заголовке Proxy-Connection
Да, инфы кот наплакал. Заголовок практически нигде не описан, но вот парадокс: все его знают. По секрету

Цитировать
...а HTTP 1.1 еще не утвердили в качестве стандарта.
Если занудствовать, то RFC не стандарт, а рекомендация.

Цитировать
К этому же периоду относятся заголовки Keep-Alive
Который так же понимается всеми браузерами и серверами.

Цитировать
Тем не менее, остались некоторые HTTP 1.0 серверы
Осталось еще больше серверов 1.1, которые без этого "жить не могут".

Фигня в том, что нет ясности. Ее действительно нет, нигде нет какого-либо дока который можно было бы считать нормативным и делать как в нем написано. Есть только практика: приходится подстаиваться под то, что понимают *nix и win серверы. А практически все они и понимают Proxy-Connection в запросе и сами отдают Proxy-Connection в ответе. Но ясности как _должно_быть_ правильно нет.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #24 : 13 апреля 2007, 02:54:04 »

Да, инфы кот наплакал. Заголовок практически нигде не описан, но вот парадокс: все его знают. По секрету
Если я понял твое мнение, то этот заголовок правильней указывать НС в своих ответах, чем Connection?
Цитировать
Который так же понимается всеми браузерами и серверами.
В том и дело, что не всеми.
Цитировать
Если занудствовать, то RFC не стандарт, а рекомендация.
Не занудствуй. RFC 2616 - описание стандарта Подмигивающий
Цитировать
Осталось еще больше серверов 1.1, которые без этого "жить не могут".
Спокойно могут. Каждый случай появления Proxy-Connection или Keep-Alive - это дополнительная нагрузка на сервер в плане того, что он вынужден распознавать эти заголовки ради совместимости с вариациями старого HTTP 1.0. Но мы то претендуем на полноценный 1.1 и должны, имхо, инициировать заголовки 1.1.
Цитировать
Фигня в том, что нет ясности. Ее действительно нет, нигде нет какого-либо дока который можно было бы считать нормативным и делать как в нем написано. Есть только практика: приходится подстаиваться под то, что понимают *nix и win серверы. А практически все они и понимают Proxy-Connection в запросе и сами отдают Proxy-Connection в ответе. Но ясности как _должно_быть_ правильно нет.
Все они понимают Connection. Это как раз гарантировано. И ясности с ним больше. А вот Proxy-Connection - не все понимают. Был уже и здесь на форуме случай с Naviscope. Имелось подозрение на непонимание им Proxy-Connection: keep-alive. Найти не смог. Стерто?
Сообщить модератору   Записан
DenZzz
Модератор
*****

Репутация: +179/-11
Offline Offline

Сообщений: 5589



« Ответ #25 : 13 апреля 2007, 08:20:09 »

Был уже и здесь на форуме случай с Naviscope. Имелось подозрение на непонимание им Proxy-Connection: keep-alive. Найти не смог. Стерто?

Поиск по слову "Naviscope" дает ссылку на ту тему! Плохо искал...

Вряд ли там дело в заголовке "Proxy-Connection", т.к. ответ "200 From cache" Naviscope обрабатывал нормально:

Заметил такую вещь: когда ответ НС "200 From cache" - тогда все нормально, когда ответ "304 Not modified" - тогда глюк и зависание.

Скорее проблема была в отсутствии "Content-Length: 0" в ответе "304". Сейчас это поправлено в бете...
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #26 : 19 апреля 2007, 02:13:23 »

Похоже, так получилось, что у нас в рядах бета-тестеров нет ни одого пользователя FF. Просьба ко всем: даже если вы препочитаете другой браузер - потестите плз работу тестовых билдов и в FF. Суть в том, что именно в FF работа с "пипеткой" наиболее поддается управлению: в нем есть опции для этого. В Опере опций управления никаких нет и отследить что происходит без анализа логов невозможно - убивается много времени впустую. IE просто вычеркнут из списка.
Однако проблемы есть и их надо отследить.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #27 : 25 апреля 2007, 00:18:58 »

Судя по всеобщему молчанию pipelining никто не пользует. Грустный Или он не включен. В FF необходимо в адресной строке браузера ввести about:config и включить опции network.http.proxy.pipelining и network.http.pipelining (по умолчанию они отключены).
Сообщить модератору   Записан
v0lt
Beta tester
*****

Репутация: +7/-0
Offline Offline

Сообщений: 127


« Ответ #28 : 25 апреля 2007, 06:56:49 »

Цитата: Rick
Судя по всеобщему молчанию pipelining никто не пользует. Грустный
Как узнать что он работает? В мониторе ничего не видно.

У меня глюк: если Flashget что-нить качает напрямую (без HC) даже в один поток, то в Фоксе я бывает не могу открыть никакую страницу? Это ведь никак не может быть связано с пипелайнингом или может?
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #29 : 25 апреля 2007, 08:04:00 »

Судя по всеобщему молчанию pipelining никто не пользует. Грустный Или он не включен
У меня в Fx3 включен. Но пока не вполне понятно, как выяснить реальное использование режима ("Live HTTP Headers" и "Fiddler" об этом не сообщают). Штука в том, что pipelining (в том числе и over proxy) у меня был включен всегда, при этом никакой путаницы картинок не наблюдалось...

...даже в один поток... Это ведь никак не может быть связано с пипелайнингом
Связь крайне сумнительна. Скорее всего просто FG полностью забивает твой канал (кол-во потоков здесь ни при чём) и браузер спотыкается на таймаутах. Если тебе это критично - в FG можно вручную настроить ограничение
Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #30 : 25 апреля 2007, 13:36:32 »

NothingAnother
Цитировать
как выяснить реальное использование режима
В логе сниффера или HC пипелайнинг проявляется в том, что нарушается строгий порядок, когда в одном соединении ответ следует за запросом. При пипелайнинге видно, что следует подряд несколько запросов, а затем подряд несколько ответов. При ошибках обработки таких ситуаций в браузере будет происходить искажение вида страницы (чаще всего перепутанные картинки). Если вы обнаружите искажение страницы, желательно попытаться повторить ситуацию с включенным ведением лога и Отладочной информацией. В начала файла лога напишите какой характер искажения страницы вы наблюдали и пришлите его мне. Приветствуется доп. информация: скриншоты, логи монитора.
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #31 : 25 апреля 2007, 13:42:39 »

Как узнать что он работает? В мониторе ничего не видно.
Только по косвенным признакам: перепутанным картинкам, по зависшим соединениям в текущих, по сериям 502 в мониторе: т.е. несколько файлов подряд имеют 502, при этом у некоторых "Отправлено" пусто.
Верный способ - это анализ логов: в рамках одного соединения отправляется несколько запросов. Т.е. запрос1-запрос2-ответ1-ответ2. Не путать с парами запрос1-ответ1-запрос2-ответ2 в рамках одного соединения - это не pipelining, это persistent.
Кстати, опция FF network.http.max-persistent-connections-per-proxy должна иметь значение >0 (по дефолту 4).
Но анализ логов - дело долгое и после каждой страницы их смотреть же не станешь. Поэтому нужно включить pipelining и persistent в FF и отслеживать "ненормальности" и ошибки. А уж затем лезть в логи.

Штука в том, что pipelining (в том числе и over proxy) у меня был включен всегда, при этом никакой путаницы картинок не наблюдалось...
Может быть какой-то из серверов через который у тебя доступ в инет не поддерживает pipelining. Включи ведение лога, открой главную страницу handycache.ru (желательно с рекламой) и проверь по логам наличие цепочек из нескольких запросов-ответов.
Сообщить модератору   Записан
v0lt
Beta tester
*****

Репутация: +7/-0
Offline Offline

Сообщений: 127


« Ответ #32 : 25 апреля 2007, 23:21:37 »

Цитата: Rick
Только по косвенным признакам: перепутанным картинкам, по зависшим соединениям в текущих, по сериям 502 в мониторе: т.е. несколько файлов подряд имеют 502, при этом у некоторых "Отправлено" пусто.
Кошмар, картинки действительно путаются. Окрыл сразу 4 страницы на двух картинки перемешаны, на третьей вроде все нормально, четвертая немного не догрузилась. И самое обидное это то, что HC не дает картинку обновить, отвечая "Not modifed". Лога пока нет, попробую завтра поймать...
Сообщить модератору   Записан
NothingAnother
Beta tester
*****

Репутация: +7/-2
Offline Offline

Сообщений: 434

Spoiler


« Ответ #33 : 26 апреля 2007, 08:17:56 »

Только по косвенным признакам: перепутанным картинкам, по зависшим соединениям в текущих, по сериям 502 в мониторе: т.е. несколько файлов подряд имеют 502, при этом у некоторых "Отправлено" пусто. Верный способ - это анализ логов: в рамках одного соединения отправляется несколько запросов. Т.е. запрос1-запрос2-ответ1-ответ2
Привет, Rick! Я тут в исследовательских целях подгрузил страничку с заведомо большим количеством картинок - и сразу как-то странно стало всё... Смущен Запросы внутри соединения уходят кучей - ответы возвращаются не в том же порядке, и при этом ничего не путается! Как такое может быть? Чего-то я недопонимаю... Непонимаю Посмотри этот лог, пожалуйста (может просто криво смотрю - мне такое кол-во текста пока тяжеловато Плачущий) Благодарю
P.S. Хотел тебе в ПМ написать, но не нашёл там возможности вложения
P.P.S. Что-то у меня форум перекосячило - не могу вложение прикрепить - отправлю тебе на мыло
« Последнее редактирование: 26 апреля 2007, 08:24:32 от NothingAnother » Сообщить модератору   Записан

Мы тоже не всего читали Шнитке!..
© В. Вишневский
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #34 : 26 апреля 2007, 19:36:05 »

Я тут в исследовательских целях подгрузил страничку с заведомо большим количеством картинок
Я тестирую и отлавливаю ошибки на главной странице нашего сайта. Чего и всем предлагаю делать. Для отлавливания багов с пипеткой наша "морда" очень хорошо подходит: довольно много мелких картинок (которые по идее у всех давно есть в кэше), и несколько, которые грузятся с других (внешних) серверов. По моим наблюдениям, последнее условие как-раз наиболее благоприятное (если это можно так назвать) для возникновения ошибок. Поэтому и смотреть нужно с включенной рекламой: именно из-за гуглевских ссылок чаще всего и ошибки.

Цитировать
Запросы внутри соединения уходят кучей - ответы возвращаются не в том же порядке, и при этом ничего не путается!
Посмотрел - все в том же порядке. Хотя весь лог досконально я не просматривал - разобрал два первых соединения (#3 и #4).
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #35 : 26 апреля 2007, 19:39:35 »

Лога пока нет, попробую завтра поймать...
Пока не надо - на подходе новый билд. Вот на новой сборке и желательно будет отловить оставшиеся ошибки.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #36 : 22 мая 2007, 17:10:26 »

Для сравнения не могу наблюдать pipelining в FireFox.
network.http.pipelining - true
network.http.pipelining.maxrequests - 10
network.http.proxy.pipelining - true
Подскажите, что еще нужно настроить, чтоб наблюдать конвейер?
Сообщить модератору   Записан
mai62
Автор HC
*****

Репутация: +226/-4
Offline Offline

Сообщений: 6383


« Ответ #37 : 22 мая 2007, 18:02:03 »

Должно вроде работать с такими настройками. Там от дефолтных настроек надо только разрешить pipelining и он начинает работать.
Цитировать
network.http.pipelining.maxrequests - 10
Я бы так много не ставил. Будут длинные цепочки и ты их замучаешься отслеживать, вполне достаточно дефолтных 4.
Сообщить модератору   Записан
Михаил
Gold beta tester
*****

Репутация: +337/-14
Offline Offline

Сообщений: 5513



« Ответ #38 : 22 мая 2007, 18:21:52 »

... вполне достаточно дефолтных 4.
Поставил и так - все равно Keep-Alive есть, а конвейера нет. Пока не получит ответ на предыдущий запрос - новый не шлет. В чем может быть заковыка?
Сообщить модератору   Записан
Rick
Администратор
*****

Репутация: +15/-1
Offline Offline

Сообщений: 868


WWW
« Ответ #39 : 22 мая 2007, 19:16:47 »

В чем может быть заковыка?
Внешний прокси имеется?
Сообщить модератору   Записан
Страниц: 1 [2] 3  Все   Вверх
  Отправить эту тему    Печать  

 
Перейти в: