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