+  HandyCache форум
|-+  Гостевая» Гостевая» HC медленно загружает некоторые сайты
Имя пользователя:
Пароль:
Страниц: 1 ... 7 8 [9]   Вниз
  Ответ    Отправить эту тему    Печать  
Автор Тема: HC медленно загружает некоторые сайты  (Прочитано 155891 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Доктор ТуамОсес
Гость
« Ответ #160 : 02 мая 2011, 01:58:06 »
ПроцитироватьЦитировать

О!!!! А вот и наконец и разработчик пожаловали! Как давно я хотел с Вами пообщаться! Как о многом хотел спросить. Узнать о работе кэнди так сказать, из первоисточника
Я Вас чем-то обидел? Извините.

Просветите же наконец как у Вас всё так работает.

А то, мне приходится идти "методом научного тыка".

В частности объясните как используются и являются ли взаимосвязанными параметры [ConnectTimeOut] и [пауза] в строке "Время на повторные соединения при ошибке".

Т.е. я прав полагая, что Вами задумывалось, что для каждой попытки [ConnectTimeOut] - это длительность фазы активного ожидания, а [пауза] - это суммарная продолжительность активного и пассивного ожидания?
« Последнее редактирование: 02 мая 2011, 02:03:59 от Доктор ТуамОсес » Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #161 : 02 мая 2011, 03:07:33 »
ПроцитироватьЦитировать

Цитировать
Я Вас чем-то обидел?
Нет. Я считаю, что DenZzz заслуживает более лестной оценки, чем Вы ему дали. Я уверен, что он в десятки раз лучше Вас разбирается в том как работает НС. Не смотря на это, он не пытался упрекнуть Вас в недостаточном уровне Ваших знаний (хотя поводы у него были). Напротив, он потратил много времени на то, чтобы поделиться своими знаниями с Вами. И что получил взамен?
Хочу ли я оказаться на его месте? Конечно, не хочу.
Сообщить модератору   Записан
alex77
Старожил
****

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

Сообщений: 482



« Ответ #162 : 02 мая 2011, 04:40:00 »
ПроцитироватьЦитировать

Доктор ТуамОсес, меняйте Вашего интернет оператора или используемую программу (если считаете, что она лучше работает).
а по поводу "параметров", как бы Вы их не меняли, все-равно, придется оставить какое-то среднее значение, т.е. нужен компромисс. И с этим ничего не поделаешь
Сообщить модератору   Записан
Доктор ТуамОсес
Гость
« Ответ #163 : 02 мая 2011, 11:00:44 »
ПроцитироватьЦитировать

Цитировать
Я Вас чем-то обидел?
Нет. Я считаю, что DenZzz заслуживает более лестной оценки, чем Вы ему дали. Я уверен, что он в десятки раз лучше Вас разбирается в том как работает НС. Не смотря на это, он не пытался упрекнуть Вас в недостаточном уровне Ваших знаний (хотя поводы у него были). Напротив, он потратил много времени на то, чтобы поделиться своими знаниями с Вами. И что получил взамен?
Хочу ли я оказаться на его месте? Конечно, не хочу.
Я прошу прощения и у DenZzz за невольную резкость. Я нисколько не умаляю его знаний. Просто по тому конкретному вопросу,  которой я ему задал, он дал мне не информацию, а дезинформацию.

А у Вас я всё же ещё раз спрошу: это так и задумывалось Вами, что при [пауза]>0 (в строке "Время на повторные соединения при ошибке" секции "управление загрузкой") кэнди при повторных попытках установить соединение (при неудачной 1-й попытке) отправив запрос минуя фазу активного ожидания сразу переходит в фазу пассивного ожидания (т.е. запрос-то отправляет, а сеть не слушает).

Или это просто баг программы, который Вы со временем исправите?

То что то, о чём я пишу, это действительно имеет место, я убедился посмотрев логи при различных комбинациях параметров.
И в логах я увидел, что только при первой попытке кэнди переходит в "Sleep(ConnectRepeatPause)" после "connect to ..." спустя [ConnectTimeOut] секунд.
А при последующих попытках кэнди переходит в "Sleep(ConnectRepeatPause)" сразу же после "connect to ..."
Добавлено: 02 Мая 2011, 10:26:16

а по поводу "параметров", как бы Вы их не меняли, все-равно, придется оставить какое-то среднее значение, т.е. нужен компромисс. И с этим ничего не поделаешь
Дык чтобы оставить какое-то среднее (оптимальное) значение, нужно сначала его установить. А чтобы установить, нужно иметь ТОЧНУЮ, ИНФУ, на что влияет каждый параметр.

А то приходится идти методом научного тыка.

Ведь, как казалось по логике вещей, "паузе" в строке "Время на повторные соединения при ошибке" нужно задать какое-то значение.

Но как оказалось (я убедился в этом опытным путём), что вероятность установить соединение с "плохим" сайтом выше, если установить эту "паузу" равной нулю.
Поскольку ТОЛЬКО в этом случае  фаза активного ожидания ответа сервера будет присутствовать в каждой попытке кэнди установить соединение, а не только в 1-й.
Добавлено: 02 Мая 2011, 10:36:18

Доктор ТуамОсес, меняйте Вашего интернет оператора или используемую программу (если считаете, что она лучше работает).
Да программа-то очень замечательная (спасибо разработчику). Если бы она мне не нравилась, я бы не "перелез" на неё с CoolProxy.

Просто так как я сам занимаюсь программированием более 20 лет,то прекрасно знаю насколько истинны афоризмы: "Каждый последний баг в программе на самом деле предпоследний"(c) и "программ без ошибок не бывает"(c)

Поэтому я говорю о недостатках программы не с целью как-то задеть/оскорбить разработчика, а с единственной целью, помочь ему увидеть те места, которые ещё нужно доработать, чтобы программы стала ещё лучше
Добавлено: 02 Мая 2011, 10:43:10

Опытным путём установил оптимальные для меня (у меня плохой (тормозной, глючный, постоянно подвисающий) канал GPRS ) параметры.

1) ConnectTimeOut=5000мС (т.е. 5сек)
2) а в секции "управление загрузкой" установил следующие значения:
15сек/0сек
15сек/5сек
15сек/5сек

С такими параметрами у меня сайты грузятся замечательно (даже когда параллельно с кэнди у меня uTorrent или DownloadMaster чё-нить скачивают)
« Последнее редактирование: 02 мая 2011, 11:12:48 от Доктор ТуамОсес » Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #164 : 02 мая 2011, 11:14:55 »
ПроцитироватьЦитировать

Просто по тому конкретному вопросу,  которой я ему задал, он дал мне не информацию, а дезинформацию.

Я сказал тебе истинную правду, что подтверждается логами HC:

Код:
02.05.11 10:53:35,359 # 19 <<< URL: http://109.124.206.140/
DoConnect_begin

02.05.11 10:53:35,359 # 19 <<< URL: http://109.124.206.140/
Connection to 109.124.206.140:80

02.05.11 10:53:37,359 # 19 <<< URL: http://109.124.206.140/
Sleep(ConnectRepeatPause)

02.05.11 10:53:40,359 # 19 <<< URL: http://109.124.206.140/
Connection to 109.124.206.140:80

02.05.11 10:53:42,359 # 19 <<< URL: http://109.124.206.140/
Sleep(ConnectRepeatPause)

02.05.11 10:53:45,359 # 19 <<< URL: http://109.124.206.140/
Connection to 109.124.206.140:80

02.05.11 10:53:47,359 # 19 <<< URL: http://109.124.206.140/
Sleep(ConnectRepeatPause)

02.05.11 10:53:50,375 # 19 <<< URL: http://109.124.206.140/
Connection to 109.124.206.140:80

02.05.11 10:53:52,375 # 19 <<< URL: http://109.124.206.140/
Sleep(ConnectRepeatPause)

02.05.11 10:53:55,375 # 19 <<< URL: http://109.124.206.140/
Connection to 109.124.206.140:80

02.05.11 10:53:57,375 # 19 <<< URL: http://109.124.206.140/
Sleep(ConnectRepeatPause)

02.05.11 10:54:00,375 # 19 <<< URL: http://109.124.206.140/
Connection to 109.124.206.140:80
и т.д.

И ConnectTimeOut, и пауза Sleep(ConnectRepeatPause) есть при каждой попытке соединения с сервером при включенном интернете!

Твои домыслы без доказательств носят признаки троллинга и будут далее удаляться без предупреждения!
Сообщить модератору   Записан
Доктор ТуамОсес
Гость
« Ответ #165 : 02 мая 2011, 13:32:11 »
ПроцитироватьЦитировать

Я сказал тебе истинную правду, что подтверждается логами HC:

Твои домыслы без доказательств носят признаки троллинга и будут далее удаляться без предупреждения!

Я тебе тоже сказал "истинную правду".

Сейчас тогда ещё раз проверю у себя.

Давай тогда так.
Назови параметры при которых ты снимал логи и версию кэнди.
P.S. И почему у Вас лог такой "куцый". Вы поудаляли что ли часть строк?
Почему у меня в логе кроме строк "Connection to ..." и "Sleep(ConnectRepeatPause)" есть и другие строки, а у Вас их нет?
Добавлено: 02 Мая 2011, 11:24:57

Представляю свой лог для сайта www.google.ru ( версия кэнди 1.0.0.337, ConnectTimeOut=500мС (0,5 сек), первая строка секции управление загрузкой 30сек/3 сек [т.е. пауза между повторными попытками установления соединения 3 сек])

Код:
02.05.11 11:50:11,734 # 1 <<< URL: http://www.google.ru/
Connection.Connected=False

02.05.11 11:50:11,734 # 1:  Client Disconnection

02.05.11 11:50:15,765 # 2: Start connection from client

02.05.11 11:50:15,765 # 2: Connection from 127.0.0.1:4910 to HC Version 1.00 RC3 (1.0.0.337)

02.05.11 11:50:15,781 (*) DecodeURL: http://www.google.ru/

02.05.11 11:50:15,781 # 2: User name: local

02.05.11 11:50:15,781 http://www.google.ru/ (*) cdir=C:\cache\
ExistsCacheFileNameDo start, ramcache=2

02.05.11 11:50:15,781 (*)
URLPrepare start/fn=http://www.google.ru/

02.05.11 11:50:15,781 (*)
URLPrepare end/Result=google.ru\

02.05.11 11:50:15,781 # 2 (*)43
Result=C:\cache\google.ru\#_

02.05.11 11:50:15,781 # 2 (*) ExistsCacheFileName
Result=C:\cache\google.ru\#_

02.05.11 11:50:15,781 (*) #2 <<< URL: http://www.google.ru/
Result=C:\cache\google.ru\#_

02.05.11 11:50:15,781 # 2 <<< URL: http://www.google.ru/
FileName=C:\cache\google.ru\#_ LuaResult=

02.05.11 11:50:15,781 # 2: DNS resolve www.google.ru --> 209.85.149.106 (From cache)

02.05.11 11:50:15,781 # 2/3 >>> URL: http://www.google.ru/
GET / HTTP/1.1
Host: www.google.ru
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.7) Gecko/20091221 Firefox/3.5.7
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru,en-us;q=0.7,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive
Cookie: PREF=ID=6f5ba2639dcb5b56:U=12b9d51233d7d989:FF=0:NW=1:TM=1303757098:LM=1303757194:S=p_2cpHJWuw6aqwY7; NID=46=EiPGuFPCeqCxCAikND1lMeU30BkDnTpdXsTagsra6liN-bLDMygdavVFb3mdmPnvuXJnuy1_Q1pHXJxqZYn-enk-DyNc0OXoMdDQLeusolk1vNNrEjxcldWImqG2vMOO
Cache-Control: max-age=0
If-Modified-Since: Mon, 02 May 2011 07:45:36 GMT


02.05.11 11:50:15,781 # 2 <<< URL: http://www.google.ru/
Connection to 209.85.149.106:80

02.05.11 11:50:16,296 # 2 <<< URL: http://www.google.ru/
Sleep(ConnectRepeatPause)

02.05.11 11:50:19,296 # 2 <<< URL: http://www.google.ru/
Connection to 209.85.149.106:80

02.05.11 11:50:19,796 # 2 <<< URL: http://www.google.ru/
Sleep(ConnectRepeatPause)

02.05.11 11:50:22,812 # 2 <<< URL: http://www.google.ru/
Connection to 209.85.149.106:80

02.05.11 11:50:23,312 # 2 <<< URL: http://www.google.ru/
Sleep(ConnectRepeatPause)

02.05.11 11:50:26,312 # 2 <<< URL: http://www.google.ru/
Connection to 209.85.149.106:80

02.05.11 11:50:26,828 # 2 <<< URL: http://www.google.ru/
Sleep(ConnectRepeatPause)

02.05.11 11:50:29,843 # 2 <<< URL: http://www.google.ru/
Connection to 209.85.149.106:80

02.05.11 11:50:30,375 # 2 <<< URL: http://www.google.ru/
Sleep(ConnectRepeatPause)


02.05.11 11:50:33,968 # 2 <<< URL: http://www.google.ru/
Connection to 209.85.149.106:80

02.05.11 11:50:33,968 # 2 <<< URL: http://www.google.ru/
Sleep(ConnectRepeatPause)

02.05.11 11:50:37,656 # 2 <<< URL: http://www.google.ru/
Connection to 209.85.149.106:80

02.05.11 11:50:37,656 # 2 <<< URL: http://www.google.ru/
Sleep(ConnectRepeatPause)

02.05.11 11:50:42,156 # 2 <<< URL: http://www.google.ru/
Connection to 209.85.149.147:80

02.05.11 11:50:42,156 # 2 <<< URL: http://www.google.ru/
Sleep(ConnectRepeatPause)

02.05.11 11:50:45,625 # 2 <<< URL: http://www.google.ru/
Connection to 209.85.149.147:80

02.05.11 11:50:45,640 # 2 <<< URL: http://www.google.ru/
Sleep(ConnectRepeatPause)

02.05.11 11:50:48,921 # 2 <<< URL: http://www.google.ru/
Connection to 209.85.149.147:80

02.05.11 11:50:48,921 # 2:  Outbound Connection failed

02.05.11 11:50:48,937 # 2 <<< URL: http://www.google.ru/
HTTP/1.1 504 Gateway Timeout (HC)
Server: HandyCache/1.00 RC3 (1.0.0.337)
Content-Type: text/html
Content-Length: 157
Connection: Keep-alive


02.05.11 11:50:48,937 # 2:  Client Disconnection




А вот НЕПОСРЕДСТВЕННО та часть лога, о которой весь "сыр-бор":
Код:
Попытка №1
02.05.11 11:50:15,781 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.106:80
02.05.11 11:50:16,296 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №2
02.05.11 11:50:19,296 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.106:80
02.05.11 11:50:19,796 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №3
02.05.11 11:50:22,812 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.106:80
02.05.11 11:50:23,312 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №4
02.05.11 11:50:26,312 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.106:80
02.05.11 11:50:26,828 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №5
02.05.11 11:50:29,843 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.106:80
02.05.11 11:50:30,375 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №6
02.05.11 11:50:33,968 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.106:80
02.05.11 11:50:33,968 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №7
02.05.11 11:50:37,656 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.106:80
02.05.11 11:50:37,656 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №8
02.05.11 11:50:42,156 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.147:80
02.05.11 11:50:42,156 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №9
02.05.11 11:50:45,625 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.147:80
02.05.11 11:50:45,640 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №10
02.05.11 11:50:48,921 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.147:80
02.05.11 11:50:48,921 # 2:  Outbound Connection failed

02.05.11 11:50:48,937 # 2 <<< URL: http://www.google.ru/
HTTP/1.1 504 Gateway Timeout (HC)
Server: HandyCache/1.00 RC3 (1.0.0.337)
Content-Type: text/html
Content-Length: 157
Connection: Keep-alive


02.05.11 11:50:48,937 # 2:  Client Disconnection



Видно, что до 5-й попытки включительно кэнди действительно не сразу после отправки запроса уходит в "sleep" (в пассивное ожидание), а через ConnectTimeOut миллисекунд.

Но начиная с 6-й попытки - сразу же.
А в моих предыдущих опытах было что уже со 2-й.
Т.е. виден прогресс.
Но всё равно остаётся вопрос, почему фаза активного ожидания (длящаяся ConnectTimeOut миллисекунд) присутствует не во всех попытках?
Добавлено: 02 Мая 2011, 12:16:02

Вот ещё логи с другими параметрами.
Код:
02.05.11 12:27:59,375 # 2: Start connection from client

...

Попытка №1
02.05.11 12:27:59,375 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.99:80
02.05.11 12:27:59,875 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №2
02.05.11 12:28:02,890 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.99:80
02.05.11 12:28:03,687 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №3
02.05.11 12:28:06,968 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.99:80
02.05.11 12:28:06,984 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №4
02.05.11 12:28:10,781 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.99:80
02.05.11 12:28:10,796 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №5
02.05.11 12:28:13,968 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.99:80
02.05.11 12:28:13,984 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №6
02.05.11 12:28:17,453 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.99:80
02.05.11 12:28:17,468 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №7
02.05.11 12:28:21,437 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.99:80
02.05.11 12:28:21,437 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №8
02.05.11 12:28:25,078 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.99:80
02.05.11 12:28:25,078 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №9
02.05.11 12:28:28,578 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.99:80
02.05.11 12:28:28,578 # 2 <<< URL: http://www.google.ru/ Sleep(ConnectRepeatPause)

Попытка №10
02.05.11 12:28:32,109 # 2 <<< URL: http://www.google.ru/ Connection to 209.85.149.99:80
02.05.11 12:28:32,109 # 2:  Outbound Connection failed
02.05.11 12:28:32,109 # 2 <<< URL: http://www.google.ru/
HTTP/1.1 504 Gateway Timeout (HC)
Server: HandyCache/1.00 RC3 (1.0.0.337)
Content-Type: text/html
Content-Length: 157
Connection: Keep-alive


02.05.11 12:28:32,125 # 2:  Client Disconnection


Видно что уже с третье попытки время активного ожидания явно не 0,5 сек, а стремиться к нулю
Добавлено: 02 Мая 2011, 12:40:17

Кстати.
Вот ещё что обнаружил: когда кэнди переходит в состояние, при котором он в каждой попытке установить соединение уже не вставляет фазу активного ожидания, равного ConnectTimeOut миллисекунд, он в лог файл вставляет лишнюю пустую строку (\r\n).

А вот закономерность, по которой он переходит в это состояние я так и не понял.
Потому что это происходит то на 2-й попытке из 10, то на 3-й, то на 6-й из 10.

Может разработчик программы пояснит этот момент?

Добавлено: 02 Мая 2011, 13:20:26

Уважаемый mai62 !
"Бьём Вам челом"(с), так сказать.
Ради Бога поясните, при каких условиях Ваша программа переходит в состояние (которое индицируется вставкой пустой строки в логе), при котором она шлёт запросы на установку соединения с сервером , а вот сеть (т.е. ответы сервера) при этом не слушает?
Т.е. в состоянии когда при очередной попытке связаться с сервером нет задержки между "Connection to ..." и "Sleep(ConnectRepeatPause)", равной ConnectTimeOut.

А то у меня, как я писал выше, иногда это происходит со 2-й попытки из 10, иногда с 3-й из 10, иногда с 6-й из 10. Закономерность я так и не смог уловить, хотя экспериментировал с различными наборами параметров


* ACDSee6 BMP Image.JPG (11.17 Кб, 411x82 - просмотрено 44 раз.)

* ACDSee6 BMP Image2.JPG (29 Кб, 228x462 - просмотрено 47 раз.)
Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #166 : 02 мая 2011, 15:00:21 »
ПроцитироватьЦитировать

ConnectTimeOut - время, которое НС согласен ждать запрошенное соединение. Но это не значит, что в установлении соединения ему не может быть отказано до истечения указанного времени.
Сообщить модератору   Записан
Доктор ТуамОсес
Гость
« Ответ #167 : 02 мая 2011, 16:36:38 »
ПроцитироватьЦитировать

ConnectTimeOut - время, которое НС согласен ждать запрошенное соединение. Но это не значит, что в установлении соединения ему не может быть отказано до истечения указанного времени.
Естественно.

Но как Вы объяснить что у меня в логе (начиная с некоторой попытки) вообще нет задержки между "Connection to ..." и "Sleep(ConnectRepeatPause)"?   Читай доки!

Не может же сервер прислать отказ в соединение через 0мС.

Т.е. почему начиная с некоторой попытки кенди перестаёт слушать сеть: пошлёт запрос на установление соединения и сразу же перейдёт в sleep (режим пассивного ожидания (не слушает сеть)) момента начала следующей отправки запроса.)
Добавлено: 02 Мая 2011, 15:23:17

Может я говорю кажущиеся Вам, mai62, глупыми вещи.
Но прошу Вас без обид.
Потому что я ведь не разработчик HandyCache (поэтому, естественно, не в курсе, как там Вы что задумывали) и глубоко не разбирался в HTTP протоколах (хотя кое-какие понятия имею, некоторые доки почитывал), поэтому мне простительно.
Я просто говорю о том, что установил опытным путём.

Добавлено: 02 Мая 2011, 15:47:24

И ещё вопросы по параметру "ConnectTimeOut".
1) Он используется только на стадии установления соединения с сервером? Или на стадии получения данных от сервера тоже?
2) Если строки "ConnectTimeOut" вообще нет в .ini-файле, что чему будет равно дефолтное значение ConnectTimeOut?


Сообщить модератору   Записан
mai62
Автор HC
*****

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

Сообщений: 6383


« Ответ #168 : 02 мая 2011, 16:38:51 »
ПроцитироватьЦитировать

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

Как было задумано Вам уже рассказали. Каких-то других, тайных алгоритмов нет.

P. S. Не надо писать, что НС "слушает сеть" или не "слушает сеть". Это словосочетание принято использовать при описании других процессов, не тех, что мы здесь обсуждаем.
Добавлено: 02 Мая 2011, 16:37:30

1) Только при установлении соединения.
2) 2000 мсек.
Сообщить модератору   Записан
Доктор ТуамОсес
Гость
« Ответ #169 : 02 мая 2011, 18:28:32 »
ПроцитироватьЦитировать

Цитата: mai62
Между НС и сервером много промежуточных узлов (часть из них находится на Вашем же компьютере). Я не то, что не могу угадать какой из них в данный момент времени сделал невозможным соединение с данным сервером, я не могу даже сказать сколько этих промежуточных узлов.
Я, как бы, в курсе. И мой вопрос был не об этом

Цитата: mai62
НС не может повлиять на то, сколько именно времени будет длиться попытка установить соединение. Все, что он может в этом плане сделать, это указать максимальное время, отведенное на эту операцию.
Про это я тоже в курсе. Но мой вопрос был не об этом.
P.S. Кстати, не совсем верно, что "НС не может повлиять"™ на то, сколько времени будет длиться установление соединения.
Отчасти может.
Ведь если HC после каждой очередной неудавшейся попытки установить соединение будет слишком долго выжидать перед отправкой очередного запроса на установление соединения, то время установления соединения будет неоправданно большим. Так что, как видите, от HC вcё же кое-что зависит.
Добавлено: 02 Мая 2011, 18:06:47

Цитата: mai62
Цитата: Доктор ТуамОсес
И ещё вопросы по параметру "ConnectTimeOut".
1) Он используется только на стадии установления соединения с сервером? Или на стадии получения данных от сервера тоже?
2) Если строки "ConnectTimeOut" вообще нет в .ini-файле, что чему будет равно дефолтное значение ConnectTimeOut?
1) Только при установлении соединения.
2) 2000 мсек.

Спасибо.
А в HELP-е/FAQ-е про это нет ни слова. Хорошо бы было внести туда эту информацию
Добавлено: 02 Мая 2011, 18:11:32

Цитата: mai62
P. S. Не надо писать, что НС "слушает сеть" или не "слушает сеть". Это словосочетание принято использовать при описании других процессов, не тех, что мы здесь обсуждаем.
О'кей.
Тогда предложите свою терминологию.
Какими словами и терминами описать ту ситуацию, что в работе HC есть промежутки времени (фазы, стадии, периоды, ...  или назовите это сами, как хотите), когда пришедший по сети пакет обрабатывается, а есть такие промежутки времени, когда пришедший по сети пакет игнорируется (когда HC находится в состоянии sleep).

Я предложил термины "активное ожидание ответа сервера" и "пассивное ожидание  ответа сервера".

Что предложите Вы?
Добавлено: 02 Мая 2011, 18:18:26

И, кстати, mai62
Вы так и не ответили на вопрос:
Естественно.

Но как Вы объяснить что у меня в логе (начиная с некоторой попытки) вообще нет задержки между "Connection to ..." и "Sleep(ConnectRepeatPause)"?   Читай доки!

Не может же сервер прислать отказ в соединение через 0мС.

Т.е. почему начиная с некоторой попытки кенди перестаёт слушать сеть: пошлёт запрос на установление соединения и сразу же перейдёт в sleep

Добавлено: 02 Мая 2011, 18:21:10

И, кстати, если сервер пришлёт отказ от установления соединения или какой-нить код ошибки, разве это не будет отражено в логах HC?
Сообщить модератору   Записан
Доктор ТуамОсес
Гость
« Ответ #170 : 03 мая 2011, 10:31:14 »
ПроцитироватьЦитировать

Как я понимаю ответа не будет?
Сообщить модератору   Записан
DenZzz
Модератор
*****

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

Сообщений: 5589



« Ответ #171 : 03 мая 2011, 13:36:57 »
ПроцитироватьЦитировать

Цитата: Доктор ТуамОсес
Но как Вы объяснить что у меня в логе (начиная с некоторой попытки) вообще нет задержки между "Connection to ..." и "Sleep(ConnectRepeatPause)"?   
Не может же сервер прислать отказ в соединение через 0мС.

Тебе уже ответили:

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

Отказать в соединении могла система (TCP/IP стек) на твоем ПК или твой провайдер (сотовая сеть), поэтому HC узнал об этом до того, как истек ConnectTimeOut, и потому раньше ушел в ConnectRepeatPause.
Сообщить модератору   Записан
Доктор ТуамОсес
Гость
« Ответ #172 : 07 мая 2011, 22:26:33 »
ПроцитироватьЦитировать

Тебе уже ответили:

Отказать в соединении могла система (TCP/IP стек) на твоем ПК или твой провайдер (сотовая сеть), поэтому HC узнал об этом до того, как истек ConnectTimeOut, и потому раньше ушел в ConnectRepeatPause.


Но странно, что это досрочное истечение "Connection to ..."и уход в SLEEP начиная с некоторой попытки происходит ВСЕГДА АККУРАТ ЧЕРЕЗ 0мС/15...16мС. (чему там равен тик системного таймера в венде? Уж не 15,5 ли миллисекунд? И как это сервер может успеть так быстро отказать в соединении если пинг большинства сайтов больше 15 миллисекунд?).
И можно хоть сто тысяч миллионов попыток сделать, но если начиная с некоторой попытки "Connection to ..." прерывается досрочно на  0-й/15(16)-й миллисекунде, то во всех последующих попытках "Connection to ..." также будет прерываться на 0-й/15(16)-й миллисекунде и соединение не будет установлено никогда. Но стоит только увеличить ConnectTimeOut, так соединение сразу же успешно устанавливается.

Если это не баг HC, то очень хотелось бы услышать версию объяснения такого странного поведения HC от автора программы.

И ещё такие мысли возникли (я обращаюсь к разработчику): нельзя ли сделать так, чтобы HC обнаруживал эту ситуацию (уход в "sleep" через 0/15(16) мс после "Connection to ..." - т.е. фактически невозможность установить соединение при данном  значении  ConnectTimeOut) и автоматом увеличивал  ConnectTimeOut для данного сайта?
Ну т.е. чтобы HC начинал конектиться с сайтом со значения ConnectTimeOut, указанного в ini-файле. И в случае если на некоторой попытке имеем уход из "Connection to ..."в "sleep" менее чем через 16мс HC автоматом увеличивает ConnectTimeOut
« Последнее редактирование: 07 мая 2011, 22:47:28 от Доктор ТуамОсес » Сообщить модератору   Записан
DIGGER
Старожил
****

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

Сообщений: 312



« Ответ #173 : 15 мая 2011, 18:10:00 »
ПроцитироватьЦитировать

Цитировать
и уход в SLEEP начиная с некоторой попытки
Винду патчили для снятия лимита соединений? (в реестре себе сами не зарезали лимит?)

Я раньше тоже мучался с HC с этими тайм аутами, а потом "сменил провайдера" и о чудо Улыбка

P.S. в кавычках потому что не провайдера сменил, а сменился вышестоящий провайдер. Вышестоящий провайдер резал нам сессии по тайм ауту (5сек. нет ответа - kill)
Сообщить модератору   Записан
Доктор ТуамОсес
Гость
« Ответ #174 : 15 мая 2011, 22:01:19 »
ПроцитироватьЦитировать

Винду патчили для снятия лимита соединений? (в реестре себе сами не зарезали лимит?)

Я раньше тоже мучался с HC с этими тайм аутами, а потом "сменил провайдера" и о чудо Улыбка

P.S. в кавычках потому что не провайдера сменил, а сменился вышестоящий провайдер. Вышестоящий провайдер резал нам сессии по тайм ауту (5сек. нет ответа - kill)
Вы имеете пропускную способность, которую венда резервирует для своих целей (например для фонового упдейта)? Да. Патчил.

А потом, нет никаких "мучений".

Я просто изменил таймаут с 2-х до 5-ти сек и всё стало ОК. Все сайты успешно грузятся.

Просто речь о том, что это не очень рационально.

Ведь есть сайты, которые у меня грузятся даже при таймауте в 0,3 сек.

Но из-за "тормозных" сайтов приходится для всех сайтов делать таймаут равным 5 сек.
Из-за этого падает средняя скорость "вытаскивания" файлов из инета.

Поэтому я и предложил (выше) разработчику реализовать в HC некий "адаптивный" алгоритм суть которого я описал выше.
Сообщить модератору   Записан
DIGGER
Старожил
****

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

Сообщений: 312



« Ответ #175 : 16 мая 2011, 01:53:40 »
ПроцитироватьЦитировать

Цитировать
Вы имеете пропускную способность, которую венда резервирует для своих целей…
Нет. Патч на количество одновременных соединений для TCPIP.SYS + патч реестра.

Цитировать
Я просто изменил таймаут с 2-х до 5-ти сек и всё стало ОК.
Смотрите как у меня сейчас:


Раньше игрался со значениями 1, 2, 3, 5 и т.п., и рано или поздно находились сайты которые не грузились, или слишком медленная реакция была на быстрых сайтах. чаще всего тупили хостинги для картинок, думал что это сайты такие, а потом нашёл время и проверил Улыбка

Вообще, достаточно много нюансов желательно посмотреть прежде чем грешить на конкретную прогу.
« Последнее редактирование: 16 мая 2011, 02:00:16 от DIGGER » Сообщить модератору   Записан
Доктор ТуамОсес
Гость
« Ответ #176 : 16 мая 2011, 11:24:14 »
ПроцитироватьЦитировать

DIGGER!
Видите ли в чём дело.
Я почему стал "грешить" на программу.
Потому что сайты, которые медленно грузил (или вообще не грузил) HC, успешно грузились когда я заходил на них через другой проки (CoolProxy) или вообще без прокси.
Так что не в провайдере дело. И не в тонких настройках венды.
Сообщить модератору   Записан
DIGGER
Старожил
****

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

Сообщений: 312



« Ответ #177 : 16 мая 2011, 11:52:53 »
ПроцитироватьЦитировать

Цитировать
Я почему стал "грешить" на программу.
Потому что сайты, которые медленно грузил (или вообще не грузил) HC, успешно грузились когда я заходил на них через другой проки (CoolProxy) или вообще без прокси.
я Вам написал более сокращённо: "…а потом нашёл время и проверил". HC не заточен под работу на плохих каналах (потерю пакетов переживает грустно)
Сообщить модератору   Записан
Доктор ТуамОсес
Гость
« Ответ #178 : 16 мая 2011, 13:28:14 »
ПроцитироватьЦитировать

я Вам написал более сокращённо: "…а потом нашёл время и проверил". HC не заточен под работу на плохих каналах (потерю пакетов переживает грустно)
Дык я это и сказал в самом первом своём (в этой теме) сообщении, что я заметил, что CoolProxy лучше и "шустрей" "вытягивает" файлы с глючных/тормозных серваков, чем HC. А дальше пошли уже детали и догадки "почему бы это могло быть?"

Не смотря не это, по необъяснимым причинам, мне HC больше понравился, чем CoolProxy.
Если ещё разработчик подправит HC, чтобы он чаще и быстрей успешно "вытаскивал" файлы с "плохих" серваков, то альтернативы HC вообще не будет
« Последнее редактирование: 16 мая 2011, 13:35:39 от Доктор ТуамОсес » Сообщить модератору   Записан
Страниц: 1 ... 7 8 [9]   Вверх
  Ответ    Отправить эту тему    Печать  

 
Перейти в:  

+ Быстрый ответ
С быстрым ответом Вы также можете использовать BB код и смайлы.