netisr defered - active only one thread
Коньков Евгений
kes-kes at yandex.ru
Thu Feb 2 08:59:37 UTC 2012
Здравствуйте, 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 at yandex.ru
More information about the freebsd-net
mailing list