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>