Re: Помогите найти затыки в сети на FreeBSD

Igor Sysoev igor на sysoev.ru
Ср Янв 13 23:16:09 MSK 2010


On Wed, Jan 13, 2010 at 09:59:33PM +0200, Alex Vorona wrote:

> 13.01.2010 21:23, Igor Sysoev wrote:
> > On Wed, Jan 13, 2010 at 08:38:29PM +0300, Денис wrote:
> > 
> >> Здравствуйте.
> >>
> >> Вы писали 13 января 2010 г., 18:37:08:
> >>
> >>> Здравствуйте.
> >>>> Есть сервер на FreeBSD 7.2 на котором стоит nginx + apache. Раздает в
> >>>> основном кучу мелких файлов ~ 1mb. В часы пик начинаются затыки в
> >>>> сети. Например возрастает пинг до любого внешнего хоста, а часть
> >>>> пакетов пропадает. И естественно перед открытием страниц долгое время
> >>>> ожидания по несколько секунд.
> >>> Скорости на езернетах какие ? Дуплексы правильно выставлены ? Провайдер
> >>> точно не режет полосу ?
> >>> В 100 мегабит точно не упираетесь ?
> >> Канал у провайдера 100 мбит.
> >> Вот загрузка в час пик:
> >>             em0  in    289.689 KB/s        567.416 KB/s          320.036 MB
> >>                  out     4.465 MB/s         11.422 MB/s            6.580 GB
> > 
> > 11.4Mbyte/s - это почти 100Mbit/s. Полоса кончилась.
> > 
> >> А вот так выглядит пинг до яндекса:
> >> 64 bytes from 77.88.21.8: icmp_seq=11 ttl=59 time=1.436 ms
> >> 64 bytes from 77.88.21.8: icmp_seq=12 ttl=59 time=1.406 ms
> >> 64 bytes from 77.88.21.8: icmp_seq=13 ttl=59 time=39.986 ms
> >> 64 bytes from 77.88.21.8: icmp_seq=15 ttl=59 time=61.922 ms
> >> 64 bytes from 77.88.21.8: icmp_seq=16 ttl=59 time=77.143 ms
> >> 64 bytes from 77.88.21.8: icmp_seq=17 ttl=59 time=68.733 ms
> >> 64 bytes from 77.88.21.8: icmp_seq=18 ttl=59 time=61.593 ms
> >> ping: sendto: No buffer space available
> >> 64 bytes from 77.88.21.8: icmp_seq=21 ttl=59 time=73.009 ms
> >> 64 bytes from 77.88.21.8: icmp_seq=22 ttl=59 time=63.986 ms
> >>
> >> И что может означать сообщение: ping: sendto: No buffer space
> >> available?
> > 
> > Все буфера сетёвой карты заняты.
> > 
> А как их увеличить на freebsd, даже в ущерб отклику.

Насколько я понимаю, только в исходниках:

/sys/net/if.h:#define	IFQ_MAXLEN	50

Но не уверен, что будет лучше.
А вот полный список очередей в разных интерфейсах:
grep -ir ifq_maxlen /sys/net/


-- 
Игорь Сысоев
http://sysoev.ru



Подробная информация о списке рассылки nginx-ru