Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 2 Feb 2012 10:59:12 +0200
From:      =?utf-8?B?0JrQvtC90YzQutC+0LIg0JXQstCz0LXQvdC40Lk=?= <kes-kes@yandex.ru>
To:        Andrey Zonov <andrey@zonov.org>
Cc:        freebsd-net@freebsd.org, "Alexander V. Chernikov" <melifaro@FreeBSD.org>
Subject:   Re[2]: netisr defered - active only one thread
Message-ID:  <1446971288.20120202105912@yandex.ru>
In-Reply-To: <4F2A2EAB.3010700@zonov.org>
References:  <4F29A464.3080302@zonov.org> <4F29E2C8.5000909@FreeBSD.org> <4F2A2EAB.3010700@zonov.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Здравствуйте, Andrey.

Вы писали 2 февраля 2012 г., 8:35:23:

AZ> On 02.02.2012 5:11, Alexander V. Chernikov wrote:
>> On 01.02.2012 20:45, Andrey Zonov wrote:
>>> Hi,
>>>
>>> I'm trying to tune machine with 8.2-STABLE for heavy network load and
>>> now playing with netisr. Could anyone explain me why actually works only
>>> one netisr thread if I set them to 8?
>>
>> Can you please supply `nestat -Q` output and clarify you usage pattern ?
>> (I mean, this is router/web server/some kind of traffic receiver/etc..).
>> For example, flow policy does not balance traffic from single flow
>> between different CPUs.
>>

AZ> This is a web server with multiple nginx instances.  5k/sec accepted 
AZ> connections.  Input packet rate is 35kpps, output - 25kpps.

AZ> I thought of changing policy for IP, but how can I do this (without 
AZ> patching)?  Is it safe?

AZ> netstat -Q (I turned on direct & direct force for now):
AZ> Configuration:
AZ> Setting                          Value      Maximum
AZ> Thread count                         8            8
AZ> Default queue limit                256        10240
AZ> Direct dispatch                enabled          n/a
AZ> Forced direct dispatch         enabled          n/a
AZ> Threads bound to CPUs          enabled          n/a

AZ> Protocols:
AZ> Name   Proto QLimit Policy Flags
AZ> ip         1   5000   flow   ---
AZ> igmp       2    256 source   ---
AZ> rtsock     3    256 source   ---
AZ> arp        7    256 source   ---
AZ> ip6       10    256   flow   ---

AZ> Workstreams:
AZ> WSID CPU   Name     Len WMark   Disp'd  HDisp'd   QDrops   Queued Handled
AZ>     0   0  ip         0     0  1125716        0        0        0 1125716
AZ>            igmp       0     0        0        0        0        0
AZ>            rtsock     0     1        0        0        0      102 102
AZ>            arp        0     0       27        0        0        0 27
AZ>            ip6        0     0        0        0        0        0
AZ>     1   1  ip         0     0  1222701        0        0        0 1222701
AZ>            igmp       0     0        0        0        0        0
AZ>            rtsock     0     0        0        0        0        0
AZ>            arp        0     0       46        0        0        0 46
AZ>            ip6        0     0        0        0        0        0
AZ>     2   2  ip         0     0  1184381        0        0        0 1184381
AZ>            igmp       0     0        0        0        0        0
AZ>            rtsock     0     0        0        0        0        0
AZ>            arp        0     0       45        0        0        0 45
AZ>            ip6        0     0        0        0        0        0
AZ>     3   3  ip         0     0  1191094        0        0        0 1191094
AZ>            igmp       0     0        0        0        0        0
AZ>            rtsock     0     0        0        0        0        0
AZ>            arp        0     0       54        0        0        0 54
AZ>            ip6        0     0        0        0        0        0
AZ>     4   4  ip         0     0   846165        0        0        0 846165
AZ>            igmp       0     0        0        0        0        0
AZ>            rtsock     0     0        0        0        0        0
AZ>            arp        0     0       19        0        0        0 19
AZ>            ip6        0     0        0        0        0        0
AZ>     5   5  ip         0     0   849478        0        0        0 849478
AZ>            igmp       0     0        0        0        0        0
AZ>            rtsock     0     0        0        0        0        0
AZ>            arp        0     0       27        0        0        0 27
AZ>            ip6        0     0        0        0        0        0
AZ>     6   6  ip         0     0   870836        0        0        0 870836
AZ>            igmp       0     0        0        0        0        0
AZ>            rtsock     0     0        0        0        0        0
AZ>            arp        0     0       29        0        0        0 29
AZ>            ip6        0     0        0        0        0        0
AZ>     7   7  ip         0  5000   594320        5   910862  3453459 4047784
AZ>            igmp       0     0        0        0        0        0
AZ>            rtsock     0     0        0        0        0        0
AZ>            arp        0     5       21        0        0      109 130
AZ>            ip6        0     1        0        0        0        1

same problem, it is because one netisr take 100% so other threads
stops?? to work fine. or packet scheduler has disbalanced scheduler
and still trying to schedule packet to netisr:7 despite on it is 100%
busy.



-- 
С уважением,
 Коньков                          mailto:kes-kes@yandex.ru




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1446971288.20120202105912>