From owner-freebsd-performance@FreeBSD.ORG Mon Oct 22 14:40:35 2007 Return-Path: Delivered-To: freebsd-performance@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id B456F16A418 for ; Mon, 22 Oct 2007 14:40:35 +0000 (UTC) (envelope-from lex@sandy.ru) Received: from adm.sci-nnov.ru (adm.sci-nnov.ru [195.122.226.2]) by mx1.freebsd.org (Postfix) with ESMTP id 5F80613C48D for ; Mon, 22 Oct 2007 14:40:35 +0000 (UTC) (envelope-from lex@sandy.ru) Received: from vista (rb-vista.sci-nnov.ru [193.125.71.25]) by adm.sci-nnov.ru (Postfix) with ESMTP id B2DC619EA94 for ; Mon, 22 Oct 2007 18:18:44 +0400 (MSD) From: "Alex A. Pavlenko" To: Date: Mon, 22 Oct 2007 18:18:44 +0400 Message-ID: <096201c814b6$7476df50$7cf0f00a@corporate.sandy.ru> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Mailer: Microsoft Office Outlook 11 X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2900.3198 Thread-Index: AcgUtnQEdkJWWH7NT4uRMeraobWVUw== Subject: Packet loss problem. X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 22 Oct 2007 14:40:35 -0000 Hi, I'm not quite sure if it is write list for this question, so please forgive me if it is really so. The background is as follows. Hardware is HP Proliant DL380 G5 server with 2 3Ghz Xeon CPUs and 2 on-board Broadcom NICs(bge). Software - FreeBSD 6.2-STABLE, pf, ipfw+DUMMYNET. The only job for this server is to provide NAT(pf) and traffic-shape(dummynet) services for customers. It works fine while summary packet rate of incoming packets on both interfaces is no more than about 50 Kpps. With higher rates it starts to loose packets, 2% and more depending on incoming network traffic. At this time net.inet.ip.intr_queue_drops counter increases very fast, a few thousands per second. What I can not understand is that at the same time CPU load dedicated to interrupts is about 30%. The rest is dedicated to CPU idle state according to `top` command. I'm not the OS guru so I can interpret statistics above incorrectly, but my assumption is that OS uses only 1 of 4 CPUs cores to process incoming packets, other three cores perform a small amount of other system jobs. So what I would like to ask you is to give the right explanation for such behaviour. Also any suggestions to improve performance would be great since this service is very critical for our company. Thank you very much for any responses. -- Alex.