Главная
Форум
Контакты
Купить
Поддержи проект
Поиск
Искать:
Расширенный поиск
[Закрыть]
Правила форума
Войти
Регистрация
Russian
English
HandyCache форум
Главная категория
»
Общие вопросы
»
Что такое Pipelining?
Имя пользователя:
1 час
1 день
1 неделя
1 месяц
Навсегда
Пароль:
Страниц:
1
[
2
]
3
Все
Вниз
« предыдущая тема
следующая тема »
Отправить эту тему
Печать
Автор
Тема: Что такое Pipelining? (Прочитано 43961 раз)
0 Пользователей и 2 Гостей смотрят эту тему.
mai62
Автор HC
Репутация: +226/-4
Offline
Сообщений: 6383
Re: Что такое Pipelining?
«
Ответ #20 :
10 апреля 2007, 14:53:38 »
Это определяет не НС, а браузер. Про оперу пишут, что у нее какой-то эвристический алгоритм, который управляет включением/выключением pipelining. В FF pipelining включается в настройках и я его наблюдаю.
Сообщить модератору
Записан
Михаил
Gold beta tester
Репутация: +337/-14
Offline
Сообщений: 5513
Re: Что такое Pipelining?
«
Ответ #21 :
10 апреля 2007, 23:58:52 »
При ответе "502 Bad gateway/Not connected (HC)" отдается ответ HTTP 1.0. Имхо, тоже заменить на HTTP 1.1.
Сообщить модератору
Записан
Михаил
Gold beta tester
Репутация: +337/-14
Offline
Сообщений: 5513
Re: Что такое Pipelining?
«
Ответ #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
Сообщений: 868
Re: Что такое Pipelining?
«
Ответ #23 :
13 апреля 2007, 00:32:55 »
Цитата: Михаил от 12 апреля 2007, 23:39:30
По осколкам собрал скудную информацию о заголовке 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
Сообщений: 5513
Re: Что такое Pipelining?
«
Ответ #24 :
13 апреля 2007, 02:54:04 »
Цитата: Rick от 13 апреля 2007, 00:32:55
Да, инфы кот наплакал. Заголовок практически нигде не описан, но вот парадокс: все его знают.
Если я понял твое мнение, то этот заголовок правильней указывать НС в своих ответах, чем 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
Сообщений: 5589
Re: Что такое Pipelining?
«
Ответ #25 :
13 апреля 2007, 08:20:09 »
Цитата: Михаил от 13 апреля 2007, 02:54:04
Был уже и здесь на форуме случай с Naviscope. Имелось подозрение на непонимание им Proxy-Connection: keep-alive. Найти не смог. Стерто?
Поиск
по слову "Naviscope" дает ссылку на
ту тему
! Плохо искал...
Вряд ли там дело в заголовке "Proxy-Connection", т.к. ответ "200 From cache" Naviscope обрабатывал нормально:
Цитата: Nikolay от 21 февраля 2007, 03:29:47
Заметил такую вещь: когда ответ НС "200 From cache" - тогда все нормально, когда ответ "304 Not modified" - тогда глюк и зависание.
Скорее проблема была в отсутствии "Content-Length: 0" в ответе "304". Сейчас это поправлено в бете...
Сообщить модератору
Записан
Rick
Администратор
Репутация: +15/-1
Offline
Сообщений: 868
Re: Что такое Pipelining?
«
Ответ #26 :
19 апреля 2007, 02:13:23 »
Похоже, так получилось, что у нас в рядах бета-тестеров нет ни одого пользователя FF. Просьба ко всем: даже если вы препочитаете другой браузер - потестите плз работу тестовых билдов и в FF. Суть в том, что именно в FF работа с "пипеткой" наиболее поддается управлению: в нем есть опции для этого. В Опере опций управления никаких нет и отследить что происходит без анализа логов невозможно - убивается много времени впустую. IE просто вычеркнут из списка.
Однако проблемы есть и их надо отследить.
Сообщить модератору
Записан
Rick
Администратор
Репутация: +15/-1
Offline
Сообщений: 868
Re: Что такое Pipelining?
«
Ответ #27 :
25 апреля 2007, 00:18:58 »
Судя по всеобщему молчанию
pipelining
никто не пользует.
Или он не включен. В FF необходимо в адресной строке браузера ввести
about:config
и включить опции
network.http.proxy.pipelining
и
network.http.pipelining
(по умолчанию они отключены).
Сообщить модератору
Записан
v0lt
Beta tester
Репутация: +7/-0
Offline
Сообщений: 127
Re: Что такое Pipelining?
«
Ответ #28 :
25 апреля 2007, 06:56:49 »
Цитата: Rick
Судя по всеобщему молчанию
pipelining
никто не пользует.
Как узнать что он работает? В мониторе ничего не видно.
У меня глюк: если Flashget что-нить качает напрямую (без HC) даже в один поток, то в Фоксе я бывает не могу открыть никакую страницу? Это ведь никак не может быть связано с пипелайнингом или может?
Сообщить модератору
Записан
NothingAnother
Beta tester
Репутация: +7/-2
Offline
Сообщений: 434
Spoiler
Re: Что такое Pipelining?
«
Ответ #29 :
25 апреля 2007, 08:04:00 »
Цитата: Rick от 25 апреля 2007, 00:18:58
Судя по всеобщему молчанию
pipelining
никто не пользует.
Или он не включен
У меня в Fx3 включен. Но пока не вполне понятно, как выяснить реальное использование режима ("Live HTTP Headers" и "Fiddler" об этом не сообщают). Штука в том, что pipelining (в том числе и over proxy) у меня был включен
всегда
, при этом никакой путаницы картинок не наблюдалось...
Цитата: v0lt от 25 апреля 2007, 06:56:49
...даже в один поток... Это ведь никак не может быть связано с пипелайнингом
Связь крайне сумнительна. Скорее всего просто FG полностью забивает твой канал (кол-во потоков здесь ни при чём) и браузер спотыкается на таймаутах. Если тебе это критично - в FG можно вручную настроить ограничение
Сообщить модератору
Записан
Мы тоже не всего читали Шнитке!..
© В. Вишневский
mai62
Автор HC
Репутация: +226/-4
Offline
Сообщений: 6383
Re: Что такое Pipelining?
«
Ответ #30 :
25 апреля 2007, 13:36:32 »
NothingAnother
Цитировать
как выяснить реальное использование режима
В логе сниффера или HC пипелайнинг проявляется в том, что нарушается строгий порядок, когда в одном соединении ответ следует за запросом. При пипелайнинге видно, что следует подряд несколько запросов, а затем подряд несколько ответов. При ошибках обработки таких ситуаций в браузере будет происходить искажение вида страницы (чаще всего перепутанные картинки). Если вы обнаружите искажение страницы, желательно попытаться повторить ситуацию с включенным ведением лога и Отладочной информацией. В начала файла лога напишите какой характер искажения страницы вы наблюдали и пришлите его мне. Приветствуется доп. информация: скриншоты, логи монитора.
Сообщить модератору
Записан
Rick
Администратор
Репутация: +15/-1
Offline
Сообщений: 868
Re: Что такое Pipelining?
«
Ответ #31 :
25 апреля 2007, 13:42:39 »
Цитата: v0lt от 25 апреля 2007, 06:56:49
Как узнать что он работает? В мониторе ничего не видно.
Только по косвенным признакам: перепутанным картинкам, по зависшим соединениям в текущих, по сериям 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 и отслеживать "ненормальности" и ошибки. А уж затем лезть в логи.
Цитата: NothingAnother от 25 апреля 2007, 08:04:00
Штука в том, что pipelining (в том числе и over proxy) у меня был включен
всегда
, при этом никакой путаницы картинок не наблюдалось...
Может быть какой-то из серверов через который у тебя доступ в инет не поддерживает pipelining. Включи ведение лога, открой главную страницу handycache.ru (желательно с рекламой) и проверь по логам наличие цепочек из нескольких запросов-ответов.
Сообщить модератору
Записан
v0lt
Beta tester
Репутация: +7/-0
Offline
Сообщений: 127
Re: Что такое Pipelining?
«
Ответ #32 :
25 апреля 2007, 23:21:37 »
Цитата: Rick
Только по косвенным признакам: перепутанным картинкам, по зависшим соединениям в текущих, по сериям 502 в мониторе: т.е. несколько файлов подряд имеют 502, при этом у некоторых "Отправлено" пусто.
Кошмар, картинки действительно путаются. Окрыл сразу 4 страницы на двух картинки перемешаны, на третьей вроде все нормально, четвертая немного не догрузилась. И самое обидное это то, что HC не дает картинку обновить, отвечая "Not modifed". Лога пока нет, попробую завтра поймать...
Сообщить модератору
Записан
NothingAnother
Beta tester
Репутация: +7/-2
Offline
Сообщений: 434
Spoiler
Re: Что такое Pipelining?
«
Ответ #33 :
26 апреля 2007, 08:17:56 »
Цитата: Rick от 25 апреля 2007, 13:42:39
Только по косвенным признакам: перепутанным картинкам, по зависшим соединениям в текущих, по сериям 502 в мониторе: т.е. несколько файлов подряд имеют 502, при этом у некоторых "Отправлено" пусто. Верный способ - это анализ логов: в рамках одного соединения отправляется несколько запросов. Т.е. запрос1-запрос2-ответ1-ответ2
Привет,
Rick
! Я тут в исследовательских целях подгрузил страничку с заведомо большим количеством картинок - и сразу как-то странно стало всё...
Запросы внутри соединения уходят кучей - ответы возвращаются
не
в том же порядке, и при этом ничего
не
путается! Как такое может быть? Чего-то я недопонимаю...
Посмотри этот лог, пожалуйста (может просто криво смотрю - мне такое кол-во текста пока тяжеловато
)
P.S. Хотел тебе в ПМ написать, но не нашёл там возможности вложения
P.P.S. Что-то у меня форум перекосячило - не могу вложение прикрепить - отправлю тебе на мыло
«
Последнее редактирование: 26 апреля 2007, 08:24:32 от NothingAnother
»
Сообщить модератору
Записан
Мы тоже не всего читали Шнитке!..
© В. Вишневский
Rick
Администратор
Репутация: +15/-1
Offline
Сообщений: 868
Re: Что такое Pipelining?
«
Ответ #34 :
26 апреля 2007, 19:36:05 »
Цитата: NothingAnother от 26 апреля 2007, 08:17:56
Я тут в исследовательских целях подгрузил страничку с заведомо большим количеством картинок
Я тестирую и отлавливаю ошибки на главной странице нашего сайта. Чего и всем предлагаю делать. Для отлавливания багов с пипеткой наша "морда" очень хорошо подходит: довольно много мелких картинок (которые по идее у всех давно есть в кэше), и несколько, которые грузятся с других (внешних) серверов. По моим наблюдениям, последнее условие как-раз наиболее благоприятное (если это можно так назвать) для возникновения ошибок. Поэтому и смотреть нужно с включенной рекламой: именно из-за гуглевских ссылок чаще всего и ошибки.
Цитировать
Запросы внутри соединения уходят кучей - ответы возвращаются
не
в том же порядке, и при этом ничего
не
путается!
Посмотрел - все в том же порядке. Хотя весь лог досконально я не просматривал - разобрал два первых соединения (#3 и #4).
Сообщить модератору
Записан
Rick
Администратор
Репутация: +15/-1
Offline
Сообщений: 868
Re: Что такое Pipelining?
«
Ответ #35 :
26 апреля 2007, 19:39:35 »
Цитата: v0lt от 25 апреля 2007, 23:21:37
Лога пока нет, попробую завтра поймать...
Пока не надо - на подходе новый билд. Вот на новой сборке и желательно будет отловить оставшиеся ошибки.
Сообщить модератору
Записан
Михаил
Gold beta tester
Репутация: +337/-14
Offline
Сообщений: 5513
Re: Две разных закачки на один URL
«
Ответ #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
Сообщений: 6383
Re: Две разных закачки на один URL
«
Ответ #37 :
22 мая 2007, 18:02:03 »
Должно вроде работать с такими настройками. Там от дефолтных настроек надо только разрешить pipelining и он начинает работать.
Цитировать
network.http.pipelining.maxrequests - 10
Я бы так много не ставил. Будут длинные цепочки и ты их замучаешься отслеживать, вполне достаточно дефолтных 4.
Сообщить модератору
Записан
Михаил
Gold beta tester
Репутация: +337/-14
Offline
Сообщений: 5513
Re: Две разных закачки на один URL
«
Ответ #38 :
22 мая 2007, 18:21:52 »
Цитата: mai62 от 22 мая 2007, 18:02:03
... вполне достаточно дефолтных 4.
Поставил и так - все равно Keep-Alive есть, а конвейера нет. Пока не получит ответ на предыдущий запрос - новый не шлет. В чем может быть заковыка?
Сообщить модератору
Записан
Rick
Администратор
Репутация: +15/-1
Offline
Сообщений: 868
Re: Две разных закачки на один URL
«
Ответ #39 :
22 мая 2007, 19:16:47 »
Цитата: Михаил от 22 мая 2007, 18:21:52
В чем может быть заковыка?
Внешний прокси имеется?
Сообщить модератору
Записан
Страниц:
1
[
2
]
3
Все
Вверх
Отправить эту тему
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Главная категория
-----------------------------
=> Общие вопросы
=> Новые предложения
=> Дополнения, плагины
=> Сжатие трафика
=> English forum
=> Indonesian forum
-----------------------------
Гостевая
-----------------------------
=> Гостевая
-----------------------------
Дела домашние
-----------------------------
=> Сайт и форум HandyCache
=> Курилка
© 2006-2014 HandyCache Team. Все права защищены.
Загружается...