Автор Тема: Злостный таймаут в gettimeofday()  (Прочитано 1462 раз)

Оффлайн crontab

  • Участник
  • *
  • Сообщений: 81
Продолжаю расследование сетевых незадач, проявляющихся в виде лютых тормозов.

strace -f wget www.любойсайт.любойдомен выдаёт вот чего:

Тыры-пыры...
gettimeofday({1389713555, 570444}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 4977)  = 0 (Timeout)
...восемь дыры...
gettimeofday({1389713560, 554867}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 4998)  = 0 (Timeout)
...но и это ещё не всё...
gettimeofday({1389713565, 560821}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 4998)  = 0 (Timeout)
...едем далее...
gettimeofday({1389713555, 570444}, NULL) = 0
poll([{fd=3, events=POLLIN}], 1, 4977)  = 0 (Timeout)
...ещё много таймаутов, после которых искомое загружается.

Визуально всё это дело тормозится секунд на двадцать-двадцать пять (KDesktop 7), в живущей в виртуалке шестёрке ничего подобного нет.

В /etc/nsswitch.conf:

hosts:      files mdns4_minimal [NOTFOUND=return] dns myhostname
В /etc/resolv.conf:

nameserver 192.168.1.1
это роутер, по dhcp раздающий интернет.

$ resolve www.любойсайт.любойдомен возвращает адрес моментально, без задержек.
« Последнее редактирование: 14.01.2014 21:03:09 от crontab »

Оффлайн crontab

  • Участник
  • *
  • Сообщений: 81
Re: Злостный таймаут в gettimeofday()
« Ответ #1 : 14.01.2014 21:50:53 »
Интересное кино. Прописал в resolv.conf гугловский dns 8.8.8.8, всё работает как надо, без тормозов. Прописал dns провайдера - тоже работает. Убрал всё, оставил dhcp роутера - тормоза.

Но как, Холмс?.. Оно понятно, что можно на этом и закончить, но хочется разобраться в причинах.

Оффлайн Skull

  • Глобальный модератор
  • *****
  • Сообщений: 20 160
    • Домашняя страница
Re: Злостный таймаут в gettimeofday()
« Ответ #2 : 15.01.2014 00:31:01 »
Интересное кино. Прописал в resolv.conf гугловский dns 8.8.8.8, всё работает как надо, без тормозов. Прописал dns провайдера - тоже работает. Убрал всё, оставил dhcp роутера - тормоза.

Но как, Холмс?.. Оно понятно, что можно на этом и закончить, но хочется разобраться в причинах.
Смотрите в сторону роутера.
Андрей Черепанов (cas@)

Оффлайн crontab

  • Участник
  • *
  • Сообщений: 81
Re: Злостный таймаут в gettimeofday()
« Ответ #3 : 15.01.2014 10:17:35 »
Смотрите в сторону роутера.

Строго посмотрел на роутер. В чём же он виноват? Стоит, мигает лампочками, раздаёт сеть на айпед, телефоны, нетбук и машину с kdesktop 7 - все, кроме kdesktop 7, всё получают. Даже kdesktop 6, установленная на ней в виртуалке.
« Последнее редактирование: 15.01.2014 11:04:27 от crontab »