Название: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 03 февраля 2007, 02:54:09 Если браузер оставляет соединение с сервером (в запросе присутствует Connection: Keep-Alive), то по этому соединению грузятся последовательно несколько файлов. Грузятся должным образом, но в мониторе при этом нормально отображается лишь первый, все остальные - "502 Bad Gateway" и чудовищные проценты.
Воочию увидеть можно так: отключить для надежности весь кэш (все списки и чтение из кэша) и посмотреть, что пишет монитор при заходе на http://handycache.ru :good: Исправлено в версии HC 1.0 RC1 ! Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Rick от 03 февраля 2007, 07:03:56 Михаил
Не удается повторить. Все нормально грузится, никаких 502. Страница 200 ОК gzip, остальное 304. Цитировать чудовищные проценты Чудовищно большие? Чудовищно низкие? Процент вообще не меняется - чтение из кэша ведь запрещено, а одной странички в 7К (примерно столько весит главная страница) маловато чтобы повлиять на набранный ранее процент.Добавлено: Кстати у меня Keep-Alive нет ( ??? ) - поэтому и повторить не получается. Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 03 февраля 2007, 10:53:02 Rick
Чтоб Опера стала посылать Keep-Alive надо включить в настройках прокси "Включить HTTP 1.1 для прокси-сервера". Для чистоты эксперимента надо также выйти из Оперы и зайти снова, чтобы вызов сайта был в текущем сеансе не повторным, а первым. Тогда Опера не будет вставлять If-Modified-Since и "304" не вылезет. Кэш Оперы отключен. Попробуй. Цитировать Процент вообще не меняется Я имею ввиду значение в колонке "%" в мониторе, а не процент экономии. Оно прыгает от чудовищно больших (несколько тысяч) до малых значений. При этом все скачивается нормально - страдает только оттображение этого в мониторе.Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: mai62 от 03 февраля 2007, 11:27:36 От какой даты у тебя exe-шник? Если не от 2 января, скачай снова. Если последний, включи опцию Отладочная информация, сделай лог и пришли мне на мыло (mai62()mail.ru).
Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 03 февраля 2007, 13:00:47 mai62
НС от 2.01.07. Выслал лог. По-моему, раньше лог писался в файл log.txt. Сейчас хоть убей, не могу этого добиться - файл не создается. При этом по кнопке "смотреть лог" он показывается полностью. При выходе/входе в НС лог очищается, т.к. файла нет. Подскажи, плиз, должен ли создаваться файл лога? Если да, как этого добиться. Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Rick от 03 февраля 2007, 13:07:30 RClick в окне лога - сохранить в log.txt
Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 03 февраля 2007, 13:17:18 Rick
Спасибо. А ларчик просто открывался... ;) Почему-то упорно сидело в голове, что пишется в файл само. Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: mai62 от 04 февраля 2007, 21:26:46 Похоже у твоей Опера проснулся pipelining. Про него можно почитать,
например, здесь: http://operawiki.info/HttpProtocol9 http://en.wikipedia.org/wiki/HTTP_pipelining http://mozilla.org/projects/netlib/http/pipelining-faq.html НС pipelining не поддерживает, из-за этого и глюки. Как я понял, в Опера выключить pipelining можно только вместе с поддержкой http1.1 для прокси. Попробуй это сделать. Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: NothingAnother от 04 февраля 2007, 21:47:15 НС pipelining не поддерживает А что будет, если браузер не знает об этой "неподдержке" и ему указано задействовать pipelining over proxy?Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: mai62 от 04 февраля 2007, 23:37:48 Как один из вариантов будут глюки, описанные Михаил. Думаю также жалобы пользователей FF и Opera на перепутанные картинки на страницах - одно из проявлений этой проблемы.
Что делать? Буду работать над реализацией поддержки pipelining. К сожалению, мне самому пока не удалось увидеть pipelining живьем ни в FF, ни в Opera (может оттого, что сижу за цепочкой из двух сквидов). А без этого сложно будет отлаживать. Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 05 февраля 2007, 00:03:35 mai62
Цитировать в Опера выключить pipelining можно только вместе с поддержкой http1.1 Это безусловно решит вопрос. Но тогда я потеряю основные преимущества HTTP 1.1 (постоянные соединения), которые на DSL и спутниковом интернете дают весьма существенный выигрыш во времени.для прокси. Попробуй это сделать. К чему, собственно, эта тема у меня зародилась: налицо проблемы с поддержкой НС постоянных соединений HTTP 1.1. Это влечет значительные относительные потери времени на скоростных подключениях (на dial-up потери такие же в абсолютном выражении, но относительно невелики). Может, есть смысл обсудить необходимость добавления в программу такой поддержки (причем не только пассивной, но и активной)? Под пассивной я имею ввиду корректную обработку уже поступивших запросов, применяющих постоянное соединение. Под активной - если этого не делает в своем запросе клиент, то создавать собственными силами постоянное соединение, если сервер поддерживает HTTP 1.1. Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: mai62 от 05 февраля 2007, 00:52:15 Ситуация с производительностью HTTP 1.1 и HTTP 1.0 не так проста как кажется на первый взгляд. Посмотри, например, это http://w3.org/Protocols/HTTP/Performance/Pipeline.html.
Поддержка постоянных соединений HTTP 1.1 в НС есть, можешь поюзать IE (в нем есть постоянные соединения HTTP 1.1, но нет pipelining) и убедиться. С тем, что нужно работать над поддержкой pipelining, я согласен и уже писал об этом выше. Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 05 февраля 2007, 01:52:18 mai62
Спасибо, статья познавательная. Проверил: IE действительно использует постоянное соединение без конвейера, и НС ведет себя при этом адекватно. Опера же все гонит через конвейер. IE умудряется, имея открытое ожидающее постоянное соединение, открывать с этим же сервером другое! Хорошо б продумать вопрос о добавлении в НС возможности самостоятельно организовывать pipelining невзирая на то, как хочет организовывать взаимодействие с сервером браузер. Или эта мысль уже охватывается твоими словами о планируемой поддержке pipelining? Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 05 февраля 2007, 03:34:45 mai62
Цитировать К сожалению, мне самому пока не удалось увидеть pipelining живьем ни в FF, ни в Opera (может оттого, что сижу за цепочкой из двух сквидов). А без этого сложно будет отлаживать. По идее, если эти сквиды не отвечают "HTTP/1.0" и не закрывают самовольно соединение, то Опере больше ничего и не надо. Должна pipelin-ить. По крайне мере, сборка 8713 (http://snapshot.opera.com/windows/o920w_8713m.exe) у меня это делает. Другие необходимые условия: 1. "Запоминать посещенные адреса" в Настройки/Дополнительные/История должно быть ненулевым (соответственно, URL уже должен быть там запомнен, для чего его необходимо по крайней мере разок-другой предварительно вызвать). 2. Должна стоять галка, разрешающая использование HTTP 1.1 для прокси-сервера в Настройки/Дополнительные/Сеть/Прокси-серверы.Кстати, если сделаешь для целей лабораторного исследования ответ Опере от НС "HTTP/1.1" вместо "HTTP/1.0" и НС не будет выдавать "Proxy-connection: close", то Опера, я думаю, должна пытаться pipelin-ить и при соединении с НС, когда в НС включен автономный режим. Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 05 февраля 2007, 12:31:45 mai62
Цитировать Ситуация с производительностью HTTP 1.1 и HTTP 1.0 не так проста как кажется на первый взгляд. Посмотри, например, это http://w3.org/Protocols/HTTP/Performance/Pipeline.html. Еще вот что хотел сказать. Производительность HTTP 1.1 выше по определению. Другое дело - как организовать работу по протоколу. В статье сравнивается параллельная загрузка по HTTP 1.0 с последовательной по HTTP 1.1. Тут уж HTTP 1.0 естественно опережает. Но не благодаря своим достоинствам, а вследствие сравнения различных способов организации взаимодействия с сервером. Если б сравнивать последовательную загрузку в HTTP 1.0 с такой же, но через постоянное соединение HTTP 1.1 (т.е. поставить их в одинаковые условия), то сравнение было б явно в пользу последнего.А вот почему IE организует при использовании HTTP 1.1 именно последовательную загрузку (т.е. самый медленный вариант) - для меня вопрос. ??? Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: mai62 от 05 февраля 2007, 13:17:04 Михаил
Цитировать По идее, если эти сквиды не отвечают "HTTP/1.0" и не закрывают самовольно соединение... Вот так у меня выглядит обменЦитировать GET http://handycache.ru/images/stories/info80.png HTTP/1.0 Почему-то в запросе Опера ставит HTTP/1.0 хотя в настройках стоит 1.1 и все перечисленные тобой условия соблюдены. Пишут, что в Опере pipelining управляется каким-то эвристическим алгоритмом, возможно она раз и навсегда решила, что тут ловить нечего и юзает 1.0.User-Agent: Opera/9.02 (Windows NT 5.1; U; en) Host: handycache.ru Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1 Accept-Language: ru-RU,ru;q=0.9,en;q=0.8 Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1 Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0 Referer: http://handycache.ru/component/option,com_frontpage/Itemid,1/ Cookie: PHPSESSID=913c88d52c0dd315789bda49eb9d1092; dfaf8b958d32999e00affd4aedd4f5b1=4a5a5392a0223f09c18dab9e3c44b848 Cookie2: $Version=1 Pragma: no-cache Cache-Control: no-cache Proxy-Connection: close HTTP/1.0 200 OK Date: Mon, 05 Feb 2007 09:59:07 GMT Server: Apache/1.3.33 (Unix) mod_fastcgi/2.4.0 FrontPage/5.0.2.2623 PHP/4.3.10 mod_gzip/1.3.19.1a mod_ssl/2.8.22 OpenSSL/0.9.7b rus/PL30.20 Last-Modified: Mon, 01 Jan 2007 16:40:54 GMT ETag: "218ca5-566-45993996" Accept-Ranges: bytes Content-Length: 1382 Content-Type: image/png X-Cache: MISS from unlim X-Cache: MISS from ns1.scenar.com.ru Proxy-Connection: close Цитировать если этого не делает в своем запросе клиент, то создавать собственными силами постоянное соединение, если сервер поддерживает HTTP 1.1 В эти дебри я не полезу.Цитировать Производительность HTTP 1.1 выше по определению. Правильнее сказать потенциально выше, при определенных условиях.Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 05 февраля 2007, 15:00:33 mai62
Цитировать Почему-то в запросе Опера ставит HTTP/1.0 хотя в настройках стоит 1.1 и все перечисленные тобой условия соблюдены Приведенный тобой лог отражает запрос одного файла png без вложенных, pipelin-ить тут заведомо нечего. Я задавал http://handycache.ru. Опера запрашивает его по HTTP 1.0 и узнает из ответа сервера, что сервером поддерживается HTTP 1.1. Тогда начиная со следующего файла с этого сервера она открывает pipeline-соединение.Озабочивает другое: у тебя ответ сервера - "HTTP 1.0". У меня же отвечает "HTTP 1.1". Видимо, это то, чего я опасался: сквиды зачем-то меняют в ответе сервера 1.1 на 1.0. Не знаю также, поддерживает ли должным образом pipelining используемая тобой версия 9.02 Оперы. Я пробовал на 9.2 указанной выше тестовой сборки. Должен сказать, что конвейер она организует тоже далеко не оптимальным образом (эвристический алгоритм видать еще сырой). Но с тем безобразием, которое творит IE, это все равно не сравнить. Цитировать В эти дебри я не полезу Не надо лезть. Лишь бы это можно было организовать другим при помощи разрабатываемой тобой плагинной архитектуры. Я, например, с удовольствием попробовал бы сделать это сам. Тем более, что при использовании pipelining время взаимодействия с удаленным сервером уменьшается в разы.Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: mai62 от 05 февраля 2007, 19:28:17 Михаил
Цитировать Приведенный тобой лог отражает запрос одного файла png без вложенных Я привел один для примера, остальные такие же.Цитировать Не надо лезть. Лишь бы это можно было организовать другим при помощи разрабатываемой тобой плагинной архитектуры. Я, например, с удовольствием попробовал бы сделать это сам. ОКНазвание: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: NothingAnother от 05 февраля 2007, 21:02:03 Опера запрашивает его по HTTP 1.0 и узнает из ответа сервера, что сервером поддерживается HTTP 1.1. Тогда начиная со следующего файла с этого сервера она открывает pipeline-соединение А как это зависит от параметра "Disable HTTP OPTIONS requests"? Краткая аннотация: "Avoid sending "options" header to proxies", но как это отражается на взаимодействии с HC?Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 05 февраля 2007, 21:38:08 NothingAnother
Цитировать А как это зависит от параметра "Disable HTTP OPTIONS requests"? Краткая аннотация: "Avoid sending "options" header to proxies", но как это отражается на взаимодействии с HC? Метод OPTIONS и НС мне подружить не удалось изначально (при отключенной опции Опера категорически отказывалась выходить в интернет через НС). Поэтому эта опция у меня включена. Даже не знаю, работает ли она в связке с НС теперь.В глубинные причины этого не вникал. Надо, кстати, сделать это. Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Михаил от 05 февраля 2007, 22:25:00 NothingAnother
Вроде разобрался. Если отключить опцию, Опера сразу запрашивает НС о ее возможностях как сервера методом OPTIONS. НС, видимо, не понимает, что запрос адресован к ней лично и пытается передать его дальше по адресу, указанному в поле host заголовка, т.е. себе самой. В итоге получаем бесконечный цикл. Ориентировочный вывод: НС не обучена обрабатывать запросы, адресованные лично ей (в поле host содержится ее собственный адрес). Надо узнать у mai62, прав ли я. Если все это так, то это баг, подлежащий исправлению. Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: Илья от 03 октября 2007, 10:51:13 03.10.2007/14:41:56 local http://ru.archive.ubuntu.com/ubuntu/pool/main/libs/libsamplerate/libsamplerate0_0.1.2-2_i386.deb 108138 1345787 1244% 2 "200 OK" З.4
З.4 (Запись в кэш): .* У меня линукс убунту. Это при закачке фал через синаптик. Проценты рулят :) Название: Re: Баг - "502 Bad Gateway" и неверные проценты в мониторе Отправлено: DenZzz от 03 октября 2007, 11:02:01 Во-первых, зачем ты синаптик через HC пустил? Что там кэшировать и зачем?
Во-вторых, большие % означают, что синаптик использует Pipelining! Если есть у него в настройках возможность отключить использование Pipelining-а или HTTP/1.1, то сделай это... P.S. Скоро выйдет новая версия HC, которая поддерживает Pipelining.
Powered by SMF 1.1.3 SMF © 2006, Simple Machines LLC
Joomla Bridge by JoomlaHacks.com |