Hello, Vadim Goncharov!

On Mon, Mar 21, 2011 at 04:03:25PM +0600
vadimnucli...@tpu.ru wrote about "Re: [freebsd] em, input errors and kernel 
load":
> 19.03.11 @ 11:56 Lystopad Aleksandr wrote:
> 
> >>                                  called/total       parents
> >>index  %time    self descendents  called+self    name    index
> >>                                  called/total       children
> >>
> >>              485.00   227154.59  678354/678354      ipfw_nat [8]
> >>[10]    36.0  485.00   227154.59  678354         LibAliasIn [10]
> >>             151066.41        1.70  678355/799402      _mtx_lock_sleep  
> >>[11]
> >>             1053.00    75033.48     794/794         LibAliasInLocked  
> >>[14]
> >>
> >>То есть, несколько тредов одновременно постоянно дерутся за доступ к
> >>instance ната - оно не параллелится. Решение: натить в несколько внешних
> >>IP-адресов, для каждого заводить отдельный инстанс libalias (ipfw nat).
> >
> >Вадим, можно мне пояснить, вернее разжевать, такое: нагрузка в emX:
> >taskq. Так? В первых постах топикстартер показывает свой трафик:
> >7-10кппс и 7-9МБс. На такой нагрузке нат как бы не должен
> >выпендриваться. Почему вспсплески по CPU у топикстартера получаются?
> >
> >У меня более слабая машинка натила под 200мбит без проблем!
> 
> Это значит, что ему попался такой паттерн трафика, на котором у libalias  
> возникают проблемы. У хэш-функций такое не редкость, что некоторые  
> граничные случаи приводят к большому количеству коллизий (а хэш в libalias  
> довольно тупой), вероятно, топикстартеру как раз и не повезло. Впрочем,  
> такие проседания случаются время от времени, я бы предположил, что во  
> время чистки старых записей в таблице.

Вадим, пожалуйста, объясни это поподробней. Очень интересно. Как
работает эта хэш-функция. Опиши подобный граничный случай. Может, с
твоей помощью уйдет PR разработчикам и freebsd станет чуточку лучше?
;)

-- 
 Lystopad Olexandr 

Ответить