From owner-freebsd-performance@FreeBSD.ORG Sun Oct 11 20:50:20 2009 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 451ED1065672 for ; Sun, 11 Oct 2009 20:50:20 +0000 (UTC) (envelope-from lists@stringsutils.com) Received: from zoraida.natserv.net (p65-147.acedsl.com [66.114.65.147]) by mx1.freebsd.org (Postfix) with ESMTP id 180388FC1E for ; Sun, 11 Oct 2009 20:50:19 +0000 (UTC) Received: from shelca (zoraida.natserv.net [66.114.65.147]) by zoraida.natserv.net (Postfix) with ESMTP id E4DEA1704F; Sun, 11 Oct 2009 16:50:18 -0400 (EDT) References: <1255189612.42461.net.help@m2k.com.tw> Message-ID: X-Mailer: http://www.courier-mta.org/cone/ From: Francisco Reyes To: net.help@m2k.com.tw Date: Sun, 11 Oct 2009 16:50:10 -0400 Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="US-ASCII" Content-Disposition: inline Content-Transfer-Encoding: 7bit Cc: freebsd-performance Subject: Re: Migrate large amount of small files 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: Sun, 11 Oct 2009 20:50:20 -0000 Ckcheng writes: > 1. rsync > 2. tar .. If this is a migration I find that tar to the local machine, copy over, restore, then rsync are likely the best options. In my experience copying lots of small files is going to take a long time, no matter which method you use. >From all the combinations I have tried in the past tar first then rsync worked best for me. From owner-freebsd-performance@FreeBSD.ORG Sun Oct 11 21:06:53 2009 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 EDED6106568F for ; Sun, 11 Oct 2009 21:06:53 +0000 (UTC) (envelope-from mike@sentex.net) Received: from lava.sentex.ca (pyroxene.sentex.ca [199.212.134.18]) by mx1.freebsd.org (Postfix) with ESMTP id BC2CF8FC19 for ; Sun, 11 Oct 2009 21:06:53 +0000 (UTC) Received: from mdt-xp.sentex.net (simeon.sentex.ca [192.168.43.27]) by lava.sentex.ca (8.14.3/8.14.3) with ESMTP id n9BL6p7G074295; Sun, 11 Oct 2009 17:06:51 -0400 (EDT) (envelope-from mike@sentex.net) Message-Id: <200910112106.n9BL6p7G074295@lava.sentex.ca> X-Mailer: QUALCOMM Windows Eudora Version 7.1.0.9 Date: Sun, 11 Oct 2009 17:07:08 -0400 To: net.help@m2k.com.tw, "freebsd-performance" From: Mike Tancsa In-Reply-To: <1255189612.42461.net.help@m2k.com.tw> References: <1255189612.42461.net.help@m2k.com.tw> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii"; format=flowed Cc: Subject: Re: Migrate large amount of small files 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: Sun, 11 Oct 2009 21:06:54 -0000 At 11:46 AM 10/10/2009, Ckcheng wrote: >Hi all, >Currently, I have a directory with over 5M small files (1~32K). Now, >I want to transfer this directory to another machine and found >that it's extremely slow and painful process. I tried the following >method: It might help if you mount all -onoatime as well as bump up vfs.ufs.dirhash_maxmem to 4x the default size ---Mike >1. rsync >2. tar via ssh >3. tar via nc >(all take hours and hours to finish) > >None of them is able to give me a reasonable migration time. So, I'm >here for asking help. Any suggestion is extremely welcomed. Thank you. > >Btw, here is brief information of my server. (both machines are the same) > >OS: FreeBSD 6.4-Stable 64Bit >CPU: 2 x Xeon L5420 2.50GHz >RAM: 2 x 2G ECC DDR2-667 (full buffered) >DISK: Seagate Barracuda ES 16MB (SATA 300) >Network: 1Gbps (Broadcom BCM5708) >Filesystem: UFS2 > >Regards, >_______________________________________________ >freebsd-performance@freebsd.org mailing list >http://lists.freebsd.org/mailman/listinfo/freebsd-performance >To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org" -------------------------------------------------------------------- Mike Tancsa, tel +1 519 651 3400 Sentex Communications, mike@sentex.net Providing Internet since 1994 www.sentex.net Cambridge, Ontario Canada www.sentex.net/mike From owner-freebsd-performance@FreeBSD.ORG Sun Oct 11 23:18:58 2009 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 B048E1065676 for ; Sun, 11 Oct 2009 23:18:58 +0000 (UTC) (envelope-from jguojun@sbcglobal.net) Received: from web82207.mail.mud.yahoo.com (web82207.mail.mud.yahoo.com [209.191.86.102]) by mx1.freebsd.org (Postfix) with SMTP id 7E8A58FC17 for ; Sun, 11 Oct 2009 23:18:58 +0000 (UTC) Received: (qmail 44538 invoked by uid 60001); 11 Oct 2009 22:52:17 -0000 DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=s1024; d=sbcglobal.net; h=Message-ID:X-YMail-OSG:Received:X-Mailer:Date:From:Subject:To:In-Reply-To:MIME-Version:Content-Type; b=oP1nTVoqYAIXgq4gdY5eabOsgf1Y5PwqpM+d8TDEI2MUApCkaC8dikez3YItOtw3ZQ/Sl/klfdCkjign2l+SqCCtxslK0FFu4vV0fWPv9U3acB9+YZs88w5qIrBli3jRVg7I7U1AnWdz2A2RpcLhnwDyHmOZJDoHOb/LtCHdnds=; Message-ID: <598544.44269.qm@web82207.mail.mud.yahoo.com> X-YMail-OSG: OygjaHwVM1kn6at_QZiYj066zqxRdyYS8gsSAz2R8ecAPVBN1ZxyXluQCxPKBc9.O00K4QNdRxvxdtqF1BWbGkei4cvFoXJzowmPdRA6G2_bYwn6ZyWbGQu3mGkxVI8iDB.McaPDEiSS3Pe1ndq0DkNGo9sT6jxQt4F4CC5GnlJqCottMs8xVJkJo3859DNl7btTiV5YdtzINoVPzafbGwEilhXHEXNVyU6kuVhAIzE.xNckNWwUqQ08nHm7PcGFCkoPkZJAE.BswLF0EBDMSyGRG_9PESsno2t8QAaDlIG9nTm.6l6byGrn948xS9B8WqVhyIDU.BJD.WeCoviC06KOCf9yzCRgzb_chL6Epd.ulB.guOYei4.SX3cDMEGU8cw- Received: from [75.36.161.248] by web82207.mail.mud.yahoo.com via HTTP; Sun, 11 Oct 2009 15:52:17 PDT X-Mailer: YahooMailClassic/7.0.14 YahooMailWebService/0.7.347.3 Date: Sun, 11 Oct 2009 15:52:17 -0700 (PDT) From: Jin Guojun To: net.help@m2k.com.tw, freebsd-performance , Mike Tancsa In-Reply-To: <200910112106.n9BL6p7G074295@lava.sentex.ca> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: Subject: Re: Migrate large amount of small files 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: Sun, 11 Oct 2009 23:18:58 -0000 The major factor affects the performance the the number of files in "PER" directory. If I got impression correct, there are 5M files in JUST one directory. If this is true, then it is the problem. The best way to avoid performance penalty is to sort different files into differet named directories. Each directory should contain about 1K files or less. Carefully tuned FS may have better performance for a directory conataining a few thousand files, but no more. If files are created by some state machine automatically, and you do not have a good sorting algorithm for directory naming, use Year-Month-week for auto directory naming. --- On Sun, 10/11/09, Mike Tancsa wrote: > From: Mike Tancsa > Subject: Re: Migrate large amount of small files > To: net.help@m2k.com.tw, "freebsd-performance" > Date: Sunday, October 11, 2009, 9:07 PM > At 11:46 AM 10/10/2009, Ckcheng > wrote: > >Hi all, > >Currently, I have a directory with over 5M small files > (1~32K). Now, > >I want to transfer this directory to another machine > and found > >that it's extremely slow and painful process. I tried > the following > >method: > > It might help if you mount all -onoatime as well as bump up > > vfs.ufs.dirhash_maxmem to 4x the default size > > ---Mike > > >1. rsync > >2. tar via ssh > >3. tar via nc > >(all take hours and hours to finish) > > > >None of them is able to give me a reasonable migration > time. So, I'm > >here for asking help. Any suggestion is extremely > welcomed. Thank you. > > > >Btw, here is brief information of my server. (both > machines are the same) > > > >OS: FreeBSD 6.4-Stable 64Bit > >CPU: 2 x Xeon L5420 2.50GHz > >RAM: 2 x 2G ECC DDR2-667 (full buffered) > >DISK: Seagate Barracuda ES 16MB (SATA 300) > >Network: 1Gbps (Broadcom BCM5708) > >Filesystem: UFS2 > > > >Regards, > >_______________________________________________ > >freebsd-performance@freebsd.org > mailing list > >http://lists.freebsd.org/mailman/listinfo/freebsd-performance > >To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org" > > -------------------------------------------------------------------- > Mike Tancsa, > > tel +1 519 651 3400 > Sentex Communications, > > mike@sentex.net > Providing Internet since 1994 > www.sentex.net > Cambridge, Ontario Canada > > www.sentex.net/mike > > _______________________________________________ > freebsd-performance@freebsd.org > mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-performance > To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org" > From owner-freebsd-performance@FreeBSD.ORG Mon Oct 12 07:44:38 2009 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 301381065672; Mon, 12 Oct 2009 07:44:38 +0000 (UTC) (envelope-from ohartman@zedat.fu-berlin.de) Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de [130.133.4.66]) by mx1.freebsd.org (Postfix) with ESMTP id AABF18FC1C; Mon, 12 Oct 2009 07:44:37 +0000 (UTC) Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost1.zedat.fu-berlin.de (Exim 4.69) with esmtp (envelope-from ) id <1MxFa8-0000Wg-DE>; Mon, 12 Oct 2009 09:44:36 +0200 Received: from telesto.geoinf.fu-berlin.de ([130.133.86.198]) by inpost2.zedat.fu-berlin.de (Exim 4.69) with esmtpsa (envelope-from ) id <1MxFa8-0004DV-Bd>; Mon, 12 Oct 2009 09:44:36 +0200 Message-ID: <4AD2DE71.5060601@zedat.fu-berlin.de> Date: Mon, 12 Oct 2009 07:44:49 +0000 From: "O. Hartmann" Organization: Freie =?ISO-8859-15?Q?Universit=E4t_Berlin?= User-Agent: Thunderbird 2.0.0.23 (X11/20090824) MIME-Version: 1.0 To: Steve Kargl References: <6729ad0409e449f8dbda69ecd8feb618.squirrel@webmail.lerctr.org> <20091012014846.GB38325@troutmask.apl.washington.edu> <20091012023912.GA38822@troutmask.apl.washington.edu> <4AD29937.2040004@mailinglist.ahhyes.net> <20091012043358.GA39364@troutmask.apl.washington.edu> <4AD2B203.8030405@mailinglist.ahhyes.net> <20091012044911.GA39479@troutmask.apl.washington.edu> In-Reply-To: <20091012044911.GA39479@troutmask.apl.washington.edu> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: 130.133.86.198 Cc: "freebsd-performance@freebsd.org" , freebsd-current@freebsd.org Subject: Re: Scheduler weirdness 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, 12 Oct 2009 07:44:38 -0000 Steve Kargl wrote: > On Mon, Oct 12, 2009 at 03:35:15PM +1100, Alex R wrote: >> Steve Kargl wrote: >>> On Mon, Oct 12, 2009 at 01:49:27PM +1100, Alex R wrote: >>> >>>> Steve Kargl wrote: >>>> >>>>> So, you have 4 cpus and 4 folding-at-home processes and you're >>>>> trying to use the system with other apps? Switch to 4BSD. >>>>> >>>>> >>>>> >>>> I thought SCHED_ULE was meant to be a much better choice under an SMP >>>> environment. Why are you suggesting he rebuild his kernel and use the >>>> legacy scheduler? >>>> >>>> >>> If you have N cpus and N+1 numerical intensitive applications, >>> ULE may have poor performance compared to 4BSD. In OP's case, >>> he has 4 cpus and 4 numerical intensity (?) applications. He, >>> however, also is trying to use the system in some interactive >>> way. >>> >>> >> Ah ok. Is this just an accepted thing by the freebsd dev's or are they >> trying to fix it? >> > > Jeff appears to be extremely busy with other projects. He is aware of > the problem, and I have set up my system to give him access when/if it > is so desired. > > Here's the text of my last set of tests that I sent to him > > OK, I've manage to recreate the problem. User kargl launches a mpi > job on node10 that creates two images on node20. This is command z > in the top(1) info. 30 seconds later, user sgk lauches a mpi process > on node10 that creates 8 images on node20. This is command rivmp in > top(1) info. With 8 available cpus, this is a (slightly) oversubscribed > node. > > For 4BSD, I see > > last pid: 1432; load averages: 8.68, 5.65, 2.82 up 0+01:52:14 17:07:22 > 40 processes: 11 running, 29 sleeping > CPU: 100% user, 0.0% nice, 0.0% system, 0.0% interrupt, 0.0% idle > Mem: 32M Active, 12M Inact, 203M Wired, 424K Cache, 29M Buf, 31G Free > Swap: 4096M Total, 4096M Free > > PID USERNAME THR PRI NICE SIZE RES STATE C TIME CPU COMMAND > 1428 sgk 1 124 0 81788K 5848K CPU3 6 1:13 78.81% rivmp > 1431 sgk 1 124 0 81788K 5652K RUN 1 1:13 78.52% rivmp > 1415 kargl 1 124 0 78780K 4668K CPU7 1 1:38 78.42% z > 1414 kargl 1 124 0 78780K 4664K CPU0 0 1:37 77.25% z > 1427 sgk 1 124 0 81788K 5852K CPU4 3 1:13 78.42% rivmp > 1432 sgk 1 124 0 81788K 5652K CPU2 4 1:13 78.27% rivmp > 1425 sgk 1 124 0 81788K 6004K CPU5 5 1:12 78.17% rivmp > 1426 sgk 1 124 0 81788K 5832K RUN 6 1:13 78.03% rivmp > 1429 sgk 1 124 0 81788K 5788K CPU6 7 1:12 77.98% rivmp > 1430 sgk 1 124 0 81788K 5764K RUN 2 1:13 77.93% rivmp > > > Notice, the accumulated times appear reasonable. At this point in the > computations, rivmp is doing no communication between processes. z is > the netpipe benchmark and is essentially sending messages between the > two processes over the memory bus. > > > For ULE, I see > > last pid: 1169; load averages: 7.56, 2.61, 1.02 up 0+00:03:15 17:13:01 > 40 processes: 11 running, 29 sleeping > CPU: 100% user, 0.0% nice, 0.0% system, 0.0% interrupt, 0.0% idle > Mem: 31M Active, 9392K Inact, 197M Wired, 248K Cache, 26M Buf, 31G Free > Swap: 4096M Total, 4096M Free > > PID USERNAME THR PRI NICE SIZE RES STATE C TIME CPU COMMAND > 1168 sgk 1 118 0 81788K 5472K CPU6 6 1:18 100.00% rivmp > 1169 sgk 1 118 0 81788K 5416K CPU7 7 1:18 100.00% rivmp > 1167 sgk 1 118 0 81788K 5496K CPU5 5 1:18 100.00% rivmp > 1166 sgk 1 118 0 81788K 5564K RUN 4 1:18 100.00% rivmp > 1151 kargl 1 118 0 78780K 4464K CPU3 3 1:48 99.27% z > 1152 kargl 1 110 0 78780K 4464K CPU0 0 1:18 62.89% z > 1164 sgk 1 113 0 81788K 5592K CPU1 1 0:55 80.76% rivmp > 1165 sgk 1 110 0 81788K 5544K RUN 0 0:52 62.16% rivmp > 1163 sgk 1 107 0 81788K 5624K RUN 2 0:40 50.68% rivmp > 1162 sgk 1 107 0 81788K 5824K CPU2 2 0:39 50.49% rivmp > > > In the above, processes 1162-1165 are clearly not receiving sufficient time > slices to keep up with the other 4 rivmp images. From watching top at a > 1 second interval, once the 4 rivmp hit 100% CPU, they stayed pinned to > their cpu and stay at 100% CPU. It is also seen that processes 1152, 1165 > and 1162, 1163 are stuck on cpus 0 and 2, respectively. > This isn't only bound to floating-point intense applications, even the operating system itselfs seems to suffer from SCHED_ULE. I saw, see and reported several performance issue under heavy load and for seconds (if not minutes!) 4+ CPU boxes get as stuck as a UP box does. Those sticky sitiuations are painful in cases where the box needs to be accessed via X11. The remaining four FreeBSD 8.0-boxes used for numerical applications in our lab (others switched to Linux a long time ago) all uses SCHED_ULE, as this scheduler was introduced to be the superior scheduler over the legacy 4BSD. Well, I'll give 4BSD a chance again. At the moment, even our 8-core DELL Poweredge box is in production use, but if there is something I can do, menas: benchmarking, I'll give it a try. Regards, Oliver From owner-freebsd-performance@FreeBSD.ORG Thu Oct 15 01:57:46 2009 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 13608106566B for ; Thu, 15 Oct 2009 01:57:46 +0000 (UTC) (envelope-from htyin@huawei.com) Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70]) by mx1.freebsd.org (Postfix) with ESMTP id C515C8FC13 for ; Thu, 15 Oct 2009 01:57:45 +0000 (UTC) Received: from huawei.com (localhost [127.0.0.1]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0KRJ002EN8QOW5@usaga02-in.huawei.com> for freebsd-performance@freebsd.org; Wed, 14 Oct 2009 18:42:25 -0700 (PDT) Received: from Hongtao1SC ([10.193.34.152]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <0KRJ00G5I8QGJX@usaga02-in.huawei.com> for freebsd-performance@freebsd.org; Wed, 14 Oct 2009 18:42:24 -0700 (PDT) Date: Wed, 14 Oct 2009 18:42:16 -0700 From: Hongtao Yin To: freebsd-performance@freebsd.org Message-id: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-Mailer: Microsoft Office Outlook 11 Content-type: multipart/mixed; boundary="Boundary_(ID_q+q/9SmDfq3iWLIJEHBW2w)" Thread-index: AcpNOLlqUYLxY2FSQl+q3yOU7/rDlg== X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Subject: Comparison of FreeBSD/Linux TCP Throughput performance 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: Thu, 15 Oct 2009 01:57:46 -0000 This is a multi-part message in MIME format. --Boundary_(ID_q+q/9SmDfq3iWLIJEHBW2w) Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Hi, I compared TCP performance between FreeBSD and Linux by running test tools Netperf and Iperf with Intel NIC. The kernels are full version and default values are used in the testing except TCP Congestion Control algorithm set to Reno. >From the test results we can see Linux TCP performance in throughput is better than FreeBSD. The worst case (send msg size 128) shows that FreeBSD throughput is only 43% of Linux's. I like to get some feedback if anyone did similar comparison test, or knows any issues with kernels or drivers. Thanks lot. FreeBSD and Linux Sysctl captures are attached for reference. Regards, Hongtao Test Environments: PC: Dell Precision T3400 (same 4 PCs) CPU: Intel Core 2 Duo CPU E4600@2.4Ghz FreeBSD: V7.1 (full version) (TCP CC: newReno) Linux: V2.6.31.1 (full version) (TCP CC: Reno) Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter (Gigabit) chip 82546EB (only one port used for each PC) Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108) Iperf: V2.0.4 Netperf: V2.4.4 Setup: ---------- | switch | ---------- ---------------------| | | |-------------------- | | | | | --------| |-------- | | | | | | | | | -------------- -------------- -------------- -------------- | PC1 | | PC2 | | PC3 | | PC4 | | FreeBSD | | FreeBSD | | Linux | | Linux | |192.168.1.10| |192.168.1.20| |192.168.1.30| |192.168.1.40| -------------- -------------- -------------- -------------- ================================ Netperf Test Results ================================ TCP Throughput Test ------------------- PC2/4: #netserver -p 22113 PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10 Recv Send Send Elapsed Throughput Socket Socket Message Time 10^6 bits/sec Size Size Size Sec. bytes bytes bytes FreeBSD: 65536 32768 32768 10.34 598.11 Linux: 87380 16384 16384 10.04 779.02 PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m 64/128/256/512/1024/2048/4096 Recv Send Send Elapsed Throughput Socket Socket Message Time 10^6 bits/sec Size Size Size Sec. bytes bytes bytes FreeBSD: 65536 32768 64 10.19 417.10 65536 32768 128 10.35 336.63 65536 32768 256 10.36 576.99 65536 32768 512 10.35 569.79 65536 32768 1024 10.35 553.70 65536 32768 2048 10.35 584.20 65536 32768 4096 10.35 602.45 Linux: 87380 16384 64 10.03 778.21 87380 16384 128 10.03 779.72 87380 16384 256 10.04 780.16 87380 16384 512 10.03 776.85 87380 16384 1024 10.04 777.52 87380 16384 2048 10.04 777.83 87380 16384 4096 10.03 780.17 =============================== Iperf Test Results =============================== Bandwidth Test -------------- PC2/4: #iperf -s PC1/3: #iperf -c 192.168.1.20 Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.3 740 600 Linux: 0.0-10.0 972 815 PC1/3: #iperf -c 192.168.1.20 -d Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.0 402 337 0.0-10.0 404 338 Linux: 0.0-10.0 926 776 0.0-10.0 44.1 36.9 Parallel Test ------------- PC2/4: #iperf -s PC1/3: #iperf -c 192.168.1.20 -P 2 Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.3 370 300 0.0-10.3 370 300 SUM: 0.0-10.3 739 600 Linux: 0.0-10.0 479 402 0.0-10.0 473 396 SUM: 0.0-10.0 952 797 --Boundary_(ID_q+q/9SmDfq3iWLIJEHBW2w) Content-type: application/octet-stream; name=FreeBSD_sysctl Content-transfer-encoding: quoted-printable Content-disposition: attachment; filename=FreeBSD_sysctl kern.ostype: FreeBSD kern.osrelease: 7.1-RELEASE kern.osrevision: 199506 kern.version: FreeBSD 7.1-RELEASE #3: Mon Oct 5 15:06:00 PDT 2009 root@hyin@huawei.com:/usr/obj/usr/home/hy/bsd71/sys/GENERIC kern.maxvnodes: 100000 kern.maxproc: 6164 kern.maxfiles: 12328 kern.argmax: 262144 kern.securelevel: -1 kern.hostname:=20 kern.hostid: 0 kern.clockrate: { hz =3D 1000, tick =3D 1000, profhz =3D 2000, stathz = =3D 133 } kern.posix1version: 200112 kern.ngroups: 16 kern.job_control: 1 kern.saved_ids: 0 kern.boottime: { sec =3D 1255460068, usec =3D 755556 } Tue Oct 13 = 11:54:28 2009 kern.domainname:=20 kern.osreldate: 701000 kern.bootfile: /boot/kernel/kernel kern.maxfilesperproc: 11095 kern.maxprocperuid: 5547 kern.ipc.maxsockbuf: 262144 kern.ipc.sockbuf_waste_factor: 8 kern.ipc.somaxconn: 128 kern.ipc.max_linkhdr: 16 kern.ipc.max_protohdr: 60 kern.ipc.max_hdr: 76 kern.ipc.max_datalen: 100 kern.ipc.nmbjumbo16: 3200 kern.ipc.nmbjumbo9: 6400 kern.ipc.nmbjumbop: 12800 kern.ipc.nmbclusters: 25600 kern.ipc.piperesizeallowed: 1 kern.ipc.piperesizefail: 0 kern.ipc.pipeallocfail: 0 kern.ipc.pipefragretry: 0 kern.ipc.pipekva: 0 kern.ipc.maxpipekva: 20971520 kern.ipc.msgseg: 2048 kern.ipc.msgssz: 8 kern.ipc.msgtql: 40 kern.ipc.msgmnb: 2048 kern.ipc.msgmni: 40 kern.ipc.msgmax: 16384 kern.ipc.semaem: 16384 kern.ipc.semvmx: 32767 kern.ipc.semusz: 104 kern.ipc.semume: 10 kern.ipc.semopm: 100 kern.ipc.semmsl: 60 kern.ipc.semmnu: 30 kern.ipc.semmns: 60 kern.ipc.semmni: 10 kern.ipc.semmap: 30 kern.ipc.shm_allow_removed: 0 kern.ipc.shm_use_phys: 0 kern.ipc.shmall: 8192 kern.ipc.shmseg: 128 kern.ipc.shmmni: 192 kern.ipc.shmmin: 1 kern.ipc.shmmax: 33554432 kern.ipc.maxsockets: 25600 kern.ipc.numopensockets: 0 kern.ipc.nsfbufsused: 0 kern.ipc.nsfbufspeak: 0 kern.ipc.nsfbufs: 0 kern.dummy: 0 kern.ps_strings: 140737488355296 kern.usrstack: 140737488355328 kern.logsigexit: 1 kern.iov_max: 1024 kern.hostuuid: 00000000-0000-0000-0000-000000000000 kern.cam.cam_srch_hi: 0 kern.cam.scsi_delay: 5000 kern.cam.cd.changer.max_busy_seconds: 15 kern.cam.cd.changer.min_busy_seconds: 5 kern.cam.da.da_send_ordered: 1 kern.cam.da.default_timeout: 60 kern.cam.da.retry_count: 4 kern.dcons.poll_hz: 100 kern.disks: ad4 kern.geom.collectstats: 1 kern.geom.debugflags: 0 kern.geom.label.debug: 0 kern.elf64.fallback_brand: -1 kern.init_shutdown_timeout: 120 kern.init_path: = /sbin/init:/sbin/oinit:/sbin/init.bak:/rescue/init:/stand/sysinstall kern.acct_suspended: 0 kern.acct_configured: 0 kern.acct_chkfreq: 15 kern.acct_resume: 4 kern.acct_suspend: 2 kern.cp_times: 2 0 4 16 12243 2 0 1 0 12248 kern.cp_time: 4 0 5 16 24491 kern.openfiles: 3 kern.kq_calloutmax: 4096 kern.ps_arg_cache_limit: 256 kern.stackprot: 7 kern.randompid: 0 kern.lastpid: 61 kern.module_path: /boot/kernel;/boot/modules kern.malloc_count: 248 kern.fallback_elf_brand: -1 kern.features.compat_freebsd6: 1 kern.features.compat_freebsd5: 1 kern.features.compat_freebsd4: 1 kern.maxusers: 384 kern.ident: GENERIC kern.kstack_pages: 4 kern.shutdown.kproc_shutdown_wait: 60 kern.shutdown.poweroff_delay: 5000 kern.sync_on_panic: 0 kern.corefile: %N.core kern.nodump_coredump: 0 kern.coredump: 1 kern.sugid_coredump: 0 kern.sigqueue.alloc_fail: 0 kern.sigqueue.overflow: 0 kern.sigqueue.preallocate: 1024 kern.sigqueue.max_pending_per_proc: 128 kern.forcesigexit: 1 kern.fscale: 2048 kern.timecounter.tick: 1 kern.timecounter.choice: TSC(-100) HPET(900) ACPI-fast(1000) i8254(0) = dummy(-1000000) kern.timecounter.hardware: ACPI-fast kern.timecounter.nsetclock: 2 kern.timecounter.ngetmicrotime: 9227 kern.timecounter.ngetnanotime: 0 kern.timecounter.ngetbintime: 0 kern.timecounter.ngetmicrouptime: 2596 kern.timecounter.ngetnanouptime: 0 kern.timecounter.ngetbinuptime: 67 kern.timecounter.nmicrotime: 100 kern.timecounter.nnanotime: 7 kern.timecounter.nbintime: 107 kern.timecounter.nmicrouptime: 105 kern.timecounter.nnanouptime: 0 kern.timecounter.nbinuptime: 2438 kern.timecounter.stepwarnings: 0 kern.timecounter.tc.i8254.mask: 65535 kern.timecounter.tc.i8254.counter: 18347 kern.timecounter.tc.i8254.frequency: 1193182 kern.timecounter.tc.i8254.quality: 0 kern.timecounter.tc.ACPI-fast.mask: 16777215 kern.timecounter.tc.ACPI-fast.counter: 10547137 kern.timecounter.tc.ACPI-fast.frequency: 3579545 kern.timecounter.tc.ACPI-fast.quality: 1000 kern.timecounter.tc.HPET.mask: 4294967295 kern.timecounter.tc.HPET.counter: 1701047335 kern.timecounter.tc.HPET.frequency: 14318180 kern.timecounter.tc.HPET.quality: 900 kern.timecounter.tc.TSC.mask: 4294967295 kern.timecounter.tc.TSC.counter: 1731538528 kern.timecounter.tc.TSC.frequency: 2393994936 kern.timecounter.tc.TSC.quality: -100 kern.timecounter.smp_tsc: 0 kern.threads.virtual_cpu: 2 kern.threads.max_threads_hits: 0 kern.threads.max_threads_per_proc: 1500 kern.ccpu: 0 kern.sched.preemption: 1 kern.sched.topology: 0 kern.sched.steal_thresh: 1 kern.sched.steal_idle: 1 kern.sched.steal_htt: 1 kern.sched.balance_interval: 133 kern.sched.balance: 1 kern.sched.tryself: 1 kern.sched.affinity: 3 kern.sched.pick_pri: 1 kern.sched.preempt_thresh: 64 kern.sched.interact: 30 kern.sched.slice: 13 kern.sched.name: ULE kern.devstat.version: 6 kern.devstat.generation: 61 kern.devstat.numdevs: 1 kern.kobj_methodcount: 148 kern.log_wakeups_per_second: 5 kern.msgbuf_clear: 0 kern.msgbuf:=20 kern.always_console_output: 0 kern.log_console_output: 1 kern.smp.forward_roundrobin_enabled: 1 kern.smp.forward_signal_enabled: 1 kern.smp.cpus: 2 kern.smp.disabled: 0 kern.smp.active: 1 kern.smp.maxcpus: 16 kern.smp.maxid: 1 kern.nselcoll: 0 kern.tty_nout: 938 kern.tty_nin: 152 kern.drainwait: 300 kern.constty_wakeups_per_second: 5 kern.consmsgbuf_size: 8192 kern.consmute: 0 kern.console: consolectl,dcons,/dcons,consolectl,ttyd0, kern.minvnodes: 25000 kern.metadelay: 28 kern.dirdelay: 29 kern.filedelay: 30 kern.chroot_allow_open_directories: 1 kern.rpc.invalid: 0 kern.rpc.unexpected: 0 kern.rpc.timeouts: 0 kern.rpc.request: 0 kern.rpc.retries: 0 kern.elf32.fallback_brand: -1 kern.random.yarrow.gengateinterval: 10 kern.random.yarrow.bins: 10 kern.random.yarrow.fastthresh: 192 kern.random.yarrow.slowthresh: 256 kern.random.yarrow.slowoverthresh: 2 kern.random.sys.seeded: 1 kern.random.sys.harvest.ethernet: 1 kern.random.sys.harvest.point_to_point: 1 kern.random.sys.harvest.interrupt: 1 kern.random.sys.harvest.swi: 0 vm.vmtotal:=20 System wide totals computed every five seconds: (values in kilobytes) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D Processes: (RUNQ: 1 Disk Wait: 0 Page Wait: 0 Sleep: 2) Virtual Memory: (Total: 4256868K, Active 12220K) Real Memory: (Total: 45276K Active 4224K) Shared Virtual Memory: (Total: 2852K Active: 2852K) Shared Real Memory: (Total: 1816K Active: 1816K) Free Memory Pages: 1968584K vm.loadavg: { 0.41 0.28 0.12 } vm.v_free_min: 3231 vm.v_free_target: 13631 vm.v_free_reserved: 707 vm.v_inactive_target: 20446 vm.v_cache_min: 13631 vm.v_cache_max: 27262 vm.v_pageout_free_min: 34 vm.pageout_algorithm: 0 vm.swap_enabled: 1 vm.kmem_size_scale: 3 vm.kmem_size_max: 419430400 vm.kmem_size_min: 0 vm.kmem_size: 419430400 vm.nswapdev: 0 vm.dmmax: 32 vm.swap_async_max: 4 vm.zone_count: 84 vm.swap_idle_threshold2: 10 vm.swap_idle_threshold1: 2 vm.exec_map_entries: 16 vm.stats.misc.zero_page_count: 1 vm.stats.misc.cnt_prezero: 0 vm.stats.vm.v_kthreadpages: 0 vm.stats.vm.v_rforkpages: 0 vm.stats.vm.v_vforkpages: 1278 vm.stats.vm.v_forkpages: 1088 vm.stats.vm.v_kthreads: 50 vm.stats.vm.v_rforks: 0 vm.stats.vm.v_vforks: 6 vm.stats.vm.v_forks: 5 vm.stats.vm.v_interrupt_free_min: 2 vm.stats.vm.v_pageout_free_min: 34 vm.stats.vm.v_cache_max: 27262 vm.stats.vm.v_cache_min: 13631 vm.stats.vm.v_cache_count: 8 vm.stats.vm.v_inactive_count: 452 vm.stats.vm.v_inactive_target: 20446 vm.stats.vm.v_active_count: 601 vm.stats.vm.v_wire_count: 11895 vm.stats.vm.v_free_count: 492138 vm.stats.vm.v_free_min: 3231 vm.stats.vm.v_free_target: 13631 vm.stats.vm.v_free_reserved: 707 vm.stats.vm.v_page_count: 505107 vm.stats.vm.v_page_size: 4096 vm.stats.vm.v_tfree: 4770 vm.stats.vm.v_pfree: 331 vm.stats.vm.v_dfree: 0 vm.stats.vm.v_tcached: 41 vm.stats.vm.v_pdpages: 0 vm.stats.vm.v_pdwakeups: 0 vm.stats.vm.v_reactivated: 33 vm.stats.vm.v_intrans: 3 vm.stats.vm.v_vnodepgsout: 0 vm.stats.vm.v_vnodepgsin: 574 vm.stats.vm.v_vnodeout: 0 vm.stats.vm.v_vnodein: 68 vm.stats.vm.v_swappgsout: 0 vm.stats.vm.v_swappgsin: 0 vm.stats.vm.v_swapout: 0 vm.stats.vm.v_swapin: 0 vm.stats.vm.v_ozfod: 0 vm.stats.vm.v_zfod: 726 vm.stats.vm.v_cow_optim: 0 vm.stats.vm.v_cow_faults: 294 vm.stats.vm.v_vm_faults: 10518 vm.stats.sys.v_soft: 12634 vm.stats.sys.v_intr: 955 vm.stats.sys.v_syscall: 5288 vm.stats.sys.v_trap: 1284 vm.stats.sys.v_swtch: 35277 vm.stats.object.bypasses: 0 vm.stats.object.collapses: 21 vm.v_free_severe: 1969 vm.max_proc_mmap: 37449 vm.old_msync: 0 vm.msync_flush_flags: 3 vm.boot_pages: 48 vm.max_wired: 164653 vm.pageout_lock_miss: 0 vm.disable_swapspace_pageouts: 0 vm.defer_swapspace_pageouts: 0 vm.swap_idle_enabled: 0 vm.pageout_stats_interval: 5 vm.pageout_full_stats_interval: 20 vm.pageout_stats_max: 13631 vm.max_launder: 32 vm.phys_segs:=20 SEGMENT 0: start: 0x1000 end: 0x9b000 free list: 0xffffffff80ad8488 SEGMENT 1: start: 0xd47000 end: 0x1000000 free list: 0xffffffff80ad8488 SEGMENT 2: start: 0x1000000 end: 0x7c1c0000 free list: 0xffffffff80ad80e0 vm.phys_free:=20 FREE LIST 0: ORDER (SIZE) | NUMBER | POOL 0 | POOL 1 | POOL 2 -- -- -- -- -- -- -- -- 12 ( 16384K) | 119 | 0 | 0 11 ( 8192K) | 1 | 0 | 0 10 ( 4096K) | 0 | 1 | 0 9 ( 2048K) | 0 | 0 | 0 8 ( 1024K) | 1 | 1 | 0 7 ( 512K) | 1 | 0 | 0 6 ( 256K) | 0 | 1 | 0 5 ( 128K) | 0 | 1 | 0 4 ( 64K) | 1 | 1 | 0 3 ( 32K) | 1 | 1 | 0 2 ( 16K) | 1 | 0 | 0 1 ( 8K) | 0 | 1 | 2 0 ( 4K) | 0 | 0 | 4 FREE LIST 1: ORDER (SIZE) | NUMBER | POOL 0 | POOL 1 | POOL 2 -- -- -- -- -- -- -- -- 12 ( 16384K) | 0 | 0 | 0 11 ( 8192K) | 0 | 0 | 0 10 ( 4096K) | 0 | 0 | 0 9 ( 2048K) | 1 | 0 | 0 8 ( 1024K) | 0 | 0 | 0 7 ( 512K) | 1 | 0 | 0 6 ( 256K) | 1 | 0 | 0 5 ( 128K) | 2 | 0 | 0 4 ( 64K) | 3 | 0 | 0 3 ( 32K) | 3 | 0 | 0 2 ( 16K) | 1 | 0 | 0 1 ( 8K) | 2 | 0 | 0 0 ( 4K) | 3 | 0 | 0 vm.idlezero_enable: 0 vm.kvm_free: 1342173184 vm.kvm_size: 2147479552 vm.pmap.pmap_collect_active: 0 vm.pmap.pmap_collect_inactive: 0 vm.pmap.pv_entry_spare: 402 vm.pmap.pv_entry_allocs: 5089 vm.pmap.pv_entry_frees: 3643 vm.pmap.pc_chunk_tryfail: 0 vm.pmap.pc_chunk_frees: 35 vm.pmap.pc_chunk_allocs: 46 vm.pmap.pc_chunk_count: 11 vm.pmap.pv_entry_count: 1446 vm.pmap.shpgperproc: 200 vm.pmap.pv_entry_max: 1737907 vfs.ufs.dirhash_docheck: 0 vfs.ufs.dirhash_mem: 85374 vfs.ufs.dirhash_maxmem: 2097152 vfs.ufs.dirhash_minsize: 2560 vfs.devfs.rule_depth: 1 vfs.devfs.generation: 87 vfs.nfs4.access_cache_timeout: 60 vfs.nfs.downdelayinitial: 12 vfs.nfs.downdelayinterval: 30 vfs.nfs.skip_wcc_data_onerr: 1 vfs.nfs.nfs3_jukebox_delay: 10 vfs.nfs.reconnects: 0 vfs.nfs.bufpackets: 4 vfs.nfs.realign_count: 0 vfs.nfs.realign_test: 0 vfs.nfs.defect: 0 vfs.nfs.iodmax: 20 vfs.nfs.iodmin: 0 vfs.nfs.iodmaxidle: 120 vfs.nfs.diskless_rootpath:=20 vfs.nfs.diskless_valid: 0 vfs.nfs.nfs_ip_paranoia: 1 vfs.nfs.nfs_directio_allow_mmap: 1 vfs.nfs.nfs_directio_enable: 0 vfs.nfs.clean_pages_on_close: 1 vfs.nfs.nfsv3_commit_on_close: 0 vfs.nfs.access_cache_timeout: 60 vfs.pfs.trace: 0 vfs.pfs.vncache.misses: 0 vfs.pfs.vncache.hits: 0 vfs.pfs.vncache.maxentries: 0 vfs.pfs.vncache.entries: 0 vfs.flushwithdeps: 0 vfs.getnewbufrestarts: 0 vfs.getnewbufcalls: 136 vfs.hifreebuffers: 1528 vfs.lofreebuffers: 764 vfs.numfreebuffers: 13671 vfs.dirtybufthresh: 3095 vfs.hidirtybuffers: 3439 vfs.lodirtybuffers: 1719 vfs.numdirtybuffers: 6 vfs.recursiveflushes: 0 vfs.altbufferflushes: 0 vfs.bdwriteskip: 0 vfs.dirtybufferflushes: 0 vfs.hirunningspace: 1048576 vfs.lorunningspace: 524288 vfs.bufdefragcnt: 0 vfs.buffreekvacnt: 0 vfs.bufreusecnt: 135 vfs.hibufspace: 223428608 vfs.lobufspace: 223363072 vfs.maxmallocbufspace: 11171430 vfs.bufmallocspace: 0 vfs.maxbufspace: 224083968 vfs.bufspace: 2211840 vfs.runningbufspace: 0 vfs.vmiodirenable: 1 vfs.cache.numfullpathfound: 2 vfs.cache.numfullpathfail4: 0 vfs.cache.numfullpathfail2: 0 vfs.cache.numfullpathfail1: 0 vfs.cache.numfullpathcalls: 2 vfs.cache.nchstats: 423 13 1 0 135 0 1 14 vfs.cache.numneghits: 13 vfs.cache.numnegzaps: 0 vfs.cache.numposhits: 423 vfs.cache.numposzaps: 1 vfs.cache.nummisszap: 0 vfs.cache.nummiss: 135 vfs.cache.numchecks: 437 vfs.cache.dotdothits: 0 vfs.cache.dothits: 5 vfs.cache.numcalls: 577 vfs.cache.numcache: 62 vfs.cache.numneg: 3 vfs.read_max: 8 vfs.write_behind: 1 vfs.lookup_shared: 0 vfs.usermount: 0 vfs.worklist_len: 2 vfs.timestamp_precision: 0 vfs.reassignbufcalls: 6 vfs.freevnodes: 2 vfs.wantfreevnodes: 25000 vfs.numvnodes: 69 vfs.nfsrv.nfs_privport: 0 vfs.nfsrv.commit_miss: 0 vfs.nfsrv.commit_blks: 0 vfs.nfsrv.async: 0 vfs.nfsrv.realign_count: 0 vfs.nfsrv.realign_test: 0 vfs.nfsrv.gatherdelay_v3: 0 vfs.nfsrv.gatherdelay: 10000 vfs.ffs.doreallocblks: 1 vfs.ffs.doasyncfree: 1 vfs.ffs.compute_summary_at_mount: 0 net.local.stream.recvspace: 8192 net.local.stream.sendspace: 8192 net.local.dgram.recvspace: 4096 net.local.dgram.maxdgram: 2048 net.local.recycled: 0 net.local.taskcount: 0 net.local.inflight: 0 net.inet.ip.portrange.randomtime: 45 net.inet.ip.portrange.randomcps: 10 net.inet.ip.portrange.randomized: 1 net.inet.ip.portrange.reservedlow: 0 net.inet.ip.portrange.reservedhigh: 1023 net.inet.ip.portrange.hilast: 65535 net.inet.ip.portrange.hifirst: 49152 net.inet.ip.portrange.last: 65535 net.inet.ip.portrange.first: 49152 net.inet.ip.portrange.lowlast: 600 net.inet.ip.portrange.lowfirst: 1023 net.inet.ip.forwarding: 0 net.inet.ip.redirect: 1 net.inet.ip.ttl: 64 net.inet.ip.rtexpire: 3600 net.inet.ip.rtminexpire: 10 net.inet.ip.rtmaxcache: 128 net.inet.ip.sourceroute: 0 net.inet.ip.intr_queue_maxlen: 50 net.inet.ip.intr_queue_drops: 0 net.inet.ip.accept_sourceroute: 0 net.inet.ip.keepfaith: 0 net.inet.ip.gifttl: 30 net.inet.ip.same_prefix_carp_only: 0 net.inet.ip.subnets_are_local: 0 net.inet.ip.fastforwarding: 0 net.inet.ip.maxfragpackets: 800 net.inet.ip.maxfragsperpacket: 16 net.inet.ip.fragpackets: 0 net.inet.ip.check_interface: 0 net.inet.ip.random_id: 0 net.inet.ip.sendsourcequench: 0 net.inet.ip.process_options: 1 net.inet.icmp.maskrepl: 0 net.inet.icmp.icmplim: 200 net.inet.icmp.bmcastecho: 0 net.inet.icmp.quotelen: 8 net.inet.icmp.reply_from_interface: 0 net.inet.icmp.reply_src:=20 net.inet.icmp.icmplim_output: 1 net.inet.icmp.log_redirect: 0 net.inet.icmp.drop_redirect: 0 net.inet.icmp.maskfake: 0 net.inet.tcp.rfc1323: 1 net.inet.tcp.mssdflt: 512 net.inet.tcp.keepidle: 7200000 net.inet.tcp.keepintvl: 75000 net.inet.tcp.sendspace: 32768 net.inet.tcp.recvspace: 65536 net.inet.tcp.keepinit: 75000 net.inet.tcp.delacktime: 100 net.inet.tcp.v6mssdflt: 1024 net.inet.tcp.hostcache.purge: 0 net.inet.tcp.hostcache.prune: 300 net.inet.tcp.hostcache.expire: 3600 net.inet.tcp.hostcache.count: 0 net.inet.tcp.hostcache.bucketlimit: 30 net.inet.tcp.hostcache.hashsize: 512 net.inet.tcp.hostcache.cachelimit: 15360 net.inet.tcp.recvbuf_max: 262144 net.inet.tcp.recvbuf_inc: 16384 net.inet.tcp.recvbuf_auto: 1 net.inet.tcp.insecure_rst: 0 net.inet.tcp.rfc3390: 1 net.inet.tcp.rfc3042: 1 net.inet.tcp.drop_synfin: 0 net.inet.tcp.delayed_ack: 1 net.inet.tcp.blackhole: 0 net.inet.tcp.log_in_vain: 0 net.inet.tcp.sendbuf_max: 262144 net.inet.tcp.sendbuf_inc: 8192 net.inet.tcp.sendbuf_auto: 1 net.inet.tcp.tso: 1 net.inet.tcp.newreno: 1 net.inet.tcp.local_slowstart_flightsize: 4 net.inet.tcp.slowstart_flightsize: 1 net.inet.tcp.path_mtu_discovery: 1 net.inet.tcp.reass.overflows: 0 net.inet.tcp.reass.maxqlen: 48 net.inet.tcp.reass.cursegments: 0 net.inet.tcp.reass.maxsegments: 1600 net.inet.tcp.sack.globalholes: 0 net.inet.tcp.sack.globalmaxholes: 65536 net.inet.tcp.sack.maxholes: 128 net.inet.tcp.sack.enable: 1 net.inet.tcp.inflight.stab: 20 net.inet.tcp.inflight.max: 1073725440 net.inet.tcp.inflight.min: 6144 net.inet.tcp.inflight.rttthresh: 10 net.inet.tcp.inflight.debug: 0 net.inet.tcp.inflight.enable: 1 net.inet.tcp.isn_reseed_interval: 0 net.inet.tcp.icmp_may_rst: 1 net.inet.tcp.pcbcount: 0 net.inet.tcp.do_tcpdrain: 1 net.inet.tcp.tcbhashsize: 512 net.inet.tcp.log_debug: 0 net.inet.tcp.minmss: 216 net.inet.tcp.syncache.rst_on_sock_fail: 1 net.inet.tcp.syncache.rexmtlimit: 3 net.inet.tcp.syncache.hashsize: 512 net.inet.tcp.syncache.count: 0 net.inet.tcp.syncache.cachelimit: 15360 net.inet.tcp.syncache.bucketlimit: 30 net.inet.tcp.syncookies_only: 0 net.inet.tcp.syncookies: 1 net.inet.tcp.timer_race: 0 net.inet.tcp.finwait2_timeout: 60000 net.inet.tcp.fast_finwait2_recycle: 0 net.inet.tcp.always_keepalive: 1 net.inet.tcp.rexmit_slop: 200 net.inet.tcp.rexmit_min: 30 net.inet.tcp.msl: 30000 net.inet.tcp.nolocaltimewait: 0 net.inet.tcp.maxtcptw: 5120 net.inet.udp.checksum: 1 net.inet.udp.maxdgram: 9216 net.inet.udp.recvspace: 42080 net.inet.udp.soreceive_dgram_enabled: 0 net.inet.udp.blackhole: 0 net.inet.udp.log_in_vain: 0 net.inet.sctp.enable_sack_immediately: 0 net.inet.sctp.udp_tunneling_port: 0 net.inet.sctp.udp_tunneling_for_client_enable: 0 net.inet.sctp.mobility_fasthandoff: 0 net.inet.sctp.mobility_base: 0 net.inet.sctp.default_frag_interleave: 1 net.inet.sctp.default_cc_module: 0 net.inet.sctp.log_level: 0 net.inet.sctp.max_retran_chunk: 30 net.inet.sctp.min_residual: 1452 net.inet.sctp.strict_data_order: 0 net.inet.sctp.abort_at_limit: 0 net.inet.sctp.hb_max_burst: 4 net.inet.sctp.do_sctp_drain: 1 net.inet.sctp.max_chained_mbufs: 5 net.inet.sctp.abc_l_var: 1 net.inet.sctp.nat_friendly: 1 net.inet.sctp.auth_disable: 0 net.inet.sctp.asconf_auth_nochk: 0 net.inet.sctp.early_fast_retran_msec: 250 net.inet.sctp.early_fast_retran: 0 net.inet.sctp.cwnd_maxburst: 1 net.inet.sctp.cmt_pf: 0 net.inet.sctp.cmt_use_dac: 0 net.inet.sctp.cmt_on_off: 0 net.inet.sctp.outgoing_streams: 10 net.inet.sctp.add_more_on_output: 1452 net.inet.sctp.path_rtx_max: 5 net.inet.sctp.assoc_rtx_max: 10 net.inet.sctp.init_rtx_max: 8 net.inet.sctp.valid_cookie_life: 60000 net.inet.sctp.init_rto_max: 60000 net.inet.sctp.rto_initial: 3000 net.inet.sctp.rto_min: 1000 net.inet.sctp.rto_max: 60000 net.inet.sctp.secret_lifetime: 3600 net.inet.sctp.shutdown_guard_time: 180 net.inet.sctp.pmtu_raise_time: 600 net.inet.sctp.heartbeat_interval: 30000 net.inet.sctp.asoc_resource: 10 net.inet.sctp.sys_resource: 1000 net.inet.sctp.sack_freq: 2 net.inet.sctp.delayed_sack_time: 200 net.inet.sctp.chunkscale: 10 net.inet.sctp.min_split_point: 2904 net.inet.sctp.pcbhashsize: 256 net.inet.sctp.tcbhashsize: 1024 net.inet.sctp.maxchunks: 3200 net.inet.sctp.maxburst: 4 net.inet.sctp.peer_chkoh: 256 net.inet.sctp.strict_init: 1 net.inet.sctp.loopback_nocsum: 1 net.inet.sctp.strict_sacks: 0 net.inet.sctp.ecn_nonce: 0 net.inet.sctp.ecn_enable: 1 net.inet.sctp.auto_asconf: 1 net.inet.sctp.recvspace: 233016 net.inet.sctp.sendspace: 233016 net.inet.raw.recvspace: 9216 net.inet.raw.maxdgram: 9216 net.inet.accf.unloadable: 0 net.link.generic.system.ifcount: 4 net.link.ether.inet.log_arp_permanent_modify: 1 net.link.ether.inet.log_arp_movements: 1 net.link.ether.inet.log_arp_wrong_iface: 1 net.link.ether.inet.proxyall: 0 net.link.ether.inet.useloopback: 1 net.link.ether.inet.maxtries: 5 net.link.ether.inet.max_age: 1200 net.link.ether.ipfw: 0 net.link.gif.parallel_tunnels: 0 net.link.gif.max_nesting: 1 net.link.log_link_state_change: 1 net.link.tun.devfs_cloning: 1 net.inet6.ip6.forwarding: 0 net.inet6.ip6.redirect: 1 net.inet6.ip6.hlim: 64 net.inet6.ip6.maxfragpackets: 6400 net.inet6.ip6.accept_rtadv: 0 net.inet6.ip6.keepfaith: 0 net.inet6.ip6.log_interval: 5 net.inet6.ip6.hdrnestlimit: 15 net.inet6.ip6.dad_count: 1 net.inet6.ip6.auto_flowlabel: 1 net.inet6.ip6.defmcasthlim: 1 net.inet6.ip6.gifhlim: 30 net.inet6.ip6.kame_version: FreeBSD net.inet6.ip6.use_deprecated: 1 net.inet6.ip6.rr_prune: 5 net.inet6.ip6.v6only: 1 net.inet6.ip6.rtexpire: 3600 net.inet6.ip6.rtminexpire: 10 net.inet6.ip6.rtmaxcache: 128 net.inet6.ip6.use_tempaddr: 0 net.inet6.ip6.temppltime: 86400 net.inet6.ip6.tempvltime: 604800 net.inet6.ip6.auto_linklocal: 1 net.inet6.ip6.prefer_tempaddr: 0 net.inet6.ip6.use_defaultzone: 0 net.inet6.ip6.maxfrags: 6400 net.inet6.ip6.mcast_pmtu: 0 net.inet6.icmp6.rediraccept: 1 net.inet6.icmp6.redirtimeout: 600 net.inet6.icmp6.nd6_prune: 1 net.inet6.icmp6.nd6_delay: 5 net.inet6.icmp6.nd6_umaxtries: 3 net.inet6.icmp6.nd6_mmaxtries: 3 net.inet6.icmp6.nd6_useloopback: 1 net.inet6.icmp6.nodeinfo: 3 net.inet6.icmp6.errppslimit: 100 net.inet6.icmp6.nd6_maxnudhint: 0 net.inet6.icmp6.nd6_debug: 0 net.inet6.icmp6.nd6_maxqueuelen: 1 net.inet6.icmp6.nd6_onlink_ns_rfc4861: 0 net.bpf.maxinsns: 512 net.bpf.maxbufsize: 524288 net.bpf.bufsize: 4096 net.isr.swi_count: 0 net.isr.drop: 0 net.isr.queued: 0 net.isr.deferred: 0 net.isr.directed: 0 net.isr.count: 0 net.isr.direct: 1 net.raw.recvspace: 8192 net.raw.sendspace: 8192 net.my_fibnum: 0 net.add_addr_allfibs: 1 net.fibs: 1 net.route.netisr_maxqlen: 256 net.wlan.recv_bar: 1 net.wlan.debug: 0 debug.acpi.semaphore_debug: 0 debug.acpi.suspend_bounce: 0 debug.acpi.do_powerstate: 1 debug.acpi.acpi_ca_version: 20070320 debug.acpi.ec.timeout: 750 debug.acpi.ec.polled: 0 debug.acpi.ec.burst: 0 debug.firewire_debug: 0 debug.fwmem_debug: 0 debug.if_fwe_debug: 0 debug.if_fwip_debug: 0 debug.sbp_debug: 0 debug.mddebug: 0 debug.elf64_legacy_coredump: 0 debug.elf64_trace: 0 debug.bootverbose: 0 debug.boothowto: 2 debug.cpufreq.verbose: 0 debug.cpufreq.lowest: 0 debug.sizeof.cdev_priv: 376 debug.sizeof.cdev: 288 debug.sizeof.g_bioq: 72 debug.sizeof.g_consumer: 96 debug.sizeof.g_provider: 136 debug.sizeof.g_geom: 136 debug.sizeof.g_class: 136 debug.sizeof.kinfo_proc: 1088 debug.sizeof.buf: 640 debug.sizeof.bio: 216 debug.sizeof.proc: 1144 debug.sizeof.vnode: 504 debug.sizeof.devstat: 288 debug.sizeof.namecache: 72 debug.to_avg_mpcalls: 1754 debug.to_avg_mtxcalls: 0 debug.to_avg_gcalls: 1101 debug.to_avg_depth: 3036 debug.umtx.umtx_pi_allocated: 0 debug.kdb.stop_cpus: 1 debug.kdb.trap_code: 0 debug.kdb.trap: 0 debug.kdb.panic: 0 debug.kdb.enter: 0 debug.kdb.current:=20 debug.kdb.available:=20 debug.rman_debug: 0 debug.ttydebug: 0 debug.disablefullpath: 0 debug.disablecwd: 0 debug.hashstat.nchash: 131072 62 1 4 debug.vfscache: 1 debug.numcachehv: 19 debug.numcache: 62 debug.numneg: 3 debug.ncnegfactor: 16 debug.nchash: 131071 debug.vnlru_nowhere: 0 debug.rush_requests: 0 debug.mpsafevfs: 1 debug.if_tun_debug: 0 debug.nlm_debug: 0 debug.collectsnapstats: 0 debug.snapdebug: 0 debug.dopersistence: 0 debug.dir_entry: 0 debug.direct_blk_ptrs: 0 debug.inode_bitmap: 0 debug.indir_blk_ptrs: 0 debug.sync_limit_hit: 0 debug.ino_limit_hit: 0 debug.blk_limit_hit: 0 debug.ino_limit_push: 0 debug.blk_limit_push: 0 debug.worklist_push: 0 debug.maxindirdeps: 50 debug.tickdelay: 2 debug.max_softdeps: 400000 debug.dobkgrdwrite: 1 debug.bigcgs: 0 debug.dircheck: 0 debug.nosleepwithlocks: 0 debug.minidump: 1 debug.stop_cpus_with_nmi: 1 debug.psm.pkterrthresh: 2 debug.psm.usecs: 500000 debug.psm.secs: 0 debug.psm.errusecs: 0 debug.psm.errsecs: 2 debug.psm.hz: 20 debug.psm.loglevel: 0 debug.fdc.settle: 0 debug.fdc.spec2: 16 debug.fdc.spec1: 175 debug.fdc.retries: 10 debug.fdc.debugflags: 0 debug.fdc.fifo: 8 debug.elf32_legacy_coredump: 0 debug.elf32_trace: 0 hw.machine: amd64 hw.model: Intel(R) Core(TM)2 Duo CPU E4600 @ 2.40GHz hw.ncpu: 2 hw.byteorder: 1234 hw.physmem: 2132099072 hw.usermem: 2083360768 hw.pagesize: 4096 hw.floatingpoint: 1 hw.machine_arch: amd64 hw.realmem: 2145390592 hw.aac.iosize_max: 65536 hw.amr.force_sg32: 0 hw.an.an_cache_iponly: 1 hw.an.an_cache_mcastonly: 0 hw.an.an_cache_mode: dbm hw.an.an_dump: off hw.ata.wc: 1 hw.ata.atapi_dma: 1 hw.ata.ata_dma_check_80pin: 1 hw.ata.ata_dma: 1 hw.ath.hal.swba_backoff: 0 hw.ath.hal.sw_brt: 10 hw.ath.hal.dma_brt: 2 hw.ath.hal.version: 0.9.20.3 hw.ath.txbuf: 200 hw.ath.rxbuf: 40 hw.ath.regdomain: 0 hw.ath.countrycode: 0 hw.ath.xchanmode: 1 hw.ath.outdoor: 1 hw.ath.calibrate: 30 hw.bce.msi_enable: 1 hw.bce.tso_enable: 1 hw.bge.allow_asf: 0 hw.cardbus.cis_debug: 0 hw.cardbus.debug: 0 hw.cs.recv_delay: 570 hw.cs.ignore_checksum_failure: 0 hw.cs.debug: 0 hw.firewire.hold_count: 3 hw.firewire.try_bmr: 1 hw.firewire.fwmem.speed: 2 hw.firewire.fwmem.eui64_lo: 0 hw.firewire.fwmem.eui64_hi: 0 hw.firewire.phydma_enable: 1 hw.firewire.nocyclemaster: 0 hw.firewire.fwe.rx_queue_len: 128 hw.firewire.fwe.tx_speed: 2 hw.firewire.fwe.stream_ch: 1 hw.firewire.fwip.rx_queue_len: 128 hw.firewire.sbp.tags: 0 hw.firewire.sbp.use_doorbell: 0 hw.firewire.sbp.scan_delay: 500 hw.firewire.sbp.login_delay: 1000 hw.firewire.sbp.exclusive_login: 1 hw.firewire.sbp.max_speed: -1 hw.firewire.sbp.auto_login: 1 hw.mfi.max_cmds: 128 hw.mfi.event_class: 0 hw.mfi.event_locale: 65535 hw.pccard.cis_debug: 0 hw.pccard.debug: 0 hw.cbb.debug: 0 hw.cbb.start_32_io: 4096 hw.cbb.start_16_io: 256 hw.cbb.start_memory: 2281701376 hw.pcic.pd6722_vsense: 1 hw.pcic.intr_mask: 57016 hw.pci.honor_msi_blacklist: 1 hw.pci.enable_msix: 1 hw.pci.enable_msi: 1 hw.pci.do_power_resume: 1 hw.pci.do_power_nodriver: 0 hw.pci.enable_io_modes: 1 hw.pci.host_mem_start: 2147483648 hw.syscons.kbd_debug: 1 hw.syscons.kbd_reboot: 1 hw.syscons.bell: 1 hw.syscons.saver.keybonly: 1 hw.syscons.sc_no_suspend_vtswitch: 0 hw.usb.uplcom.interval: 100 hw.usb.uvscom.interval: 100 hw.usb.uvscom.opktsize: 8 hw.wi.debug: 0 hw.wi.txerate: 0 hw.xe.debug: 0 hw.intr_storm_threshold: 1000 hw.availpages: 520532 hw.bus.devctl_disable: 0 hw.ste.rxsyncs: 0 hw.busdma.total_bpages: 6401 hw.busdma.zone0.total_bpages: 257 hw.busdma.zone0.free_bpages: 257 hw.busdma.zone0.reserved_bpages: 0 hw.busdma.zone0.active_bpages: 0 hw.busdma.zone0.total_bounced: 0 hw.busdma.zone0.total_deferred: 0 hw.busdma.zone0.lowaddr: 0xffffffff hw.busdma.zone0.alignment: 8 hw.busdma.zone0.boundary: 0 hw.busdma.zone1.total_bpages: 6144 hw.busdma.zone1.free_bpages: 6144 hw.busdma.zone1.reserved_bpages: 0 hw.busdma.zone1.active_bpages: 0 hw.busdma.zone1.total_bounced: 0 hw.busdma.zone1.total_deferred: 0 hw.busdma.zone1.lowaddr: 0xfffffffffffffff hw.busdma.zone1.alignment: 2 hw.busdma.zone1.boundary: 65536 hw.clockrate: 2393 hw.instruction_sse: 1 hw.apic.enable_extint: 0 hw.psm.tap_timeout: 125000 hw.psm.tap_threshold: 25 hw.kbd.keymap_restrict_change: 0 hw.acpi.supported_sleep_state: S1 S3 S4 S5 hw.acpi.power_button_state: S5 hw.acpi.sleep_button_state: S1 hw.acpi.lid_switch_state: NONE hw.acpi.standby_state: S1 hw.acpi.suspend_state: S3 hw.acpi.sleep_delay: 1 hw.acpi.s4bios: 0 hw.acpi.verbose: 0 hw.acpi.disable_on_reboot: 0 hw.acpi.handle_reboot: 0 hw.acpi.cpu.cx_lowest: C1 machdep.acpi_timer_freq: 3579545 machdep.enable_panic_key: 0 machdep.adjkerntz: 0 machdep.wall_cmos_clock: 0 machdep.disable_rtc_set: 0 machdep.acpi_root: 1043440 machdep.disable_mtrrs: 0 machdep.cpu_idle_hlt: 1 machdep.hlt_cpus: 0 machdep.prot_fault_translation: 0 machdep.panic_on_nmi: 1 machdep.tsc_freq: 2393994936 machdep.i8254_freq: 1193182 machdep.conspeed: 9600 machdep.gdbspeed: 9600 machdep.conrclk: 1843200 machdep.hlt_logical_cpus: 0 machdep.logical_cpus_mask: 2 user.cs_path: /usr/bin:/bin:/usr/sbin:/sbin: user.bc_base_max: 99 user.bc_dim_max: 2048 user.bc_scale_max: 99 user.bc_string_max: 1000 user.coll_weights_max: 0 user.expr_nest_max: 32 user.line_max: 2048 user.re_dup_max: 255 user.posix2_version: 199212 user.posix2_c_bind: 0 user.posix2_c_dev: 0 user.posix2_char_term: 0 user.posix2_fort_dev: 0 user.posix2_fort_run: 0 user.posix2_localedef: 0 user.posix2_sw_dev: 0 user.posix2_upe: 0 user.stream_max: 20 user.tzname_max: 255 p1003_1b.asynchronous_io: 0 p1003_1b.mapped_files: 1 p1003_1b.memlock: 0 p1003_1b.memlock_range: 0 p1003_1b.memory_protection: 0 p1003_1b.message_passing: 0 p1003_1b.prioritized_io: 0 p1003_1b.priority_scheduling: 1 p1003_1b.realtime_signals: 200112 p1003_1b.semaphores: 0 p1003_1b.fsync: 0 p1003_1b.shared_memory_objects: 1 p1003_1b.synchronized_io: 0 p1003_1b.timers: 200112 p1003_1b.aio_listio_max: -1 p1003_1b.aio_max: -1 p1003_1b.aio_prio_delta_max: -1 p1003_1b.delaytimer_max: 2147483647 p1003_1b.mq_open_max: 0 p1003_1b.pagesize: 4096 p1003_1b.rtsig_max: 62 p1003_1b.sem_nsems_max: 0 p1003_1b.sem_value_max: 0 p1003_1b.sigqueue_max: 128 p1003_1b.timer_max: 32 security.jail.jailed: 0 security.jail.mount_allowed: 0 security.jail.chflags_allowed: 0 security.jail.allow_raw_sockets: 0 security.jail.enforce_statfs: 2 security.jail.sysvipc_allowed: 0 security.jail.socket_unixiproute_only: 1 security.jail.set_hostname_allowed: 1 security.bsd.suser_enabled: 1 security.bsd.unprivileged_proc_debug: 1 security.bsd.conservative_signals: 1 security.bsd.see_other_gids: 1 security.bsd.see_other_uids: 1 security.bsd.unprivileged_read_msgbuf: 1 security.bsd.hardlink_check_gid: 0 security.bsd.hardlink_check_uid: 0 security.bsd.unprivileged_get_quota: 0 compat.ia32.maxvmem: 0 compat.ia32.maxssiz: 67108864 compat.ia32.maxdsiz: 536870912 dev.nexus.0.%driver: nexus dev.nexus.0.%parent: root0 dev.ram.0.%desc: System RAM dev.ram.0.%driver: ram dev.ram.0.%parent: nexus0 dev.acpi.0.%desc: DELL B9K =20 dev.acpi.0.%driver: acpi dev.acpi.0.%parent: nexus0 dev.acpi_sysresource.0.%desc: System Resource dev.acpi_sysresource.0.%driver: acpi_sysresource dev.acpi_sysresource.0.%location: handle=3D\_SB_.PCI0.ISA_.MBIO dev.acpi_sysresource.0.%pnpinfo: _HID=3DPNP0C01 _UID=3D11 dev.acpi_sysresource.0.%parent: acpi0 dev.acpi_timer.0.%desc: 24-bit timer at 3.579545MHz dev.acpi_timer.0.%driver: acpi_timer dev.acpi_timer.0.%location: unknown dev.acpi_timer.0.%pnpinfo: unknown dev.acpi_timer.0.%parent: acpi0 dev.pci_link.0.%desc: ACPI PCI Link LNKA dev.pci_link.0.%driver: pci_link dev.pci_link.0.%location: handle=3D\_SB_.LNKA dev.pci_link.0.%pnpinfo: _HID=3DPNP0C0F _UID=3D12 dev.pci_link.0.%parent: acpi0 dev.pci_link.1.%desc: ACPI PCI Link LNKB dev.pci_link.1.%driver: pci_link dev.pci_link.1.%location: handle=3D\_SB_.LNKB dev.pci_link.1.%pnpinfo: _HID=3DPNP0C0F _UID=3D13 dev.pci_link.1.%parent: acpi0 dev.pci_link.2.%desc: ACPI PCI Link LNKC dev.pci_link.2.%driver: pci_link dev.pci_link.2.%location: handle=3D\_SB_.LNKC dev.pci_link.2.%pnpinfo: _HID=3DPNP0C0F _UID=3D14 dev.pci_link.2.%parent: acpi0 dev.pci_link.3.%desc: ACPI PCI Link LNKD dev.pci_link.3.%driver: pci_link dev.pci_link.3.%location: handle=3D\_SB_.LNKD dev.pci_link.3.%pnpinfo: _HID=3DPNP0C0F _UID=3D15 dev.pci_link.3.%parent: acpi0 dev.pci_link.4.%desc: ACPI PCI Link LNKE dev.pci_link.4.%driver: pci_link dev.pci_link.4.%location: handle=3D\_SB_.LNKE dev.pci_link.4.%pnpinfo: _HID=3DPNP0C0F _UID=3D16 dev.pci_link.4.%parent: acpi0 dev.pci_link.5.%desc: ACPI PCI Link LNKF dev.pci_link.5.%driver: pci_link dev.pci_link.5.%location: handle=3D\_SB_.LNKF dev.pci_link.5.%pnpinfo: _HID=3DPNP0C0F _UID=3D17 dev.pci_link.5.%parent: acpi0 dev.pci_link.6.%desc: ACPI PCI Link LNKG dev.pci_link.6.%driver: pci_link dev.pci_link.6.%location: handle=3D\_SB_.LNKG dev.pci_link.6.%pnpinfo: _HID=3DPNP0C0F _UID=3D18 dev.pci_link.6.%parent: acpi0 dev.pci_link.7.%desc: ACPI PCI Link LNKH dev.pci_link.7.%driver: pci_link dev.pci_link.7.%location: handle=3D\_SB_.LNKH dev.pci_link.7.%pnpinfo: _HID=3DPNP0C0F _UID=3D19 dev.pci_link.7.%parent: acpi0 dev.acpi_hpet.0.%desc: High Precision Event Timer dev.acpi_hpet.0.%driver: acpi_hpet dev.acpi_hpet.0.%location: unknown dev.acpi_hpet.0.%pnpinfo: unknown dev.acpi_hpet.0.%parent: acpi0 dev.acpi_button.0.%desc: Power Button dev.acpi_button.0.%driver: acpi_button dev.acpi_button.0.%location: handle=3D\_SB_.VBTN dev.acpi_button.0.%pnpinfo: _HID=3DPNP0C0C _UID=3D0 dev.acpi_button.0.%parent: acpi0 dev.acpi_button.0.wake: 1 dev.pcib.0.%desc: ACPI Host-PCI bridge dev.pcib.0.%driver: pcib dev.pcib.0.%location: handle=3D\_SB_.PCI0 dev.pcib.0.%pnpinfo: _HID=3DPNP0A03 _UID=3D4 dev.pcib.0.%parent: acpi0 dev.pcib.0.wake: 0 dev.pcib.1.%desc: ACPI PCI-PCI bridge dev.pcib.1.%driver: pcib dev.pcib.1.%location: slot=3D1 function=3D0 handle=3D\_SB_.PCI0.PCI1 dev.pcib.1.%pnpinfo: vendor=3D0x8086 device=3D0x29e1 subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x060400 dev.pcib.1.%parent: pci0 dev.pcib.1.wake: 0 dev.pcib.2.%desc: PCI-PCI bridge dev.pcib.2.%driver: pcib dev.pcib.2.%location: slot=3D6 function=3D0 dev.pcib.2.%pnpinfo: vendor=3D0x8086 device=3D0x29e9 subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x060400 dev.pcib.2.%parent: pci0 dev.pcib.3.%desc: ACPI PCI-PCI bridge dev.pcib.3.%driver: pcib dev.pcib.3.%location: slot=3D28 function=3D0 handle=3D\_SB_.PCI0.PCI2 dev.pcib.3.%pnpinfo: vendor=3D0x8086 device=3D0x2940 subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x060400 dev.pcib.3.%parent: pci0 dev.pcib.4.%desc: ACPI PCI-PCI bridge dev.pcib.4.%driver: pcib dev.pcib.4.%location: slot=3D28 function=3D5 handle=3D\_SB_.PCI0.PCI6 dev.pcib.4.%pnpinfo: vendor=3D0x8086 device=3D0x294a subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x060400 dev.pcib.4.%parent: pci0 dev.pcib.4.wake: 0 dev.pcib.5.%desc: ACPI PCI-PCI bridge dev.pcib.5.%driver: pcib dev.pcib.5.%location: slot=3D30 function=3D0 handle=3D\_SB_.PCI0.PCI4 dev.pcib.5.%pnpinfo: vendor=3D0x8086 device=3D0x244e subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x060401 dev.pcib.5.%parent: pci0 dev.pcib.5.wake: 0 dev.pci.0.%desc: ACPI PCI bus dev.pci.0.%driver: pci dev.pci.0.%parent: pcib0 dev.pci.0.wake: 0 dev.pci.1.%desc: ACPI PCI bus dev.pci.1.%driver: pci dev.pci.1.%parent: pcib1 dev.pci.1.wake: 0 dev.pci.2.%desc: PCI bus dev.pci.2.%driver: pci dev.pci.2.%parent: pcib2 dev.pci.3.%desc: ACPI PCI bus dev.pci.3.%driver: pci dev.pci.3.%parent: pcib3 dev.pci.4.%desc: ACPI PCI bus dev.pci.4.%driver: pci dev.pci.4.%parent: pcib4 dev.pci.4.wake: 0 dev.pci.5.%desc: ACPI PCI bus dev.pci.5.%driver: pci dev.pci.5.%parent: pcib5 dev.pci.5.wake: 0 dev.hostb.0.%desc: Host to PCI bridge dev.hostb.0.%driver: hostb dev.hostb.0.%location: slot=3D0 function=3D0 dev.hostb.0.%pnpinfo: vendor=3D0x8086 device=3D0x29e0 subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x060000 dev.hostb.0.%parent: pci0 dev.vgapci.0.%desc: VGA-compatible display dev.vgapci.0.%driver: vgapci dev.vgapci.0.%location: slot=3D0 function=3D0 dev.vgapci.0.%pnpinfo: vendor=3D0x10de device=3D0x042f = subvendor=3D0x10de subdevice=3D0x0492 class=3D0x030000 dev.vgapci.0.%parent: pci1 dev.uhci.0.%desc: UHCI (generic) USB controller dev.uhci.0.%driver: uhci dev.uhci.0.%location: slot=3D26 function=3D0 handle=3D\_SB_.PCI0.USB3 dev.uhci.0.%pnpinfo: vendor=3D0x8086 device=3D0x2937 subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x0c0300 dev.uhci.0.%parent: pci0 dev.uhci.0.wake: 0 dev.uhci.1.%desc: UHCI (generic) USB controller dev.uhci.1.%driver: uhci dev.uhci.1.%location: slot=3D26 function=3D1 handle=3D\_SB_.PCI0.USB4 dev.uhci.1.%pnpinfo: vendor=3D0x8086 device=3D0x2938 subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x0c0300 dev.uhci.1.%parent: pci0 dev.uhci.1.wake: 0 dev.uhci.2.%desc: UHCI (generic) USB controller dev.uhci.2.%driver: uhci dev.uhci.2.%location: slot=3D26 function=3D2 handle=3D\_SB_.PCI0.USB5 dev.uhci.2.%pnpinfo: vendor=3D0x8086 device=3D0x2939 subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x0c0300 dev.uhci.2.%parent: pci0 dev.uhci.2.wake: 0 dev.uhci.3.%desc: UHCI (generic) USB controller dev.uhci.3.%driver: uhci dev.uhci.3.%location: slot=3D29 function=3D0 handle=3D\_SB_.PCI0.USB0 dev.uhci.3.%pnpinfo: vendor=3D0x8086 device=3D0x2934 subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x0c0300 dev.uhci.3.%parent: pci0 dev.uhci.3.wake: 0 dev.uhci.4.%desc: UHCI (generic) USB controller dev.uhci.4.%driver: uhci dev.uhci.4.%location: slot=3D29 function=3D1 handle=3D\_SB_.PCI0.USB1 dev.uhci.4.%pnpinfo: vendor=3D0x8086 device=3D0x2935 subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x0c0300 dev.uhci.4.%parent: pci0 dev.uhci.4.wake: 0 dev.uhci.5.%desc: UHCI (generic) USB controller dev.uhci.5.%driver: uhci dev.uhci.5.%location: slot=3D29 function=3D2 handle=3D\_SB_.PCI0.USB2 dev.uhci.5.%pnpinfo: vendor=3D0x8086 device=3D0x2936 subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x0c0300 dev.uhci.5.%parent: pci0 dev.uhci.5.wake: 0 dev.usb.0.%desc: UHCI (generic) USB controller dev.usb.0.%driver: usb dev.usb.0.%parent: uhci0 dev.usb.1.%desc: UHCI (generic) USB controller dev.usb.1.%driver: usb dev.usb.1.%parent: uhci1 dev.usb.2.%desc: UHCI (generic) USB controller dev.usb.2.%driver: usb dev.usb.2.%parent: uhci2 dev.usb.3.%desc: EHCI (generic) USB 2.0 controller dev.usb.3.%driver: usb dev.usb.3.%parent: ehci0 dev.usb.4.%desc: UHCI (generic) USB controller dev.usb.4.%driver: usb dev.usb.4.%parent: uhci3 dev.usb.5.%desc: UHCI (generic) USB controller dev.usb.5.%driver: usb dev.usb.5.%parent: uhci4 dev.usb.6.%desc: UHCI (generic) USB controller dev.usb.6.%driver: usb dev.usb.6.%parent: uhci5 dev.usb.7.%desc: EHCI (generic) USB 2.0 controller dev.usb.7.%driver: usb dev.usb.7.%parent: ehci1 dev.uhub.0.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 dev.uhub.0.%driver: uhub dev.uhub.0.%parent: usb0 dev.uhub.1.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 dev.uhub.1.%driver: uhub dev.uhub.1.%parent: usb1 dev.uhub.2.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 dev.uhub.2.%driver: uhub dev.uhub.2.%parent: usb2 dev.uhub.3.%desc: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 dev.uhub.3.%driver: uhub dev.uhub.3.%parent: usb3 dev.uhub.4.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 dev.uhub.4.%driver: uhub dev.uhub.4.%parent: usb4 dev.uhub.5.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 dev.uhub.5.%driver: uhub dev.uhub.5.%parent: usb5 dev.uhub.6.%desc: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1 dev.uhub.6.%driver: uhub dev.uhub.6.%parent: usb6 dev.uhub.7.%desc: Intel EHCI root hub, class 9/0, rev 2.00/1.00, addr 1 dev.uhub.7.%driver: uhub dev.uhub.7.%parent: usb7 dev.ehci.0.%desc: EHCI (generic) USB 2.0 controller dev.ehci.0.%driver: ehci dev.ehci.0.%location: slot=3D26 function=3D7 dev.ehci.0.%pnpinfo: vendor=3D0x8086 device=3D0x293c subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x0c0320 dev.ehci.0.%parent: pci0 dev.ehci.1.%desc: EHCI (generic) USB 2.0 controller dev.ehci.1.%driver: ehci dev.ehci.1.%location: slot=3D29 function=3D7 dev.ehci.1.%pnpinfo: vendor=3D0x8086 device=3D0x293a subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x0c0320 dev.ehci.1.%parent: pci0 dev.bge.0.%desc: Broadcom NetLink Gigabit Ethernet Controller, ASIC rev. = 0xb002 dev.bge.0.%driver: bge dev.bge.0.%location: slot=3D0 function=3D0 dev.bge.0.%pnpinfo: vendor=3D0x14e4 device=3D0x167a subvendor=3D0x1028 = subdevice=3D0x0214 class=3D0x020000 dev.bge.0.%parent: pci4 dev.miibus.0.%desc: MII bus dev.miibus.0.%driver: miibus dev.miibus.0.%parent: bge0 dev.miibus.1.%desc: MII bus dev.miibus.1.%driver: miibus dev.miibus.1.%parent: re0 dev.brgphy.0.%desc: BCM5787 10/100/1000baseTX PHY dev.brgphy.0.%driver: brgphy dev.brgphy.0.%location: phyno=3D1 dev.brgphy.0.%pnpinfo: oui=3D0x50ef model=3D0xe rev=3D0x0 dev.brgphy.0.%parent: miibus0 dev.re.0.%desc: RealTek 8169/8169S/8169SB(L)/8110S/8110SB(L) Gigabit = Ethernet dev.re.0.%driver: re dev.re.0.%location: slot=3D5 function=3D0 dev.re.0.%pnpinfo: vendor=3D0x10ec device=3D0x8169 subvendor=3D0x1385 = subdevice=3D0x311a class=3D0x020000 dev.re.0.%parent: pci5 dev.rgephy.0.%desc: RTL8169S/8110S/8211B media interface dev.rgephy.0.%driver: rgephy dev.rgephy.0.%location: phyno=3D1 dev.rgephy.0.%pnpinfo: oui=3D0x732 model=3D0x11 rev=3D0x0 dev.rgephy.0.%parent: miibus1 dev.isab.0.%desc: PCI-ISA bridge dev.isab.0.%driver: isab dev.isab.0.%location: slot=3D31 function=3D0 handle=3D\_SB_.PCI0.ISA_ dev.isab.0.%pnpinfo: vendor=3D0x8086 device=3D0x2916 subvendor=3D0x0000 = subdevice=3D0x0000 class=3D0x060100 dev.isab.0.%parent: pci0 dev.isa.0.%desc: ISA bus dev.isa.0.%driver: isa dev.isa.0.%parent: isab0 dev.atapci.0.%desc: Intel AHCI controller dev.atapci.0.%driver: atapci dev.atapci.0.%location: slot=3D31 function=3D2 dev.atapci.0.%pnpinfo: vendor=3D0x8086 device=3D0x2922 = subvendor=3D0x1028 subdevice=3D0x0214 class=3D0x010601 dev.atapci.0.%parent: pci0 dev.ata.2.%desc: ATA channel 0 dev.ata.2.%driver: ata dev.ata.2.%parent: atapci0 dev.ata.3.%desc: ATA channel 1 dev.ata.3.%driver: ata dev.ata.3.%parent: atapci0 dev.ata.4.%desc: ATA channel 2 dev.ata.4.%driver: ata dev.ata.4.%parent: atapci0 dev.ata.5.%desc: ATA channel 3 dev.ata.5.%driver: ata dev.ata.5.%parent: atapci0 dev.ata.6.%desc: ATA channel 4 dev.ata.6.%driver: ata dev.ata.6.%parent: atapci0 dev.ata.7.%desc: ATA channel 5 dev.ata.7.%driver: ata dev.ata.7.%parent: atapci0 dev.atdma.0.%desc: AT DMA controller dev.atdma.0.%driver: atdma dev.atdma.0.%location: handle=3D\_SB_.PCI0.ISA_.DMA_ dev.atdma.0.%pnpinfo: _HID=3DPNP0200 _UID=3D0 dev.atdma.0.%parent: acpi0 dev.fpupnp.0.%desc: Legacy ISA coprocessor support dev.fpupnp.0.%driver: fpupnp dev.fpupnp.0.%location: handle=3D\_SB_.PCI0.ISA_.FPU_ dev.fpupnp.0.%pnpinfo: _HID=3DPNP0C04 _UID=3D0 dev.fpupnp.0.%parent: acpi0 dev.attimer.0.%desc: AT realtime clock dev.attimer.0.%driver: attimer dev.attimer.0.%location: handle=3D\_SB_.PCI0.ISA_.RTC_ dev.attimer.0.%pnpinfo: _HID=3DPNP0B00 _UID=3D0 dev.attimer.0.%parent: acpi0 dev.attimer.1.%desc: AT timer dev.attimer.1.%driver: attimer dev.attimer.1.%location: handle=3D\_SB_.PCI0.ISA_.TMR_ dev.attimer.1.%pnpinfo: _HID=3DPNP0100 _UID=3D0 dev.attimer.1.%parent: acpi0 dev.atkbdc.0.%desc: Keyboard controller (i8042) dev.atkbdc.0.%driver: atkbdc dev.atkbdc.0.%location: handle=3D\_SB_.PCI0.ISA_.KBD_ dev.atkbdc.0.%pnpinfo: _HID=3DPNP0303 _UID=3D0 dev.atkbdc.0.%parent: acpi0 dev.atkbdc.0.wake: 0 dev.atkbd.0.%desc: AT Keyboard dev.atkbd.0.%driver: atkbd dev.atkbd.0.%parent: atkbdc0 dev.psmcpnp.0.%desc: PS/2 mouse port dev.psmcpnp.0.%driver: psmcpnp dev.psmcpnp.0.%location: handle=3D\_SB_.PCI0.ISA_.MOU_ dev.psmcpnp.0.%pnpinfo: _HID=3DPNP0F13 _UID=3D0 dev.psmcpnp.0.%parent: acpi0 dev.psm.0.%desc: PS/2 Mouse dev.psm.0.%driver: psm dev.psm.0.%parent: atkbdc0 dev.ppc.0.%desc: Parallel port dev.ppc.0.%driver: ppc dev.ppc.0.%location: handle=3D\_SB_.PCI0.ISA_.PRT_ dev.ppc.0.%pnpinfo: _HID=3DPNP0401 _UID=3D0 dev.ppc.0.%parent: acpi0 dev.ppbus.0.%desc: Parallel port bus dev.ppbus.0.%driver: ppbus dev.ppbus.0.%parent: ppc0 dev.plip.0.%desc: PLIP network interface dev.plip.0.%driver: plip dev.plip.0.%parent: ppbus0 dev.lpt.0.%desc: Printer dev.lpt.0.%driver: lpt dev.lpt.0.%parent: ppbus0 dev.ppi.0.%desc: Parallel I/O dev.ppi.0.%driver: ppi dev.ppi.0.%parent: ppbus0 dev.sio.0.%desc: 16550A-compatible COM port dev.sio.0.%driver: sio dev.sio.0.%location: handle=3D\_SB_.PCI0.ISA_.COMA dev.sio.0.%pnpinfo: _HID=3DPNP0501 _UID=3D1 dev.sio.0.%parent: acpi0 dev.cpu.0.%desc: ACPI CPU dev.cpu.0.%driver: cpu dev.cpu.0.%location: handle=3D\_PR_.CPU0 dev.cpu.0.%pnpinfo: _HID=3Dnone _UID=3D0 dev.cpu.0.%parent: acpi0 dev.cpu.0.freq: 2382 dev.cpu.0.freq_levels: 2382/-1 2084/-1 1786/-1 1488/-1 1191/-1 893/-1 = 595/-1 297/-1 dev.cpu.0.cx_supported: C1/0 dev.cpu.0.cx_lowest: C1 dev.cpu.0.cx_usage: 100.00% dev.cpu.1.%desc: ACPI CPU dev.cpu.1.%driver: cpu dev.cpu.1.%location: handle=3D\_PR_.CPU1 dev.cpu.1.%pnpinfo: _HID=3Dnone _UID=3D0 dev.cpu.1.%parent: acpi0 dev.cpu.1.cx_supported: C1/0 dev.cpu.1.cx_lowest: C1 dev.cpu.1.cx_usage: 100.00% dev.p4tcc.0.%desc: CPU Frequency Thermal Control dev.p4tcc.0.%driver: p4tcc dev.p4tcc.0.%parent: cpu0 dev.p4tcc.0.freq_settings: 10000/-1 8750/-1 7500/-1 6250/-1 5000/-1 = 3750/-1 2500/-1 1250/-1 dev.p4tcc.1.%desc: CPU Frequency Thermal Control dev.p4tcc.1.%driver: p4tcc dev.p4tcc.1.%parent: cpu1 dev.p4tcc.1.freq_settings: 10000/-1 8750/-1 7500/-1 6250/-1 5000/-1 = 3750/-1 2500/-1 1250/-1 dev.cpufreq.0.%driver: cpufreq dev.cpufreq.0.%parent: cpu0 dev.cpufreq.1.%driver: cpufreq dev.cpufreq.1.%parent: cpu1 dev.apic.0.%desc: APIC resources dev.apic.0.%driver: apic dev.apic.0.%parent: nexus0 dev.orm.0.%desc: ISA Option ROMs dev.orm.0.%driver: orm dev.orm.0.%parent: isa0 dev.sc.0.%desc: System console dev.sc.0.%driver: sc dev.sc.0.%parent: isa0 dev.vga.0.%desc: Generic ISA VGA dev.vga.0.%driver: vga dev.vga.0.%parent: isa0 dev.ad.4.%desc: ST380815AS/4.ADA dev.ad.4.%driver: ad dev.ad.4.%parent: ata2 dev.subdisk.4.%driver: subdisk dev.subdisk.4.%parent: ad4 dev.acd.0.%desc: TSSTcorpDVD-ROM TS-H353B/D500 dev.acd.0.%driver: acd dev.acd.0.%parent: ata3 hptmv.status: RocketRAID 182x SATA Controller driver Version v1.12 --Boundary_(ID_q+q/9SmDfq3iWLIJEHBW2w) Content-type: application/octet-stream; name=Linux_sysctl Content-transfer-encoding: quoted-printable Content-disposition: attachment; filename=Linux_sysctl kernel.sched_rt_period_us =3D 1000000=0A= kernel.sched_rt_runtime_us =3D 950000=0A= kernel.sched_compat_yield =3D 0=0A= kernel.panic =3D 0=0A= kernel.core_uses_pid =3D 1=0A= kernel.core_pattern =3D core=0A= kernel.tainted =3D 0=0A= kernel.real-root-dev =3D 0=0A= kernel.print-fatal-signals =3D 0=0A= kernel.ctrl-alt-del =3D 0=0A= kernel.ftrace_dump_on_oops =3D 0=0A= kernel.modprobe =3D /sbin/modprobe=0A= kernel.modules_disabled =3D 0=0A= kernel.hotplug =3D =0A= kernel.sg-big-buff =3D 32768=0A= kernel.acct =3D 4 2 30=0A= kernel.cad_pid =3D 1=0A= kernel.threads-max =3D 32736=0A= kernel.random.poolsize =3D 4096=0A= kernel.random.entropy_avail =3D 1189=0A= kernel.random.read_wakeup_threshold =3D 64=0A= kernel.random.write_wakeup_threshold =3D 128=0A= kernel.random.boot_id =3D 75ead7cc-2661-4e0c-af74-79f9a92f1e57=0A= kernel.random.uuid =3D 1b93c51e-5c07-49d0-a050-05c5770f9883=0A= kernel.overflowuid =3D 65534=0A= kernel.overflowgid =3D 65534=0A= kernel.pid_max =3D 32768=0A= kernel.panic_on_oops =3D 0=0A= kernel.printk =3D 7 4 1 7=0A= kernel.printk_ratelimit =3D 5=0A= kernel.printk_ratelimit_burst =3D 10=0A= kernel.ngroups_max =3D 65536=0A= kernel.unknown_nmi_panic =3D 0=0A= kernel.nmi_watchdog =3D 0=0A= kernel.panic_on_unrecovered_nmi =3D 0=0A= kernel.panic_on_io_nmi =3D 0=0A= kernel.bootloader_type =3D 113=0A= kernel.bootloader_version =3D 1=0A= kernel.kstack_depth_to_print =3D 12=0A= kernel.io_delay_type =3D 0=0A= kernel.randomize_va_space =3D 2=0A= kernel.acpi_video_flags =3D 0=0A= kernel.compat-log =3D 1=0A= kernel.max_lock_depth =3D 1024=0A= kernel.poweroff_cmd =3D /sbin/poweroff=0A= kernel.keys.maxkeys =3D 200=0A= kernel.keys.maxbytes =3D 20000=0A= kernel.keys.root_maxkeys =3D 200=0A= kernel.keys.root_maxbytes =3D 20000=0A= kernel.slow-work.min-threads =3D 2=0A= kernel.slow-work.max-threads =3D 8=0A= kernel.slow-work.vslow-percentage =3D 50=0A= kernel.perf_counter_paranoid =3D 1=0A= kernel.perf_counter_mlock_kb =3D 512=0A= kernel.perf_counter_max_sample_rate =3D 100000=0A= kernel.vsyscall64 =3D 1=0A= kernel.ostype =3D Linux=0A= kernel.osrelease =3D 2.6.31.1=0A= kernel.version =3D #2 SMP Fri Oct 9 04:57:07 PDT 2009=0A= kernel.hostname =3D localhost.localdomain=0A= kernel.domainname =3D (none)=0A= kernel.shmmax =3D 33554432=0A= kernel.shmall =3D 2097152=0A= kernel.shmmni =3D 4096=0A= kernel.msgmax =3D 8192=0A= kernel.msgmni =3D 4015=0A= kernel.msgmnb =3D 16384=0A= kernel.sem =3D 250 32000 32 128=0A= kernel.auto_msgmni =3D 1=0A= kernel.pty.max =3D 4096=0A= kernel.pty.nr =3D 1=0A= vm.overcommit_memory =3D 0=0A= vm.panic_on_oom =3D 0=0A= vm.oom_kill_allocating_task =3D 0=0A= vm.oom_dump_tasks =3D 0=0A= vm.overcommit_ratio =3D 50=0A= vm.page-cluster =3D 3=0A= vm.dirty_background_ratio =3D 10=0A= vm.dirty_background_bytes =3D 0=0A= vm.dirty_ratio =3D 20=0A= vm.dirty_bytes =3D 0=0A= vm.dirty_writeback_centisecs =3D 500=0A= vm.dirty_expire_centisecs =3D 3000=0A= vm.nr_pdflush_threads =3D 2=0A= vm.swappiness =3D 60=0A= vm.nr_hugepages =3D 0=0A= vm.hugetlb_shm_group =3D 0=0A= vm.hugepages_treat_as_movable =3D 0=0A= vm.nr_overcommit_hugepages =3D 0=0A= vm.lowmem_reserve_ratio =3D 256 256 32=0A= vm.drop_caches =3D 0=0A= vm.min_free_kbytes =3D 5748=0A= vm.percpu_pagelist_fraction =3D 0=0A= vm.max_map_count =3D 65530=0A= vm.laptop_mode =3D 0=0A= vm.block_dump =3D 0=0A= vm.vfs_cache_pressure =3D 100=0A= vm.legacy_va_layout =3D 0=0A= vm.zone_reclaim_mode =3D 0=0A= vm.min_unmapped_ratio =3D 1=0A= vm.min_slab_ratio =3D 5=0A= vm.stat_interval =3D 1=0A= vm.mmap_min_addr =3D 4096=0A= vm.numa_zonelist_order =3D default=0A= vm.scan_unevictable_pages =3D 0=0A= fs.inode-nr =3D 5854 268=0A= fs.inode-state =3D 5854 268 0 0 0 0 0=0A= fs.file-nr =3D 64 0 203013=0A= fs.file-max =3D 203013=0A= fs.nr_open =3D 1048576=0A= fs.dentry-state =3D 5869 2519 45 0 0 0=0A= fs.overflowuid =3D 65534=0A= fs.overflowgid =3D 65534=0A= fs.leases-enable =3D 1=0A= fs.dir-notify-enable =3D 1=0A= fs.lease-break-time =3D 45=0A= fs.aio-nr =3D 0=0A= fs.aio-max-nr =3D 65536=0A= fs.inotify.max_user_instances =3D 128=0A= fs.inotify.max_user_watches =3D 8192=0A= fs.inotify.max_queued_events =3D 16384=0A= fs.epoll.max_user_watches =3D 420270=0A= fs.suid_dumpable =3D 0=0A= fs.binfmt_misc.status =3D enabled=0A= fs.quota.lookups =3D 0=0A= fs.quota.drops =3D 0=0A= fs.quota.reads =3D 0=0A= fs.quota.writes =3D 0=0A= fs.quota.cache_hits =3D 0=0A= fs.quota.allocated_dquots =3D 0=0A= fs.quota.free_dquots =3D 0=0A= fs.quota.syncs =3D 24=0A= fs.mqueue.queues_max =3D 256=0A= fs.mqueue.msg_max =3D 10=0A= fs.mqueue.msgsize_max =3D 8192=0A= debug.exception-trace =3D 1=0A= dev.scsi.logging_level =3D 0=0A= dev.raid.speed_limit_min =3D 1000=0A= dev.raid.speed_limit_max =3D 200000=0A= dev.hpet.max-user-freq =3D 64=0A= dev.mac_hid.mouse_button_emulation =3D 0=0A= dev.mac_hid.mouse_button2_keycode =3D 97=0A= dev.mac_hid.mouse_button3_keycode =3D 100=0A= dev.cdrom.info =3D CD-ROM information, Id: cdrom.c 3.20 2003/12/17=0A= dev.cdrom.info =3D =0A= dev.cdrom.info =3D drive name: sr0=0A= dev.cdrom.info =3D drive speed: 48=0A= dev.cdrom.info =3D drive # of slots: 1=0A= dev.cdrom.info =3D Can close tray: 1=0A= dev.cdrom.info =3D Can open tray: 1=0A= dev.cdrom.info =3D Can lock tray: 1=0A= dev.cdrom.info =3D Can change speed: 1=0A= dev.cdrom.info =3D Can select disk: 0=0A= dev.cdrom.info =3D Can read multisession: 1=0A= dev.cdrom.info =3D Can read MCN: 1=0A= dev.cdrom.info =3D Reports media changed: 1=0A= dev.cdrom.info =3D Can play audio: 1=0A= dev.cdrom.info =3D Can write CD-R: 0=0A= dev.cdrom.info =3D Can write CD-RW: 0=0A= dev.cdrom.info =3D Can read DVD: 1=0A= dev.cdrom.info =3D Can write DVD-R: 0=0A= dev.cdrom.info =3D Can write DVD-RAM: 0=0A= dev.cdrom.info =3D Can read MRW: 1=0A= dev.cdrom.info =3D Can write MRW: 1=0A= dev.cdrom.info =3D Can write RAM: 1=0A= dev.cdrom.info =3D =0A= dev.cdrom.info =3D =0A= dev.cdrom.autoclose =3D 1=0A= dev.cdrom.autoeject =3D 0=0A= dev.cdrom.debug =3D 0=0A= dev.cdrom.lock =3D 1=0A= dev.cdrom.check_media =3D 0=0A= dev.parport.default.timeslice =3D 200=0A= dev.parport.default.spintime =3D 500=0A= dev.parport.parport0.spintime =3D 500=0A= dev.parport.parport0.base-addr =3D 888 1912=0A= dev.parport.parport0.irq =3D 7=0A= dev.parport.parport0.dma =3D -1=0A= dev.parport.parport0.modes =3D PCSPP,TRISTATE=0A= dev.parport.parport0.devices.active =3D none=0A= net.netfilter.nf_log.0 =3D NONE=0A= net.netfilter.nf_log.1 =3D NONE=0A= net.netfilter.nf_log.2 =3D NONE=0A= net.netfilter.nf_log.3 =3D NONE=0A= net.netfilter.nf_log.4 =3D NONE=0A= net.netfilter.nf_log.5 =3D NONE=0A= net.netfilter.nf_log.6 =3D NONE=0A= net.netfilter.nf_log.7 =3D NONE=0A= net.netfilter.nf_log.8 =3D NONE=0A= net.netfilter.nf_log.9 =3D NONE=0A= net.netfilter.nf_log.10 =3D NONE=0A= net.netfilter.nf_log.11 =3D NONE=0A= net.netfilter.nf_log.12 =3D NONE=0A= net.netfilter.nf_conntrack_generic_timeout =3D 600=0A= net.netfilter.nf_conntrack_tcp_timeout_syn_sent =3D 120=0A= net.netfilter.nf_conntrack_tcp_timeout_syn_recv =3D 60=0A= net.netfilter.nf_conntrack_tcp_timeout_established =3D 432000=0A= net.netfilter.nf_conntrack_tcp_timeout_fin_wait =3D 120=0A= net.netfilter.nf_conntrack_tcp_timeout_close_wait =3D 60=0A= net.netfilter.nf_conntrack_tcp_timeout_last_ack =3D 30=0A= net.netfilter.nf_conntrack_tcp_timeout_time_wait =3D 120=0A= net.netfilter.nf_conntrack_tcp_timeout_close =3D 10=0A= net.netfilter.nf_conntrack_tcp_timeout_max_retrans =3D 300=0A= net.netfilter.nf_conntrack_tcp_timeout_unacknowledged =3D 300=0A= net.netfilter.nf_conntrack_tcp_loose =3D 1=0A= net.netfilter.nf_conntrack_tcp_be_liberal =3D 0=0A= net.netfilter.nf_conntrack_tcp_max_retrans =3D 3=0A= net.netfilter.nf_conntrack_udp_timeout =3D 30=0A= net.netfilter.nf_conntrack_udp_timeout_stream =3D 180=0A= net.netfilter.nf_conntrack_icmp_timeout =3D 30=0A= net.netfilter.nf_conntrack_acct =3D 1=0A= net.netfilter.nf_conntrack_events =3D 1=0A= net.netfilter.nf_conntrack_events_retry_timeout =3D 15=0A= net.netfilter.nf_conntrack_max =3D 65536=0A= net.netfilter.nf_conntrack_count =3D 0=0A= net.netfilter.nf_conntrack_buckets =3D 16384=0A= net.netfilter.nf_conntrack_checksum =3D 1=0A= net.netfilter.nf_conntrack_log_invalid =3D 0=0A= net.netfilter.nf_conntrack_expect_max =3D 256=0A= net.core.somaxconn =3D 128=0A= net.core.xfrm_aevent_etime =3D 10=0A= net.core.xfrm_aevent_rseqth =3D 2=0A= net.core.xfrm_larval_drop =3D 1=0A= net.core.xfrm_acq_expires =3D 30=0A= net.core.wmem_max =3D 131071=0A= net.core.rmem_max =3D 131071=0A= net.core.wmem_default =3D 129024=0A= net.core.rmem_default =3D 129024=0A= net.core.dev_weight =3D 64=0A= net.core.netdev_max_backlog =3D 1000=0A= net.core.message_cost =3D 5=0A= net.core.message_burst =3D 10=0A= net.core.optmem_max =3D 20480=0A= net.core.netdev_budget =3D 300=0A= net.core.warnings =3D 1=0A= net.ipv4.route.gc_thresh =3D 65536=0A= net.ipv4.route.max_size =3D 1048576=0A= net.ipv4.route.gc_min_interval =3D 0=0A= net.ipv4.route.gc_min_interval_ms =3D 500=0A= net.ipv4.route.gc_timeout =3D 300=0A= net.ipv4.route.gc_interval =3D 60=0A= net.ipv4.route.redirect_load =3D 20=0A= net.ipv4.route.redirect_number =3D 9=0A= net.ipv4.route.redirect_silence =3D 20480=0A= net.ipv4.route.error_cost =3D 1000=0A= net.ipv4.route.error_burst =3D 5000=0A= net.ipv4.route.gc_elasticity =3D 8=0A= net.ipv4.route.mtu_expires =3D 600=0A= net.ipv4.route.min_pmtu =3D 552=0A= net.ipv4.route.min_adv_mss =3D 256=0A= net.ipv4.route.secret_interval =3D 600=0A= net.ipv4.neigh.default.mcast_solicit =3D 3=0A= net.ipv4.neigh.default.ucast_solicit =3D 3=0A= net.ipv4.neigh.default.app_solicit =3D 0=0A= net.ipv4.neigh.default.retrans_time =3D 99=0A= net.ipv4.neigh.default.base_reachable_time =3D 30=0A= net.ipv4.neigh.default.delay_first_probe_time =3D 5=0A= net.ipv4.neigh.default.gc_stale_time =3D 60=0A= net.ipv4.neigh.default.unres_qlen =3D 3=0A= net.ipv4.neigh.default.proxy_qlen =3D 64=0A= net.ipv4.neigh.default.anycast_delay =3D 99=0A= net.ipv4.neigh.default.proxy_delay =3D 79=0A= net.ipv4.neigh.default.locktime =3D 99=0A= net.ipv4.neigh.default.retrans_time_ms =3D 1000=0A= net.ipv4.neigh.default.base_reachable_time_ms =3D 30000=0A= net.ipv4.neigh.default.gc_interval =3D 30=0A= net.ipv4.neigh.default.gc_thresh1 =3D 128=0A= net.ipv4.neigh.default.gc_thresh2 =3D 512=0A= net.ipv4.neigh.default.gc_thresh3 =3D 1024=0A= net.ipv4.neigh.lo.mcast_solicit =3D 3=0A= net.ipv4.neigh.lo.ucast_solicit =3D 3=0A= net.ipv4.neigh.lo.app_solicit =3D 0=0A= net.ipv4.neigh.lo.retrans_time =3D 99=0A= net.ipv4.neigh.lo.base_reachable_time =3D 30=0A= net.ipv4.neigh.lo.delay_first_probe_time =3D 5=0A= net.ipv4.neigh.lo.gc_stale_time =3D 60=0A= net.ipv4.neigh.lo.unres_qlen =3D 3=0A= net.ipv4.neigh.lo.proxy_qlen =3D 64=0A= net.ipv4.neigh.lo.anycast_delay =3D 99=0A= net.ipv4.neigh.lo.proxy_delay =3D 79=0A= net.ipv4.neigh.lo.locktime =3D 99=0A= net.ipv4.neigh.lo.retrans_time_ms =3D 1000=0A= net.ipv4.neigh.lo.base_reachable_time_ms =3D 30000=0A= net.ipv4.neigh.eth1.mcast_solicit =3D 3=0A= net.ipv4.neigh.eth1.ucast_solicit =3D 3=0A= net.ipv4.neigh.eth1.app_solicit =3D 0=0A= net.ipv4.neigh.eth1.retrans_time =3D 99=0A= net.ipv4.neigh.eth1.base_reachable_time =3D 30=0A= net.ipv4.neigh.eth1.delay_first_probe_time =3D 5=0A= net.ipv4.neigh.eth1.gc_stale_time =3D 60=0A= net.ipv4.neigh.eth1.unres_qlen =3D 3=0A= net.ipv4.neigh.eth1.proxy_qlen =3D 64=0A= net.ipv4.neigh.eth1.anycast_delay =3D 99=0A= net.ipv4.neigh.eth1.proxy_delay =3D 79=0A= net.ipv4.neigh.eth1.locktime =3D 99=0A= net.ipv4.neigh.eth1.retrans_time_ms =3D 1000=0A= net.ipv4.neigh.eth1.base_reachable_time_ms =3D 30000=0A= net.ipv4.neigh.eth0_rename.mcast_solicit =3D 3=0A= net.ipv4.neigh.eth0_rename.ucast_solicit =3D 3=0A= net.ipv4.neigh.eth0_rename.app_solicit =3D 0=0A= net.ipv4.neigh.eth0_rename.retrans_time =3D 99=0A= net.ipv4.neigh.eth0_rename.base_reachable_time =3D 30=0A= net.ipv4.neigh.eth0_rename.delay_first_probe_time =3D 5=0A= net.ipv4.neigh.eth0_rename.gc_stale_time =3D 60=0A= net.ipv4.neigh.eth0_rename.unres_qlen =3D 3=0A= net.ipv4.neigh.eth0_rename.proxy_qlen =3D 64=0A= net.ipv4.neigh.eth0_rename.anycast_delay =3D 99=0A= net.ipv4.neigh.eth0_rename.proxy_delay =3D 79=0A= net.ipv4.neigh.eth0_rename.locktime =3D 99=0A= net.ipv4.neigh.eth0_rename.retrans_time_ms =3D 1000=0A= net.ipv4.neigh.eth0_rename.base_reachable_time_ms =3D 30000=0A= net.ipv4.neigh.eth3_rename.mcast_solicit =3D 3=0A= net.ipv4.neigh.eth3_rename.ucast_solicit =3D 3=0A= net.ipv4.neigh.eth3_rename.app_solicit =3D 0=0A= net.ipv4.neigh.eth3_rename.retrans_time =3D 99=0A= net.ipv4.neigh.eth3_rename.base_reachable_time =3D 30=0A= net.ipv4.neigh.eth3_rename.delay_first_probe_time =3D 5=0A= net.ipv4.neigh.eth3_rename.gc_stale_time =3D 60=0A= net.ipv4.neigh.eth3_rename.unres_qlen =3D 3=0A= net.ipv4.neigh.eth3_rename.proxy_qlen =3D 64=0A= net.ipv4.neigh.eth3_rename.anycast_delay =3D 99=0A= net.ipv4.neigh.eth3_rename.proxy_delay =3D 79=0A= net.ipv4.neigh.eth3_rename.locktime =3D 99=0A= net.ipv4.neigh.eth3_rename.retrans_time_ms =3D 1000=0A= net.ipv4.neigh.eth3_rename.base_reachable_time_ms =3D 30000=0A= net.ipv4.neigh.eth0.mcast_solicit =3D 3=0A= net.ipv4.neigh.eth0.ucast_solicit =3D 3=0A= net.ipv4.neigh.eth0.app_solicit =3D 0=0A= net.ipv4.neigh.eth0.retrans_time =3D 99=0A= net.ipv4.neigh.eth0.base_reachable_time =3D 30=0A= net.ipv4.neigh.eth0.delay_first_probe_time =3D 5=0A= net.ipv4.neigh.eth0.gc_stale_time =3D 60=0A= net.ipv4.neigh.eth0.unres_qlen =3D 3=0A= net.ipv4.neigh.eth0.proxy_qlen =3D 64=0A= net.ipv4.neigh.eth0.anycast_delay =3D 99=0A= net.ipv4.neigh.eth0.proxy_delay =3D 79=0A= net.ipv4.neigh.eth0.locktime =3D 99=0A= net.ipv4.neigh.eth0.retrans_time_ms =3D 1000=0A= net.ipv4.neigh.eth0.base_reachable_time_ms =3D 30000=0A= net.ipv4.tcp_timestamps =3D 1=0A= net.ipv4.tcp_window_scaling =3D 1=0A= net.ipv4.tcp_sack =3D 1=0A= net.ipv4.tcp_retrans_collapse =3D 1=0A= net.ipv4.ip_default_ttl =3D 64=0A= net.ipv4.ip_no_pmtu_disc =3D 0=0A= net.ipv4.ip_nonlocal_bind =3D 0=0A= net.ipv4.tcp_syn_retries =3D 5=0A= net.ipv4.tcp_synack_retries =3D 5=0A= net.ipv4.tcp_max_orphans =3D 65536=0A= net.ipv4.tcp_max_tw_buckets =3D 180000=0A= net.ipv4.ip_dynaddr =3D 0=0A= net.ipv4.tcp_keepalive_time =3D 7200=0A= net.ipv4.tcp_keepalive_probes =3D 9=0A= net.ipv4.tcp_keepalive_intvl =3D 75=0A= net.ipv4.tcp_retries1 =3D 3=0A= net.ipv4.tcp_retries2 =3D 15=0A= net.ipv4.tcp_fin_timeout =3D 60=0A= net.ipv4.tcp_syncookies =3D 0=0A= net.ipv4.tcp_tw_recycle =3D 0=0A= net.ipv4.tcp_abort_on_overflow =3D 0=0A= net.ipv4.tcp_stdurg =3D 0=0A= net.ipv4.tcp_rfc1337 =3D 0=0A= net.ipv4.tcp_max_syn_backlog =3D 1024=0A= net.ipv4.ip_local_port_range =3D 32768 61000=0A= net.ipv4.igmp_max_memberships =3D 20=0A= net.ipv4.igmp_max_msf =3D 10=0A= net.ipv4.inet_peer_threshold =3D 65664=0A= net.ipv4.inet_peer_minttl =3D 120=0A= net.ipv4.inet_peer_maxttl =3D 600=0A= net.ipv4.inet_peer_gc_mintime =3D 10=0A= net.ipv4.inet_peer_gc_maxtime =3D 120=0A= net.ipv4.tcp_orphan_retries =3D 0=0A= net.ipv4.tcp_fack =3D 1=0A= net.ipv4.tcp_reordering =3D 3=0A= net.ipv4.tcp_ecn =3D 2=0A= net.ipv4.tcp_dsack =3D 1=0A= net.ipv4.tcp_mem =3D 192384 256512 384768=0A= net.ipv4.tcp_wmem =3D 4096 16384 4194304=0A= net.ipv4.tcp_rmem =3D 4096 87380 4194304=0A= net.ipv4.tcp_app_win =3D 31=0A= net.ipv4.tcp_adv_win_scale =3D 2=0A= net.ipv4.tcp_tw_reuse =3D 0=0A= net.ipv4.tcp_frto =3D 2=0A= net.ipv4.tcp_frto_response =3D 0=0A= net.ipv4.tcp_low_latency =3D 0=0A= net.ipv4.tcp_no_metrics_save =3D 0=0A= net.ipv4.tcp_moderate_rcvbuf =3D 1=0A= net.ipv4.tcp_tso_win_divisor =3D 3=0A= net.ipv4.tcp_congestion_control =3D reno=0A= net.ipv4.tcp_abc =3D 0=0A= net.ipv4.tcp_mtu_probing =3D 0=0A= net.ipv4.tcp_base_mss =3D 512=0A= net.ipv4.tcp_workaround_signed_windows =3D 0=0A= net.ipv4.tcp_dma_copybreak =3D 4096=0A= net.ipv4.tcp_slow_start_after_idle =3D 1=0A= net.ipv4.cipso_cache_enable =3D 1=0A= net.ipv4.cipso_cache_bucket_size =3D 10=0A= net.ipv4.cipso_rbm_optfmt =3D 0=0A= net.ipv4.cipso_rbm_strictvalid =3D 1=0A= net.ipv4.tcp_available_congestion_control =3D reno=0A= net.ipv4.tcp_allowed_congestion_control =3D reno=0A= net.ipv4.tcp_max_ssthresh =3D 0=0A= net.ipv4.udp_mem =3D 192384 256512 384768=0A= net.ipv4.udp_rmem_min =3D 4096=0A= net.ipv4.udp_wmem_min =3D 4096=0A= net.ipv4.conf.all.forwarding =3D 0=0A= net.ipv4.conf.all.mc_forwarding =3D 0=0A= net.ipv4.conf.all.accept_redirects =3D 1=0A= net.ipv4.conf.all.secure_redirects =3D 1=0A= net.ipv4.conf.all.shared_media =3D 1=0A= net.ipv4.conf.all.rp_filter =3D 0=0A= net.ipv4.conf.all.send_redirects =3D 1=0A= net.ipv4.conf.all.accept_source_route =3D 0=0A= net.ipv4.conf.all.proxy_arp =3D 0=0A= net.ipv4.conf.all.medium_id =3D 0=0A= net.ipv4.conf.all.bootp_relay =3D 0=0A= net.ipv4.conf.all.log_martians =3D 0=0A= net.ipv4.conf.all.tag =3D 0=0A= net.ipv4.conf.all.arp_filter =3D 0=0A= net.ipv4.conf.all.arp_announce =3D 0=0A= net.ipv4.conf.all.arp_ignore =3D 0=0A= net.ipv4.conf.all.arp_accept =3D 0=0A= net.ipv4.conf.all.arp_notify =3D 0=0A= net.ipv4.conf.all.disable_xfrm =3D 0=0A= net.ipv4.conf.all.disable_policy =3D 0=0A= net.ipv4.conf.all.force_igmp_version =3D 0=0A= net.ipv4.conf.all.promote_secondaries =3D 0=0A= net.ipv4.conf.default.forwarding =3D 0=0A= net.ipv4.conf.default.mc_forwarding =3D 0=0A= net.ipv4.conf.default.accept_redirects =3D 1=0A= net.ipv4.conf.default.secure_redirects =3D 1=0A= net.ipv4.conf.default.shared_media =3D 1=0A= net.ipv4.conf.default.rp_filter =3D 1=0A= net.ipv4.conf.default.send_redirects =3D 1=0A= net.ipv4.conf.default.accept_source_route =3D 0=0A= net.ipv4.conf.default.proxy_arp =3D 0=0A= net.ipv4.conf.default.medium_id =3D 0=0A= net.ipv4.conf.default.bootp_relay =3D 0=0A= net.ipv4.conf.default.log_martians =3D 0=0A= net.ipv4.conf.default.tag =3D 0=0A= net.ipv4.conf.default.arp_filter =3D 0=0A= net.ipv4.conf.default.arp_announce =3D 0=0A= net.ipv4.conf.default.arp_ignore =3D 0=0A= net.ipv4.conf.default.arp_accept =3D 0=0A= net.ipv4.conf.default.arp_notify =3D 0=0A= net.ipv4.conf.default.disable_xfrm =3D 0=0A= net.ipv4.conf.default.disable_policy =3D 0=0A= net.ipv4.conf.default.force_igmp_version =3D 0=0A= net.ipv4.conf.default.promote_secondaries =3D 0=0A= net.ipv4.conf.lo.forwarding =3D 0=0A= net.ipv4.conf.lo.mc_forwarding =3D 0=0A= net.ipv4.conf.lo.accept_redirects =3D 1=0A= net.ipv4.conf.lo.secure_redirects =3D 1=0A= net.ipv4.conf.lo.shared_media =3D 1=0A= net.ipv4.conf.lo.rp_filter =3D 1=0A= net.ipv4.conf.lo.send_redirects =3D 1=0A= net.ipv4.conf.lo.accept_source_route =3D 0=0A= net.ipv4.conf.lo.proxy_arp =3D 0=0A= net.ipv4.conf.lo.medium_id =3D 0=0A= net.ipv4.conf.lo.bootp_relay =3D 0=0A= net.ipv4.conf.lo.log_martians =3D 0=0A= net.ipv4.conf.lo.tag =3D 0=0A= net.ipv4.conf.lo.arp_filter =3D 0=0A= net.ipv4.conf.lo.arp_announce =3D 0=0A= net.ipv4.conf.lo.arp_ignore =3D 0=0A= net.ipv4.conf.lo.arp_accept =3D 0=0A= net.ipv4.conf.lo.arp_notify =3D 0=0A= net.ipv4.conf.lo.disable_xfrm =3D 1=0A= net.ipv4.conf.lo.disable_policy =3D 1=0A= net.ipv4.conf.lo.force_igmp_version =3D 0=0A= net.ipv4.conf.lo.promote_secondaries =3D 0=0A= net.ipv4.conf.eth1.forwarding =3D 0=0A= net.ipv4.conf.eth1.mc_forwarding =3D 0=0A= net.ipv4.conf.eth1.accept_redirects =3D 1=0A= net.ipv4.conf.eth1.secure_redirects =3D 1=0A= net.ipv4.conf.eth1.shared_media =3D 1=0A= net.ipv4.conf.eth1.rp_filter =3D 1=0A= net.ipv4.conf.eth1.send_redirects =3D 1=0A= net.ipv4.conf.eth1.accept_source_route =3D 0=0A= net.ipv4.conf.eth1.proxy_arp =3D 0=0A= net.ipv4.conf.eth1.medium_id =3D 0=0A= net.ipv4.conf.eth1.bootp_relay =3D 0=0A= net.ipv4.conf.eth1.log_martians =3D 0=0A= net.ipv4.conf.eth1.tag =3D 0=0A= net.ipv4.conf.eth1.arp_filter =3D 0=0A= net.ipv4.conf.eth1.arp_announce =3D 0=0A= net.ipv4.conf.eth1.arp_ignore =3D 0=0A= net.ipv4.conf.eth1.arp_accept =3D 0=0A= net.ipv4.conf.eth1.arp_notify =3D 0=0A= net.ipv4.conf.eth1.disable_xfrm =3D 0=0A= net.ipv4.conf.eth1.disable_policy =3D 0=0A= net.ipv4.conf.eth1.force_igmp_version =3D 0=0A= net.ipv4.conf.eth1.promote_secondaries =3D 0=0A= net.ipv4.conf.eth0_rename.forwarding =3D 0=0A= net.ipv4.conf.eth0_rename.mc_forwarding =3D 0=0A= net.ipv4.conf.eth0_rename.accept_redirects =3D 1=0A= net.ipv4.conf.eth0_rename.secure_redirects =3D 1=0A= net.ipv4.conf.eth0_rename.shared_media =3D 1=0A= net.ipv4.conf.eth0_rename.rp_filter =3D 1=0A= net.ipv4.conf.eth0_rename.send_redirects =3D 1=0A= net.ipv4.conf.eth0_rename.accept_source_route =3D 0=0A= net.ipv4.conf.eth0_rename.proxy_arp =3D 0=0A= net.ipv4.conf.eth0_rename.medium_id =3D 0=0A= net.ipv4.conf.eth0_rename.bootp_relay =3D 0=0A= net.ipv4.conf.eth0_rename.log_martians =3D 0=0A= net.ipv4.conf.eth0_rename.tag =3D 0=0A= net.ipv4.conf.eth0_rename.arp_filter =3D 0=0A= net.ipv4.conf.eth0_rename.arp_announce =3D 0=0A= net.ipv4.conf.eth0_rename.arp_ignore =3D 0=0A= net.ipv4.conf.eth0_rename.arp_accept =3D 0=0A= net.ipv4.conf.eth0_rename.arp_notify =3D 0=0A= net.ipv4.conf.eth0_rename.disable_xfrm =3D 0=0A= net.ipv4.conf.eth0_rename.disable_policy =3D 0=0A= net.ipv4.conf.eth0_rename.force_igmp_version =3D 0=0A= net.ipv4.conf.eth0_rename.promote_secondaries =3D 0=0A= net.ipv4.conf.eth3_rename.forwarding =3D 0=0A= net.ipv4.conf.eth3_rename.mc_forwarding =3D 0=0A= net.ipv4.conf.eth3_rename.accept_redirects =3D 1=0A= net.ipv4.conf.eth3_rename.secure_redirects =3D 1=0A= net.ipv4.conf.eth3_rename.shared_media =3D 1=0A= net.ipv4.conf.eth3_rename.rp_filter =3D 1=0A= net.ipv4.conf.eth3_rename.send_redirects =3D 1=0A= net.ipv4.conf.eth3_rename.accept_source_route =3D 0=0A= net.ipv4.conf.eth3_rename.proxy_arp =3D 0=0A= net.ipv4.conf.eth3_rename.medium_id =3D 0=0A= net.ipv4.conf.eth3_rename.bootp_relay =3D 0=0A= net.ipv4.conf.eth3_rename.log_martians =3D 0=0A= net.ipv4.conf.eth3_rename.tag =3D 0=0A= net.ipv4.conf.eth3_rename.arp_filter =3D 0=0A= net.ipv4.conf.eth3_rename.arp_announce =3D 0=0A= net.ipv4.conf.eth3_rename.arp_ignore =3D 0=0A= net.ipv4.conf.eth3_rename.arp_accept =3D 0=0A= net.ipv4.conf.eth3_rename.arp_notify =3D 0=0A= net.ipv4.conf.eth3_rename.disable_xfrm =3D 0=0A= net.ipv4.conf.eth3_rename.disable_policy =3D 0=0A= net.ipv4.conf.eth3_rename.force_igmp_version =3D 0=0A= net.ipv4.conf.eth3_rename.promote_secondaries =3D 0=0A= net.ipv4.conf.eth0.forwarding =3D 0=0A= net.ipv4.conf.eth0.mc_forwarding =3D 0=0A= net.ipv4.conf.eth0.accept_redirects =3D 1=0A= net.ipv4.conf.eth0.secure_redirects =3D 1=0A= net.ipv4.conf.eth0.shared_media =3D 1=0A= net.ipv4.conf.eth0.rp_filter =3D 1=0A= net.ipv4.conf.eth0.send_redirects =3D 1=0A= net.ipv4.conf.eth0.accept_source_route =3D 0=0A= net.ipv4.conf.eth0.proxy_arp =3D 0=0A= net.ipv4.conf.eth0.medium_id =3D 0=0A= net.ipv4.conf.eth0.bootp_relay =3D 0=0A= net.ipv4.conf.eth0.log_martians =3D 0=0A= net.ipv4.conf.eth0.tag =3D 0=0A= net.ipv4.conf.eth0.arp_filter =3D 0=0A= net.ipv4.conf.eth0.arp_announce =3D 0=0A= net.ipv4.conf.eth0.arp_ignore =3D 0=0A= net.ipv4.conf.eth0.arp_accept =3D 0=0A= net.ipv4.conf.eth0.arp_notify =3D 0=0A= net.ipv4.conf.eth0.disable_xfrm =3D 0=0A= net.ipv4.conf.eth0.disable_policy =3D 0=0A= net.ipv4.conf.eth0.force_igmp_version =3D 0=0A= net.ipv4.conf.eth0.promote_secondaries =3D 0=0A= net.ipv4.ip_forward =3D 0=0A= net.ipv4.ipfrag_high_thresh =3D 262144=0A= net.ipv4.ipfrag_low_thresh =3D 196608=0A= net.ipv4.ipfrag_time =3D 30=0A= net.ipv4.icmp_echo_ignore_all =3D 0=0A= net.ipv4.icmp_echo_ignore_broadcasts =3D 1=0A= net.ipv4.icmp_ignore_bogus_error_responses =3D 1=0A= net.ipv4.icmp_errors_use_inbound_ifaddr =3D 0=0A= net.ipv4.icmp_ratelimit =3D 1000=0A= net.ipv4.icmp_ratemask =3D 6168=0A= net.ipv4.rt_cache_rebuild_count =3D 4=0A= net.ipv4.ipfrag_secret_interval =3D 600=0A= net.ipv4.ipfrag_max_dist =3D 64=0A= net.token-ring.rif_timeout =3D 600000=0A= net.nf_conntrack_max =3D 65536=0A= net.unix.max_dgram_qlen =3D 10=0A= abi.vsyscall32 =3D 1=0A= crypto.fips_enabled =3D 0=0A= --Boundary_(ID_q+q/9SmDfq3iWLIJEHBW2w)-- From owner-freebsd-performance@FreeBSD.ORG Thu Oct 15 09:34:20 2009 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 B2A1C106566C for ; Thu, 15 Oct 2009 09:34:20 +0000 (UTC) (envelope-from ohartman@zedat.fu-berlin.de) Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de [130.133.4.66]) by mx1.freebsd.org (Postfix) with ESMTP id 2B75A8FC14 for ; Thu, 15 Oct 2009 09:34:20 +0000 (UTC) Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost1.zedat.fu-berlin.de (Exim 4.69) with esmtp (envelope-from ) id <1MyMiw-0006g4-T9>; Thu, 15 Oct 2009 11:34:18 +0200 Received: from telesto.geoinf.fu-berlin.de ([130.133.86.198]) by inpost2.zedat.fu-berlin.de (Exim 4.69) with esmtpsa (envelope-from ) id <1MyMiw-00053y-QG>; Thu, 15 Oct 2009 11:34:18 +0200 Message-ID: <4AD6ECAB.4050906@zedat.fu-berlin.de> Date: Thu, 15 Oct 2009 09:34:35 +0000 From: "O. Hartmann" Organization: Freie =?ISO-8859-15?Q?Universit=E4t_Berlin?= User-Agent: Thunderbird 2.0.0.23 (X11/20090824) MIME-Version: 1.0 To: Hongtao Yin References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> In-Reply-To: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> Content-Type: text/plain; charset=ISO-8859-15; format=flowed Content-Transfer-Encoding: 7bit X-Originating-IP: 130.133.86.198 Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Thu, 15 Oct 2009 09:34:20 -0000 Hongtao Yin wrote: > Hi, > > > > I compared TCP performance between FreeBSD and Linux by running test tools > Netperf and Iperf with Intel NIC. > > The kernels are full version and default values are used in the testing > except TCP Congestion Control algorithm set to Reno. > >>From the test results we can see Linux TCP performance in throughput is > better than FreeBSD. The worst case (send msg size 128) shows that FreeBSD > throughput is only 43% of Linux's. > > > > I like to get some feedback if anyone did similar comparison test, or knows > any issues with kernels or drivers. Thanks lot. > > > > FreeBSD and Linux Sysctl captures are attached for reference. > > > > Regards, > > Hongtao > > > > > > > > Test Environments: > > PC: Dell Precision T3400 (same 4 PCs) > > CPU: Intel Core 2 Duo CPU E4600@2.4Ghz > > FreeBSD: V7.1 (full version) (TCP CC: newReno) > > Linux: V2.6.31.1 (full version) (TCP CC: Reno) > > Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter (Gigabit) > chip 82546EB (only one port used for each PC) > > Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108) > > Iperf: V2.0.4 > > Netperf: V2.4.4 > > > > Setup: > > > > > > ---------- > > | switch | > > ---------- > > ---------------------| | | |-------------------- > > | | | | > > | --------| |-------- | > > | | | | > > | | | | > > -------------- -------------- -------------- -------------- > > | PC1 | | PC2 | | PC3 | | PC4 | > > | FreeBSD | | FreeBSD | | Linux | | Linux | > > |192.168.1.10| |192.168.1.20| |192.168.1.30| |192.168.1.40| > > -------------- -------------- -------------- -------------- > > > > > > > > > > > > ================================ > > Netperf Test Results > > ================================ > > > > TCP Throughput Test > > ------------------- > > > > PC2/4: #netserver -p 22113 > > PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10 > > > > Recv Send Send Elapsed > Throughput > > Socket Socket Message Time > 10^6 bits/sec > > Size Size Size Sec. > > bytes bytes bytes > > FreeBSD: 65536 32768 32768 10.34 > 598.11 > > Linux: 87380 16384 16384 10.04 > 779.02 > > > > > > PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m > 64/128/256/512/1024/2048/4096 > > > > Recv Send Send Elapsed > Throughput > > Socket Socket Message Time > 10^6 bits/sec > > Size Size Size Sec. > > bytes bytes bytes > > FreeBSD: 65536 32768 64 10.19 > 417.10 > > 65536 32768 128 10.35 > 336.63 > > 65536 32768 256 10.36 > 576.99 > > 65536 32768 512 10.35 > 569.79 > > 65536 32768 1024 10.35 > 553.70 > > 65536 32768 2048 10.35 > 584.20 > > 65536 32768 4096 10.35 > 602.45 > > > > Linux: 87380 16384 64 10.03 > 778.21 > > 87380 16384 128 10.03 > 779.72 > > 87380 16384 256 10.04 > 780.16 > > 87380 16384 512 10.03 > 776.85 > > 87380 16384 1024 10.04 > 777.52 > > 87380 16384 2048 10.04 > 777.83 > > 87380 16384 4096 10.03 > 780.17 > > > > > > > > > > =============================== > > Iperf Test Results > > =============================== > > > > Bandwidth Test > > -------------- > > > > PC2/4: #iperf -s > > PC1/3: #iperf -c 192.168.1.20 > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.3 740 600 > > Linux: 0.0-10.0 972 815 > > > > > > PC1/3: #iperf -c 192.168.1.20 -d > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.0 402 337 > > 0.0-10.0 404 338 > > > > Linux: 0.0-10.0 926 776 > > 0.0-10.0 44.1 36.9 > > > > > > Parallel Test > > ------------- > > > > PC2/4: #iperf -s > > PC1/3: #iperf -c 192.168.1.20 -P 2 > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.3 370 300 > > 0.0-10.3 370 300 > > SUM: 0.0-10.3 739 600 > > > > Linux: 0.0-10.0 479 402 > > 0.0-10.0 473 396 > > SUM: 0.0-10.0 952 797 > > > > > > > > > > ------------------------------------------------------------------------ > > _______________________________________________ > freebsd-performance@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-performance > To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org" FreeBSD 7.1 is quite old compared to Linux 2.6.31 - I'd like to see at least FreeBSD 7.2 compared, if not 8.0-RC1. Maybe also the most recent FreeBSD 4 should be taken into this test. From owner-freebsd-performance@FreeBSD.ORG Thu Oct 15 12:12:52 2009 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 E9BCA106568B for ; Thu, 15 Oct 2009 12:12:52 +0000 (UTC) (envelope-from leccine@gmail.com) Received: from mail-fx0-f222.google.com (mail-fx0-f222.google.com [209.85.220.222]) by mx1.freebsd.org (Postfix) with ESMTP id 4C28E8FC16 for ; Thu, 15 Oct 2009 12:12:51 +0000 (UTC) Received: by fxm22 with SMTP id 22so997689fxm.36 for ; Thu, 15 Oct 2009 05:12:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=OaLRjLDZEAcRhTqZMca9NIO3kn5wAAr4lbrGa2I5Ip0=; b=gqb3GkRAUuufXAN2tkjRNSaCpaEjNvsUGvOEc2bEN1QMF7Zv0j3YomomBTkYvJZ8iG rM4hFVD6SGcJcOLhJsVniUdv14oh4DPh+n999eQX+BqKURcLLh1YpycVvaP6FLO2WVZM nfsxDse70bVjs7q7UUjABIqbT/TvFPDekj3Ko= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=oVqkamUlo0o9ZAGk3lctanq4u3sglaGCIFC8U25L/HIBeS5Aw7LjwLByWez5BVXhhj SV3GPwUX70r+9Wgt7ZkDSKRW5dVySU4Pik42pJMt3GYl48ducZ9E+OneTRBe45MyDhHX c7U9w7vBDxzSGwLUMw/TXMm9aIEBziAtH51Lg= MIME-Version: 1.0 Received: by 10.204.10.143 with SMTP id p15mr325717bkp.167.1255608770345; Thu, 15 Oct 2009 05:12:50 -0700 (PDT) In-Reply-To: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> Date: Thu, 15 Oct 2009 13:12:50 +0100 Message-ID: From: =?ISO-8859-1?B?SXN0duFu?= To: Hongtao Yin Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Thu, 15 Oct 2009 12:12:53 -0000 use netpipe TCP pls. And graph it. Thanks in advance, Istvan On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin wrote: > Hi, > > > > I compared TCP performance between FreeBSD and Linux by running test tools > Netperf and Iperf with Intel NIC. > > The kernels are full version and default values are used in the testing > except TCP Congestion Control algorithm set to Reno. > > >From the test results we can see Linux TCP performance in throughput is > better than FreeBSD. The worst case (send msg size 128) shows that FreeBSD > throughput is only 43% of Linux's. > > > > I like to get some feedback if anyone did similar comparison test, or knows > any issues with kernels or drivers. Thanks lot. > > > > FreeBSD and Linux Sysctl captures are attached for reference. > > > > Regards, > > Hongtao > > > > > > > > Test Environments: > > PC: Dell Precision T3400 (same 4 PCs) > > CPU: Intel Core 2 Duo CPU E4600@2.4Ghz > > FreeBSD: V7.1 (full version) (TCP CC: newReno) > > Linux: V2.6.31.1 (full version) (TCP CC: Reno) > > Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter > (Gigabit) > chip 82546EB (only one port used for each PC) > > Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108) > > Iperf: V2.0.4 > > Netperf: V2.4.4 > > > > Setup: > > > > > > ---------- > > | switch | > > ---------- > > ---------------------| | | |-------------------- > > | | | | > > | --------| |-------- | > > | | | | > > | | | | > > -------------- -------------- -------------- -------------- > > | PC1 | | PC2 | | PC3 | | PC4 | > > | FreeBSD | | FreeBSD | | Linux | | Linux | > > |192.168.1.10| |192.168.1.20| |192.168.1.30| |192.168.1.40| > > -------------- -------------- -------------- -------------- > > > > > > > > > > > > ================================ > > Netperf Test Results > > ================================ > > > > TCP Throughput Test > > ------------------- > > > > PC2/4: #netserver -p 22113 > > PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10 > > > > Recv Send Send Elapsed > Throughput > > Socket Socket Message Time > 10^6 bits/sec > > Size Size Size Sec. > > bytes bytes bytes > > FreeBSD: 65536 32768 32768 10.34 > 598.11 > > Linux: 87380 16384 16384 10.04 > 779.02 > > > > > > PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m > 64/128/256/512/1024/2048/4096 > > > > Recv Send Send Elapsed > Throughput > > Socket Socket Message Time > 10^6 bits/sec > > Size Size Size Sec. > > bytes bytes bytes > > FreeBSD: 65536 32768 64 10.19 > 417.10 > > 65536 32768 128 10.35 > 336.63 > > 65536 32768 256 10.36 > 576.99 > > 65536 32768 512 10.35 > 569.79 > > 65536 32768 1024 10.35 > 553.70 > > 65536 32768 2048 10.35 > 584.20 > > 65536 32768 4096 10.35 > 602.45 > > > > Linux: 87380 16384 64 10.03 > 778.21 > > 87380 16384 128 10.03 > 779.72 > > 87380 16384 256 10.04 > 780.16 > > 87380 16384 512 10.03 > 776.85 > > 87380 16384 1024 10.04 > 777.52 > > 87380 16384 2048 10.04 > 777.83 > > 87380 16384 4096 10.03 > 780.17 > > > > > > > > > > =============================== > > Iperf Test Results > > =============================== > > > > Bandwidth Test > > -------------- > > > > PC2/4: #iperf -s > > PC1/3: #iperf -c 192.168.1.20 > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.3 740 600 > > Linux: 0.0-10.0 972 815 > > > > > > PC1/3: #iperf -c 192.168.1.20 -d > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.0 402 337 > > 0.0-10.0 404 338 > > > > Linux: 0.0-10.0 926 776 > > 0.0-10.0 44.1 36.9 > > > > > > Parallel Test > > ------------- > > > > PC2/4: #iperf -s > > PC1/3: #iperf -c 192.168.1.20 -P 2 > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.3 370 300 > > 0.0-10.3 370 300 > > SUM: 0.0-10.3 739 600 > > > > Linux: 0.0-10.0 479 402 > > 0.0-10.0 473 396 > > SUM: 0.0-10.0 952 797 > > > > > > > > > _______________________________________________ > freebsd-performance@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-performance > To unsubscribe, send any mail to " > freebsd-performance-unsubscribe@freebsd.org" > -- the sun shines for all From owner-freebsd-performance@FreeBSD.ORG Thu Oct 15 21:21:05 2009 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 64B29106566C for ; Thu, 15 Oct 2009 21:21:05 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-pz0-f202.google.com (mail-pz0-f202.google.com [209.85.222.202]) by mx1.freebsd.org (Postfix) with ESMTP id 3952A8FC16 for ; Thu, 15 Oct 2009 21:21:05 +0000 (UTC) Received: by pzk40 with SMTP id 40so1132235pzk.7 for ; Thu, 15 Oct 2009 14:21:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type; bh=1cf35NK9HZjsrzBjaruoDBas1OG06VVUEKuhz858Hck=; b=lRDBSBpQG2etnOdgJFPBO2vBbZz2zq2rtkBlxvJ03lV2xamMGkpzDQ6QMYAXpO60JJ WADp8J+v+2TNsam7SV0qO5LK6kyC6crkyLXXAd76xVXe4Z8Zn/rHiMw4WA8qNqBZ8fH1 sm4ZQEP/vxz0G1+ePGnBb47jYb0l3+MVGVHBI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=l8gxV3iSWLdxG3HP0w7nshpdWD3YkXqDnnEYYO+VeRUuPv+1rzjb3dV8RymyAFDIVD 40q3ipRb4qwfAcce+POvIC/UNodH12VCbZDt3Pb5Vd0ilO2kpe22LOw6wyzHLNt6RM5m cybgCxhHaeL9V8+bZHzrIYse5h1Mft34NqGdE= MIME-Version: 1.0 Sender: adrian.chadd@gmail.com Received: by 10.115.24.12 with SMTP id b12mr415873waj.86.1255640101504; Thu, 15 Oct 2009 13:55:01 -0700 (PDT) In-Reply-To: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> Date: Fri, 16 Oct 2009 04:55:01 +0800 X-Google-Sender-Auth: 2530c50c23bd7166 Message-ID: From: Adrian Chadd To: Hongtao Yin Content-Type: text/plain; charset=ISO-8859-1 Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Thu, 15 Oct 2009 21:21:05 -0000 2009/10/15 Hongtao Yin : > Hi, > > > > I compared TCP performance between FreeBSD and Linux by running test tools > Netperf and Iperf with Intel NIC. Did you compare syscalls made and time taken? For example, do either/both of them do a lot of gettimeofday() calls? FreeBSD and Linux have (had?) different behaviours and performance with those. I'd suggest digging a bit deeper? :) adrian From owner-freebsd-performance@FreeBSD.ORG Fri Oct 16 01:01:04 2009 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 EF73B106566B; Fri, 16 Oct 2009 01:01:04 +0000 (UTC) (envelope-from sdong@huawei.com) Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70]) by mx1.freebsd.org (Postfix) with ESMTP id CB1A78FC17; Fri, 16 Oct 2009 01:01:04 +0000 (UTC) Received: from huawei.com (localhost [127.0.0.1]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0KRL00HXU0SQIG@usaga02-in.huawei.com>; Thu, 15 Oct 2009 17:46:03 -0700 (PDT) Received: from D73888 ([10.193.34.51]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <0KRL00IPJ0SOAR@usaga02-in.huawei.com>; Thu, 15 Oct 2009 17:46:02 -0700 (PDT) Date: Thu, 15 Oct 2009 17:45:58 -0700 From: Steve Dong In-reply-to: To: 'Adrian Chadd' , 'Hongtao Yin' Message-id: <000d01ca4dfa$081c36f0$3322c10a@china.huawei.com> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3350 X-Mailer: Microsoft Office Outlook 11 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Thread-index: AcpN3XuVrZQhS1YcQ6OA6EvmBvU7ZQAG2bcg References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> Cc: freebsd-performance@freebsd.org Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance 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: Fri, 16 Oct 2009 01:01:05 -0000 There are two gettimeofday calls, one at the beginning of the test and the other at the end. netperf-2.4.4 is used. I believe gettimeofday is a vsyscall in linux, but a real system call in freebsd. Thanks, Steve -----Original Message----- From: owner-freebsd-performance@freebsd.org [mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Adrian Chadd Sent: Thursday, October 15, 2009 1:55 PM To: Hongtao Yin Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 2009/10/15 Hongtao Yin : > Hi, > > > > I compared TCP performance between FreeBSD and Linux by running test > tools Netperf and Iperf with Intel NIC. Did you compare syscalls made and time taken? For example, do either/both of them do a lot of gettimeofday() calls? FreeBSD and Linux have (had?) different behaviours and performance with those. I'd suggest digging a bit deeper? :) adrian _______________________________________________ freebsd-performance@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-performance To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org" From owner-freebsd-performance@FreeBSD.ORG Fri Oct 16 03:52:10 2009 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 15818106566C for ; Fri, 16 Oct 2009 03:52:10 +0000 (UTC) (envelope-from htyin@huawei.com) Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70]) by mx1.freebsd.org (Postfix) with ESMTP id CFF668FC19 for ; Fri, 16 Oct 2009 03:52:09 +0000 (UTC) Received: from huawei.com (localhost [127.0.0.1]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0KRL00HXT9EVIG@usaga02-in.huawei.com> for freebsd-performance@freebsd.org; Thu, 15 Oct 2009 20:52:08 -0700 (PDT) Received: from Hongtao1SC ([10.193.34.152]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <0KRL00J6R9EQS8@usaga02-in.huawei.com> for freebsd-performance@freebsd.org; Thu, 15 Oct 2009 20:52:07 -0700 (PDT) Date: Thu, 15 Oct 2009 20:52:02 -0700 From: Hongtao Yin In-reply-to: To: =?gb2312?B?J0lzdHaoom4n?= Message-id: <4831593800614E6796A45F20BA4B818E@china.huawei.com> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-Mailer: Microsoft Office Outlook 11 Content-type: multipart/mixed; boundary="Boundary_(ID_AAjka9hhoFsx6rdqZWl8ZQ)" Thread-index: AcpNkNPyM/T7sWEVTyKaneG8WESK0wAgHXSA References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-performance@freebsd.org Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance 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: Fri, 16 Oct 2009 03:52:10 -0000 This is a multi-part message in MIME format. --Boundary_(ID_AAjka9hhoFsx6rdqZWl8ZQ) Content-type: text/plain; charset=gb2312 Content-transfer-encoding: quoted-printable Istvan, =20 I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we = collected test data and the result shows that FreeBSD TCP performance is worse = than Linux. I got troubles to plot using gnuplot, so here I am attaching the = raw data files. The netpipe commands are as follows: PC2: #NPtcp PC1: #NPtcp =A8Ch 192.168.1.20 =20 Regards, Hongtao =20 =20 =20 _____ =20 From: Istv=A8=A2n [mailto:leccine@gmail.com]=20 Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13 To: Hongtao Yin Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance =20 use netpipe TCP pls. =20 And graph it. =20 Thanks in advance, Istvan On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin wrote: Hi, I compared TCP performance between FreeBSD and Linux by running test = tools Netperf and Iperf with Intel NIC. The kernels are full version and default values are used in the testing except TCP Congestion Control algorithm set to Reno. >From the test results we can see Linux TCP performance in throughput is better than FreeBSD. The worst case (send msg size 128) shows that = FreeBSD throughput is only 43% of Linux's. I like to get some feedback if anyone did similar comparison test, or = knows any issues with kernels or drivers. Thanks lot. FreeBSD and Linux Sysctl captures are attached for reference. Regards, Hongtao Test Environments: PC: Dell Precision T3400 (same 4 PCs) CPU: Intel Core 2 Duo CPU E4600@2.4Ghz FreeBSD: V7.1 (full version) (TCP CC: newReno) Linux: V2.6.31.1 (full version) (TCP CC: Reno) Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter = (Gigabit) chip 82546EB (only one port used for each PC) Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108) Iperf: V2.0.4 Netperf: V2.4.4 Setup: ---------- | switch | ---------- ---------------------| | | |-------------------- | | | | | --------| |-------- | | | | | | | | | -------------- -------------- -------------- -------------- | PC1 | | PC2 | | PC3 | | PC4 | | FreeBSD | | FreeBSD | | Linux | | Linux | |192.168.1.10| |192.168.1.20| |192.168.1.30| |192.168.1.40| -------------- -------------- -------------- -------------- =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D Netperf Test Results =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D TCP Throughput Test ------------------- PC2/4: #netserver -p 22113 PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10 Recv Send Send Elapsed Throughput Socket Socket Message Time 10^6 bits/sec Size Size Size Sec. bytes bytes bytes FreeBSD: 65536 32768 32768 10.34 598.11 Linux: 87380 16384 16384 10.04 779.02 PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m 64/128/256/512/1024/2048/4096 Recv Send Send Elapsed Throughput Socket Socket Message Time 10^6 bits/sec Size Size Size Sec. bytes bytes bytes FreeBSD: 65536 32768 64 10.19 417.10 65536 32768 128 10.35 336.63 65536 32768 256 10.36 576.99 65536 32768 512 10.35 569.79 65536 32768 1024 10.35 553.70 65536 32768 2048 10.35 584.20 65536 32768 4096 10.35 602.45 Linux: 87380 16384 64 10.03 778.21 87380 16384 128 10.03 779.72 87380 16384 256 10.04 780.16 87380 16384 512 10.03 776.85 87380 16384 1024 10.04 777.52 87380 16384 2048 10.04 777.83 87380 16384 4096 10.03 780.17 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D Iperf Test Results =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D Bandwidth Test -------------- PC2/4: #iperf -s PC1/3: #iperf -c 192.168.1.20 Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.3 740 600 Linux: 0.0-10.0 972 815 PC1/3: #iperf -c 192.168.1.20 -d Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.0 402 337 0.0-10.0 404 338 Linux: 0.0-10.0 926 776 0.0-10.0 44.1 36.9 Parallel Test ------------- PC2/4: #iperf -s PC1/3: #iperf -c 192.168.1.20 -P 2 Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.3 370 300 0.0-10.3 370 300 SUM: 0.0-10.3 739 600 Linux: 0.0-10.0 479 402 0.0-10.0 473 396 SUM: 0.0-10.0 952 797 _______________________________________________ freebsd-performance@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-performance To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org" --=20 the sun shines for all --Boundary_(ID_AAjka9hhoFsx6rdqZWl8ZQ) Content-type: application/octet-stream; name=linux_netpipe Content-transfer-encoding: 7bit Content-disposition: attachment; filename=linux_netpipe 0: 1 bytes 1936 times --> 0.15 Mbps in 50.54 usec 1: 2 bytes 1978 times --> 0.30 Mbps in 50.62 usec 2: 3 bytes 1975 times --> 0.45 Mbps in 50.49 usec 3: 4 bytes 1320 times --> 0.60 Mbps in 50.45 usec 4: 6 bytes 1486 times --> 0.91 Mbps in 50.56 usec 5: 8 bytes 988 times --> 1.21 Mbps in 50.35 usec 6: 12 bytes 1241 times --> 1.81 Mbps in 50.49 usec 7: 13 bytes 825 times --> 1.97 Mbps in 50.46 usec 8: 16 bytes 914 times --> 2.42 Mbps in 50.52 usec 9: 19 bytes 1113 times --> 2.85 Mbps in 50.79 usec 10: 21 bytes 1243 times --> 3.17 Mbps in 50.54 usec 11: 24 bytes 1318 times --> 3.62 Mbps in 50.53 usec 12: 27 bytes 1401 times --> 4.09 Mbps in 50.40 usec 13: 29 bytes 881 times --> 4.38 Mbps in 50.46 usec 14: 32 bytes 956 times --> 4.85 Mbps in 50.36 usec 15: 35 bytes 1054 times --> 5.30 Mbps in 50.42 usec 16: 45 bytes 1133 times --> 6.82 Mbps in 50.36 usec 17: 48 bytes 1323 times --> 7.29 Mbps in 50.22 usec 18: 51 bytes 1368 times --> 7.73 Mbps in 50.31 usec 19: 61 bytes 779 times --> 9.29 Mbps in 50.08 usec 20: 64 bytes 982 times --> 9.75 Mbps in 50.07 usec 21: 67 bytes 1029 times --> 10.18 Mbps in 50.24 usec 22: 93 bytes 1069 times --> 14.07 Mbps in 50.42 usec 23: 96 bytes 1322 times --> 14.50 Mbps in 50.51 usec 24: 99 bytes 1340 times --> 15.00 Mbps in 50.35 usec 25: 125 bytes 722 times --> 18.88 Mbps in 50.51 usec 26: 128 bytes 982 times --> 19.33 Mbps in 50.51 usec 27: 131 bytes 1005 times --> 19.81 Mbps in 50.45 usec 28: 189 bytes 1028 times --> 28.17 Mbps in 51.18 usec 29: 192 bytes 1302 times --> 28.84 Mbps in 50.78 usec 30: 195 bytes 1322 times --> 29.20 Mbps in 50.95 usec 31: 253 bytes 684 times --> 35.91 Mbps in 53.75 usec 32: 256 bytes 926 times --> 36.58 Mbps in 53.39 usec 33: 259 bytes 943 times --> 35.04 Mbps in 56.39 usec 34: 381 bytes 903 times --> 36.09 Mbps in 80.53 usec 35: 384 bytes 827 times --> 37.61 Mbps in 77.90 usec 36: 387 bytes 859 times --> 35.44 Mbps in 83.32 usec 37: 509 bytes 409 times --> 38.92 Mbps in 99.78 usec 38: 512 bytes 500 times --> 39.42 Mbps in 99.09 usec 39: 515 bytes 506 times --> 39.37 Mbps in 99.79 usec 40: 765 bytes 505 times --> 58.48 Mbps in 99.81 usec 41: 768 bytes 667 times --> 58.71 Mbps in 99.81 usec 42: 771 bytes 669 times --> 58.92 Mbps in 99.84 usec 43: 1021 bytes 337 times --> 78.04 Mbps in 99.82 usec 44: 1024 bytes 500 times --> 78.25 Mbps in 99.84 usec 45: 1027 bytes 501 times --> 78.48 Mbps in 99.84 usec 46: 1533 bytes 503 times --> 113.72 Mbps in 102.85 usec 47: 1536 bytes 648 times --> 117.04 Mbps in 100.12 usec 48: 1539 bytes 666 times --> 114.54 Mbps in 102.51 usec 49: 2045 bytes 327 times --> 153.81 Mbps in 101.44 usec 50: 2048 bytes 492 times --> 149.29 Mbps in 104.66 usec 51: 2051 bytes 478 times --> 150.08 Mbps in 104.27 usec 52: 3069 bytes 480 times --> 183.63 Mbps in 127.51 usec 53: 3072 bytes 522 times --> 186.45 Mbps in 125.71 usec 54: 3075 bytes 530 times --> 187.94 Mbps in 124.83 usec 55: 4093 bytes 267 times --> 229.30 Mbps in 136.18 usec 56: 4096 bytes 367 times --> 235.25 Mbps in 132.84 usec 57: 4099 bytes 376 times --> 227.97 Mbps in 137.18 usec 58: 6141 bytes 364 times --> 309.08 Mbps in 151.59 usec 59: 6144 bytes 439 times --> 310.29 Mbps in 151.07 usec 60: 6147 bytes 441 times --> 310.13 Mbps in 151.22 usec 61: 8189 bytes 220 times --> 356.91 Mbps in 175.05 usec 62: 8192 bytes 285 times --> 357.32 Mbps in 174.91 usec 63: 8195 bytes 285 times --> 358.05 Mbps in 174.62 usec 64: 12285 bytes 286 times --> 375.11 Mbps in 249.86 usec 65: 12288 bytes 266 times --> 375.21 Mbps in 249.86 usec 66: 12291 bytes 266 times --> 375.30 Mbps in 249.86 usec 67: 16381 bytes 133 times --> 353.40 Mbps in 353.65 usec 68: 16384 bytes 141 times --> 333.80 Mbps in 374.48 usec 69: 16387 bytes 133 times --> 353.42 Mbps in 353.75 usec 70: 24573 bytes 141 times --> 394.92 Mbps in 474.73 usec 71: 24576 bytes 140 times --> 390.87 Mbps in 479.70 usec 72: 24579 bytes 138 times --> 435.83 Mbps in 430.27 usec 73: 32765 bytes 77 times --> 500.27 Mbps in 499.68 usec 74: 32768 bytes 100 times --> 500.29 Mbps in 499.71 usec 75: 32771 bytes 100 times --> 500.33 Mbps in 499.72 usec 76: 49149 bytes 100 times --> 556.87 Mbps in 673.36 usec 77: 49152 bytes 99 times --> 551.50 Mbps in 679.96 usec 78: 49155 bytes 98 times --> 552.23 Mbps in 679.10 usec 79: 65533 bytes 49 times --> 566.89 Mbps in 881.97 usec 80: 65536 bytes 56 times --> 555.27 Mbps in 900.46 usec 81: 65539 bytes 55 times --> 570.94 Mbps in 875.79 usec 82: 98301 bytes 57 times --> 633.33 Mbps in 1184.18 usec 83: 98304 bytes 56 times --> 626.79 Mbps in 1196.57 usec 84: 98307 bytes 55 times --> 630.89 Mbps in 1188.84 usec 85: 131069 bytes 28 times --> 645.60 Mbps in 1548.91 usec 86: 131072 bytes 32 times --> 647.52 Mbps in 1544.35 usec 87: 131075 bytes 32 times --> 652.15 Mbps in 1533.42 usec 88: 196605 bytes 32 times --> 683.08 Mbps in 2195.89 usec 89: 196608 bytes 30 times --> 682.95 Mbps in 2196.37 usec 90: 196611 bytes 30 times --> 685.38 Mbps in 2188.62 usec 91: 262141 bytes 15 times --> 696.10 Mbps in 2873.13 usec 92: 262144 bytes 17 times --> 696.48 Mbps in 2871.59 usec 93: 262147 bytes 17 times --> 696.58 Mbps in 2871.20 usec 94: 393213 bytes 17 times --> 702.85 Mbps in 4268.32 usec 95: 393216 bytes 15 times --> 702.86 Mbps in 4268.30 usec 96: 393219 bytes 15 times --> 704.15 Mbps in 4260.47 usec 97: 524285 bytes 7 times --> 709.22 Mbps in 5640.00 usec 98: 524288 bytes 8 times --> 709.20 Mbps in 5640.12 usec 99: 524291 bytes 8 times --> 708.82 Mbps in 5643.25 usec 100: 786429 bytes 8 times --> 716.97 Mbps in 8368.51 usec 101: 786432 bytes 7 times --> 713.89 Mbps in 8404.63 usec 102: 786435 bytes 7 times --> 714.01 Mbps in 8403.28 usec 103: 1048573 bytes 3 times --> 718.93 Mbps in 11127.67 usec 104: 1048576 bytes 4 times --> 716.32 Mbps in 11168.12 usec 105: 1048579 bytes 4 times --> 716.39 Mbps in 11167.11 usec 106: 1572861 bytes 4 times --> 726.29 Mbps in 16522.26 usec 107: 1572864 bytes 4 times --> 719.14 Mbps in 16686.50 usec 108: 1572867 bytes 3 times --> 718.72 Mbps in 16696.33 usec 109: 2097149 bytes 3 times --> 731.29 Mbps in 21879.00 usec 110: 2097152 bytes 3 times --> 722.07 Mbps in 22158.50 usec 111: 2097155 bytes 3 times --> 724.44 Mbps in 22086.18 usec 112: 3145725 bytes 3 times --> 733.23 Mbps in 32731.65 usec 113: 3145728 bytes 3 times --> 735.02 Mbps in 32652.18 usec 114: 3145731 bytes 3 times --> 735.73 Mbps in 32620.83 usec 115: 4194301 bytes 3 times --> 734.49 Mbps in 43567.34 usec 116: 4194304 bytes 3 times --> 736.95 Mbps in 43422.50 usec 117: 4194307 bytes 3 times --> 736.49 Mbps in 43449.64 usec 118: 6291453 bytes 3 times --> 740.40 Mbps in 64830.03 usec 119: 6291456 bytes 3 times --> 740.67 Mbps in 64806.34 usec 120: 6291459 bytes 3 times --> 739.82 Mbps in 64880.49 usec 121: 8388605 bytes 3 times --> 737.90 Mbps in 86732.19 usec 122: 8388608 bytes 3 times --> 734.54 Mbps in 87129.87 usec 123: 8388611 bytes 3 times --> 738.20 Mbps in 86697.14 usec --Boundary_(ID_AAjka9hhoFsx6rdqZWl8ZQ) Content-type: application/octet-stream; name=freebsd_netpipe Content-transfer-encoding: 7bit Content-disposition: attachment; filename=freebsd_netpipe 0: 1 bytes 1593 times --> 0.12 Mbps in 62.50 usec 1: 2 bytes 1599 times --> 0.24 Mbps in 62.46 usec 2: 3 bytes 1601 times --> 0.37 Mbps in 62.46 usec 3: 4 bytes 1067 times --> 0.49 Mbps in 62.51 usec 4: 6 bytes 1199 times --> 0.73 Mbps in 62.51 usec 5: 8 bytes 799 times --> 0.98 Mbps in 62.54 usec 6: 12 bytes 999 times --> 1.47 Mbps in 62.46 usec 7: 13 bytes 667 times --> 1.59 Mbps in 62.45 usec 8: 16 bytes 739 times --> 1.95 Mbps in 62.46 usec 9: 19 bytes 900 times --> 2.32 Mbps in 62.46 usec 10: 21 bytes 1011 times --> 2.57 Mbps in 62.46 usec 11: 24 bytes 1067 times --> 2.93 Mbps in 62.46 usec 12: 27 bytes 1134 times --> 3.30 Mbps in 62.51 usec 13: 29 bytes 710 times --> 3.54 Mbps in 62.46 usec 14: 32 bytes 772 times --> 3.91 Mbps in 62.45 usec 15: 35 bytes 850 times --> 4.27 Mbps in 62.53 usec 16: 45 bytes 913 times --> 5.50 Mbps in 62.46 usec 17: 48 bytes 1067 times --> 5.86 Mbps in 62.46 usec 18: 51 bytes 1100 times --> 6.23 Mbps in 62.46 usec 19: 61 bytes 627 times --> 7.45 Mbps in 62.45 usec 20: 64 bytes 787 times --> 7.82 Mbps in 62.47 usec 21: 67 bytes 825 times --> 8.18 Mbps in 62.46 usec 22: 93 bytes 860 times --> 11.36 Mbps in 62.46 usec 23: 96 bytes 1067 times --> 11.72 Mbps in 62.52 usec 24: 99 bytes 1083 times --> 12.09 Mbps in 62.46 usec 25: 125 bytes 582 times --> 15.27 Mbps in 62.46 usec 26: 128 bytes 794 times --> 15.64 Mbps in 62.45 usec 27: 131 bytes 813 times --> 16.00 Mbps in 62.46 usec 28: 189 bytes 831 times --> 23.09 Mbps in 62.46 usec 29: 192 bytes 1067 times --> 23.46 Mbps in 62.45 usec 30: 195 bytes 1075 times --> 23.82 Mbps in 62.46 usec 31: 253 bytes 558 times --> 30.91 Mbps in 62.46 usec 32: 256 bytes 797 times --> 31.27 Mbps in 62.47 usec 33: 259 bytes 806 times --> 31.60 Mbps in 62.53 usec 34: 381 bytes 815 times --> 46.48 Mbps in 62.53 usec 35: 384 bytes 1066 times --> 46.86 Mbps in 62.52 usec 36: 387 bytes 1070 times --> 47.22 Mbps in 62.52 usec 37: 509 bytes 545 times --> 61.95 Mbps in 62.68 usec 38: 512 bytes 796 times --> 62.31 Mbps in 62.69 usec 39: 515 bytes 800 times --> 62.44 Mbps in 62.93 usec 40: 765 bytes 802 times --> 91.83 Mbps in 63.55 usec 41: 768 bytes 1048 times --> 92.06 Mbps in 63.65 usec 42: 771 bytes 1049 times --> 92.58 Mbps in 63.54 usec 43: 1021 bytes 530 times --> 73.94 Mbps in 105.35 usec 44: 1024 bytes 474 times --> 74.21 Mbps in 105.27 usec 45: 1027 bytes 475 times --> 74.57 Mbps in 105.07 usec 46: 1533 bytes 478 times --> 82.34 Mbps in 142.04 usec 47: 1536 bytes 469 times --> 83.80 Mbps in 139.84 usec 48: 1539 bytes 477 times --> 83.66 Mbps in 140.36 usec 49: 2045 bytes 238 times --> 101.61 Mbps in 153.55 usec 50: 2048 bytes 325 times --> 100.01 Mbps in 156.23 usec 51: 2051 bytes 320 times --> 101.09 Mbps in 154.79 usec 52: 3069 bytes 323 times --> 125.49 Mbps in 186.59 usec 53: 3072 bytes 357 times --> 125.44 Mbps in 186.85 usec 54: 3075 bytes 356 times --> 125.43 Mbps in 187.05 usec 55: 4093 bytes 178 times --> 166.69 Mbps in 187.34 usec 56: 4096 bytes 266 times --> 166.78 Mbps in 187.37 usec 57: 4099 bytes 266 times --> 167.11 Mbps in 187.14 usec 58: 6141 bytes 267 times --> 250.04 Mbps in 187.38 usec 59: 6144 bytes 355 times --> 250.19 Mbps in 187.36 usec 60: 6147 bytes 355 times --> 250.31 Mbps in 187.36 usec 61: 8189 bytes 178 times --> 329.14 Mbps in 189.82 usec 62: 8192 bytes 263 times --> 329.81 Mbps in 189.50 usec 63: 8195 bytes 263 times --> 329.40 Mbps in 189.81 usec 64: 12285 bytes 263 times --> 375.15 Mbps in 249.84 usec 65: 12288 bytes 266 times --> 375.00 Mbps in 250.00 usec 66: 12291 bytes 266 times --> 374.86 Mbps in 250.15 usec 67: 16381 bytes 133 times --> 401.20 Mbps in 311.51 usec 68: 16384 bytes 160 times --> 400.31 Mbps in 312.26 usec 69: 16387 bytes 160 times --> 400.41 Mbps in 312.23 usec 70: 24573 bytes 160 times --> 430.30 Mbps in 435.68 usec 71: 24576 bytes 153 times --> 430.81 Mbps in 435.23 usec 72: 24579 bytes 153 times --> 430.09 Mbps in 436.01 usec 73: 32765 bytes 76 times --> 479.72 Mbps in 521.09 usec 74: 32768 bytes 95 times --> 478.95 Mbps in 521.97 usec 75: 32771 bytes 95 times --> 479.98 Mbps in 520.90 usec 76: 49149 bytes 96 times --> 512.29 Mbps in 731.96 usec 77: 49152 bytes 91 times --> 509.08 Mbps in 736.62 usec 78: 49155 bytes 90 times --> 508.77 Mbps in 737.11 usec 79: 65533 bytes 45 times --> 512.45 Mbps in 975.67 usec 80: 65536 bytes 51 times --> 510.17 Mbps in 980.07 usec 81: 65539 bytes 51 times --> 513.75 Mbps in 973.28 usec 82: 98301 bytes 51 times --> 536.30 Mbps in 1398.42 usec 83: 98304 bytes 47 times --> 535.35 Mbps in 1400.96 usec 84: 98307 bytes 47 times --> 535.64 Mbps in 1400.23 usec 85: 131069 bytes 23 times --> 540.77 Mbps in 1849.17 usec 86: 131072 bytes 27 times --> 539.68 Mbps in 1852.95 usec 87: 131075 bytes 26 times --> 542.03 Mbps in 1844.96 usec 88: 196605 bytes 27 times --> 554.36 Mbps in 2705.76 usec 89: 196608 bytes 24 times --> 550.97 Mbps in 2722.48 usec 90: 196611 bytes 24 times --> 553.04 Mbps in 2712.31 usec 91: 262141 bytes 12 times --> 553.75 Mbps in 3611.70 usec 92: 262144 bytes 13 times --> 552.19 Mbps in 3621.96 usec 93: 262147 bytes 13 times --> 552.69 Mbps in 3618.70 usec 94: 393213 bytes 13 times --> 319.51 Mbps in 9389.38 usec 95: 393216 bytes 7 times --> 558.48 Mbps in 5371.72 usec 96: 393219 bytes 12 times --> 310.32 Mbps in 9667.63 usec 97: 524285 bytes 3 times --> 562.05 Mbps in 7116.79 usec 98: 524288 bytes 7 times --> 561.72 Mbps in 7120.93 usec 99: 524291 bytes 7 times --> 561.72 Mbps in 7121.07 usec 100: 786429 bytes 7 times --> 564.83 Mbps in 10622.71 usec 101: 786432 bytes 6 times --> 564.31 Mbps in 10632.50 usec 102: 786435 bytes 6 times --> 564.50 Mbps in 10628.92 usec 103: 1048573 bytes 3 times --> 566.81 Mbps in 14114.14 usec 104: 1048576 bytes 3 times --> 566.79 Mbps in 14114.50 usec 105: 1048579 bytes 3 times --> 565.11 Mbps in 14156.50 usec 106: 1572861 bytes 3 times --> 568.89 Mbps in 21093.53 usec 107: 1572864 bytes 3 times --> 569.04 Mbps in 21088.16 usec 108: 1572867 bytes 3 times --> 569.20 Mbps in 21082.16 usec 109: 2097149 bytes 3 times --> 353.93 Mbps in 45206.03 usec 110: 2097152 bytes 3 times --> 567.81 Mbps in 28178.33 usec 111: 2097155 bytes 3 times --> 565.47 Mbps in 28295.00 usec 112: 3145725 bytes 3 times --> 313.65 Mbps in 76518.81 usec 113: 3145728 bytes 3 times --> 564.73 Mbps in 42498.35 usec 114: 3145731 bytes 3 times --> 403.88 Mbps in 59423.49 usec 115: 4194301 bytes 3 times --> 438.02 Mbps in 73055.35 usec 116: 4194304 bytes 3 times --> 437.75 Mbps in 73100.49 usec 117: 4194307 bytes 3 times --> 298.08 Mbps in 107355.16 usec 118: 6291453 bytes 3 times --> 404.09 Mbps in 118785.50 usec 119: 6291456 bytes 3 times --> 354.53 Mbps in 135389.84 usec 120: 6291459 bytes 3 times --> 315.14 Mbps in 152314.66 usec 121: 8388605 bytes 3 times --> 390.67 Mbps in 163821.34 usec 122: 8388608 bytes 3 times --> 297.76 Mbps in 214937.33 usec 123: 8388611 bytes 3 times --> 324.16 Mbps in 197430.69 usec --Boundary_(ID_AAjka9hhoFsx6rdqZWl8ZQ)-- From owner-freebsd-performance@FreeBSD.ORG Fri Oct 16 05:44:39 2009 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 46AF71065676 for ; Fri, 16 Oct 2009 05:44:39 +0000 (UTC) (envelope-from sdong@huawei.com) Received: from usaga04-in.huawei.com (usaga04-in.huawei.com [206.16.17.180]) by mx1.freebsd.org (Postfix) with ESMTP id F2E768FC1A for ; Fri, 16 Oct 2009 05:44:38 +0000 (UTC) Received: from huawei.com (usaga04-in [172.18.4.101]) by usaga04-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0KRL00K3YEMDTC@usaga04-in.huawei.com> for freebsd-performance@freebsd.org; Fri, 16 Oct 2009 00:44:37 -0500 (CDT) Received: from D73888 ([10.51.0.59]) by usaga04-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <0KRL005M5EM2CF@usaga04-in.huawei.com> for freebsd-performance@freebsd.org; Fri, 16 Oct 2009 00:44:36 -0500 (CDT) Date: Thu, 15 Oct 2009 22:44:25 -0700 From: Steve Dong In-reply-to: <4831593800614E6796A45F20BA4B818E@china.huawei.com> To: 'Hongtao Yin' , =?gb2312?B?J0lzdHaoom4n?= Message-id: <001301ca4e23$b96e35b0$3322c10a@china.huawei.com> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3350 X-Mailer: Microsoft Office Outlook 11 Content-type: multipart/mixed; boundary="Boundary_(ID_JfD3cYT+iunSEpWFPmBx9w)" Thread-index: AcpNkNPyM/T7sWEVTyKaneG8WESK0wAgHXSAAAQEnYA= References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-performance@freebsd.org Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance 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: Fri, 16 Oct 2009 05:44:39 -0000 This is a multi-part message in MIME format. --Boundary_(ID_JfD3cYT+iunSEpWFPmBx9w) Content-type: text/plain; charset=gb2312 Content-transfer-encoding: quoted-printable Here are graphs from the netpipe test results with 8.0 RC1 =20 Thanks, Steve =20 -----Original Message----- From: owner-freebsd-performance@freebsd.org [mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Hongtao Yin Sent: Thursday, October 15, 2009 8:52 PM To: 'Istv=A8=A2n' Cc: freebsd-performance@freebsd.org Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance Istvan, =20 I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we = collected test data and the result shows that FreeBSD TCP performance is worse = than Linux. I got troubles to plot using gnuplot, so here I am attaching the = raw data files. The netpipe commands are as follows: PC2: #NPtcp PC1: #NPtcp =A8Ch 192.168.1.20 =20 Regards, Hongtao =20 =20 =20 _____ =20 From: Istv=A8=A2n [mailto:leccine@gmail.com] Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13 To: Hongtao Yin Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance =20 use netpipe TCP pls. =20 And graph it. =20 Thanks in advance, Istvan On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin wrote: Hi, I compared TCP performance between FreeBSD and Linux by running test = tools Netperf and Iperf with Intel NIC. The kernels are full version and default values are used in the testing except TCP Congestion Control algorithm set to Reno. >From the test results we can see Linux TCP performance in throughput is better than FreeBSD. The worst case (send msg size 128) shows that = FreeBSD throughput is only 43% of Linux's. I like to get some feedback if anyone did similar comparison test, or = knows any issues with kernels or drivers. Thanks lot. FreeBSD and Linux Sysctl captures are attached for reference. Regards, Hongtao Test Environments: PC: Dell Precision T3400 (same 4 PCs) CPU: Intel Core 2 Duo CPU E4600@2.4Ghz FreeBSD: V7.1 (full version) (TCP CC: newReno) Linux: V2.6.31.1 (full version) (TCP CC: Reno) Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter = (Gigabit) chip 82546EB (only one port used for each PC) Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108) Iperf: V2.0.4 Netperf: V2.4.4 Setup: ---------- | switch | ---------- ---------------------| | | |-------------------- | | | | | --------| |-------- | | | | | | | | | -------------- -------------- -------------- -------------- | PC1 | | PC2 | | PC3 | | PC4 | | FreeBSD | | FreeBSD | | Linux | | Linux | |192.168.1.10| |192.168.1.20| |192.168.1.30| |192.168.1.40| -------------- -------------- -------------- -------------- =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D Netperf Test Results =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D TCP Throughput Test ------------------- PC2/4: #netserver -p 22113 PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10 Recv Send Send Elapsed Throughput Socket Socket Message Time 10^6 bits/sec Size Size Size Sec. bytes bytes bytes FreeBSD: 65536 32768 32768 10.34 598.11 Linux: 87380 16384 16384 10.04 779.02 PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m 64/128/256/512/1024/2048/4096 Recv Send Send Elapsed Throughput Socket Socket Message Time 10^6 bits/sec Size Size Size Sec. bytes bytes bytes FreeBSD: 65536 32768 64 10.19 417.10 65536 32768 128 10.35 336.63 65536 32768 256 10.36 576.99 65536 32768 512 10.35 569.79 65536 32768 1024 10.35 553.70 65536 32768 2048 10.35 584.20 65536 32768 4096 10.35 602.45 Linux: 87380 16384 64 10.03 778.21 87380 16384 128 10.03 779.72 87380 16384 256 10.04 780.16 87380 16384 512 10.03 776.85 87380 16384 1024 10.04 777.52 87380 16384 2048 10.04 777.83 87380 16384 4096 10.03 780.17 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D Iperf Test Results =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D Bandwidth Test -------------- PC2/4: #iperf -s PC1/3: #iperf -c 192.168.1.20 Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.3 740 600 Linux: 0.0-10.0 972 815 PC1/3: #iperf -c 192.168.1.20 -d Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.0 402 337 0.0-10.0 404 338 Linux: 0.0-10.0 926 776 0.0-10.0 44.1 36.9 Parallel Test ------------- PC2/4: #iperf -s PC1/3: #iperf -c 192.168.1.20 -P 2 Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.3 370 300 0.0-10.3 370 300 SUM: 0.0-10.3 739 600 Linux: 0.0-10.0 479 402 0.0-10.0 473 396 SUM: 0.0-10.0 952 797 _______________________________________________ freebsd-performance@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-performance To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org" -- the sun shines for all --Boundary_(ID_JfD3cYT+iunSEpWFPmBx9w)-- From owner-freebsd-performance@FreeBSD.ORG Fri Oct 16 05:53:21 2009 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 ECD3B106566C for ; Fri, 16 Oct 2009 05:53:20 +0000 (UTC) (envelope-from sdong@huawei.com) Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70]) by mx1.freebsd.org (Postfix) with ESMTP id 410248FC1C for ; Fri, 16 Oct 2009 05:53:16 +0000 (UTC) Received: from huawei.com (localhost [127.0.0.1]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0KRL00HLWF0QIG@usaga02-in.huawei.com> for freebsd-performance@freebsd.org; Thu, 15 Oct 2009 22:53:15 -0700 (PDT) Received: from D73888 ([10.51.0.59]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <0KRL00JJNF0MS8@usaga02-in.huawei.com> for freebsd-performance@freebsd.org; Thu, 15 Oct 2009 22:53:14 -0700 (PDT) Date: Thu, 15 Oct 2009 22:53:09 -0700 From: Steve Dong In-reply-to: <001301ca4e23$b96e35b0$3322c10a@china.huawei.com> To: =?gb2312?B?J0lzdHaoom4n?= Message-id: <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3350 X-Mailer: Microsoft Office Outlook 11 Content-type: multipart/mixed; boundary="Boundary_(ID_X07vp6D5t+VhKmtY4Ii/5g)" Thread-index: AcpNkNPyM/T7sWEVTyKaneG8WESK0wAgHXSAAAQEnYAAAKXm4A== References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> <001301ca4e23$b96e35b0$3322c10a@china.huawei.com> Cc: freebsd-performance@freebsd.org Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance 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: Fri, 16 Oct 2009 05:53:21 -0000 This is a multi-part message in MIME format. --Boundary_(ID_X07vp6D5t+VhKmtY4Ii/5g) Content-type: text/plain; charset=gb2312 Content-transfer-encoding: quoted-printable It looks the jpeg attachments were somehow dropped. Trying again with = pdf attachment. Hopefully it works this time.=20 Thanks, Steve =20 -----Original Message----- From: owner-freebsd-performance@freebsd.org [mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Steve Dong Sent: Thursday, October 15, 2009 10:44 PM To: 'Hongtao Yin'; 'Istv=A8=A2n' Cc: freebsd-performance@freebsd.org Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance Here are graphs from the netpipe test results with 8.0 RC1 =20 Thanks, Steve =20 -----Original Message----- From: owner-freebsd-performance@freebsd.org [mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Hongtao Yin Sent: Thursday, October 15, 2009 8:52 PM To: 'Istv=A8=A2n' Cc: freebsd-performance@freebsd.org Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance Istvan, =20 I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we = collected test data and the result shows that FreeBSD TCP performance is worse = than Linux. I got troubles to plot using gnuplot, so here I am attaching the = raw data files. The netpipe commands are as follows: PC2: #NPtcp PC1: #NPtcp =A8Ch 192.168.1.20 =20 Regards, Hongtao =20 =20 =20 _____ =20 From: Istv=A8=A2n [mailto:leccine@gmail.com] Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13 To: Hongtao Yin Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance =20 use netpipe TCP pls. =20 And graph it. =20 Thanks in advance, Istvan On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin wrote: Hi, I compared TCP performance between FreeBSD and Linux by running test = tools Netperf and Iperf with Intel NIC. The kernels are full version and default values are used in the testing except TCP Congestion Control algorithm set to Reno. >From the test results we can see Linux TCP performance in throughput is better than FreeBSD. The worst case (send msg size 128) shows that = FreeBSD throughput is only 43% of Linux's. I like to get some feedback if anyone did similar comparison test, or = knows any issues with kernels or drivers. Thanks lot. FreeBSD and Linux Sysctl captures are attached for reference. Regards, Hongtao Test Environments: PC: Dell Precision T3400 (same 4 PCs) CPU: Intel Core 2 Duo CPU E4600@2.4Ghz FreeBSD: V7.1 (full version) (TCP CC: newReno) Linux: V2.6.31.1 (full version) (TCP CC: Reno) Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter = (Gigabit) chip 82546EB (only one port used for each PC) Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108) Iperf: V2.0.4 Netperf: V2.4.4 Setup: ---------- | switch | ---------- ---------------------| | | |-------------------- | | | | | --------| |-------- | | | | | | | | | -------------- -------------- -------------- -------------- | PC1 | | PC2 | | PC3 | | PC4 | | FreeBSD | | FreeBSD | | Linux | | Linux | |192.168.1.10| |192.168.1.20| |192.168.1.30| |192.168.1.40| -------------- -------------- -------------- -------------- =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D Netperf Test Results =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D TCP Throughput Test ------------------- PC2/4: #netserver -p 22113 PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10 Recv Send Send Elapsed Throughput Socket Socket Message Time 10^6 bits/sec Size Size Size Sec. bytes bytes bytes FreeBSD: 65536 32768 32768 10.34 598.11 Linux: 87380 16384 16384 10.04 779.02 PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m 64/128/256/512/1024/2048/4096 Recv Send Send Elapsed Throughput Socket Socket Message Time 10^6 bits/sec Size Size Size Sec. bytes bytes bytes FreeBSD: 65536 32768 64 10.19 417.10 65536 32768 128 10.35 336.63 65536 32768 256 10.36 576.99 65536 32768 512 10.35 569.79 65536 32768 1024 10.35 553.70 65536 32768 2048 10.35 584.20 65536 32768 4096 10.35 602.45 Linux: 87380 16384 64 10.03 778.21 87380 16384 128 10.03 779.72 87380 16384 256 10.04 780.16 87380 16384 512 10.03 776.85 87380 16384 1024 10.04 777.52 87380 16384 2048 10.04 777.83 87380 16384 4096 10.03 780.17 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D Iperf Test Results =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D Bandwidth Test -------------- PC2/4: #iperf -s PC1/3: #iperf -c 192.168.1.20 Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.3 740 600 Linux: 0.0-10.0 972 815 PC1/3: #iperf -c 192.168.1.20 -d Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.0 402 337 0.0-10.0 404 338 Linux: 0.0-10.0 926 776 0.0-10.0 44.1 36.9 Parallel Test ------------- PC2/4: #iperf -s PC1/3: #iperf -c 192.168.1.20 -P 2 Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.3 370 300 0.0-10.3 370 300 SUM: 0.0-10.3 739 600 Linux: 0.0-10.0 479 402 0.0-10.0 473 396 SUM: 0.0-10.0 952 797 _______________________________________________ freebsd-performance@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-performance To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org" -- the sun shines for all --Boundary_(ID_X07vp6D5t+VhKmtY4Ii/5g) Content-type: application/pdf; name=netpipe.pdf Content-transfer-encoding: base64 Content-disposition: attachment; filename=netpipe.pdf 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 PDj8hy9P391jNkP2eoan21zXBb8f711ajOSrSlxtI6AIIyAxU9HOO9F+b3DTnloctiKEUjgS9xzx e61Bf5gx+t8//X/9/wXiZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjEwOTQ4CmVuZG9iago0IDAg b2JqCjw8L1R5cGUvUGFnZS9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCi9Sb3RhdGUgMC9QYXJlbnQg MyAwIFIKL1Jlc291cmNlczw8L1Byb2NTZXRbL1BERiAvVGV4dF0KL0V4dEdTdGF0ZSAxNCAwIFIK L0ZvbnQgMTUgMCBSCj4+Ci9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKMyAwIG9iago8PCAvVHlw ZSAvUGFnZXMgL0tpZHMgWwo0IDAgUgpdIC9Db3VudCAxCj4+CmVuZG9iagoxIDAgb2JqCjw8L1R5 cGUgL0NhdGFsb2cgL1BhZ2VzIDMgMCBSCi9PcGVuQWN0aW9uIFs0IDAgUiAvRml0XQovTWV0YWRh dGEgMjIgMCBSCj4+CmVuZG9iago3IDAgb2JqCjw8L1R5cGUvRXh0R1N0YXRlCi9PUE0gMT4+ZW5k b2JqCjE0IDAgb2JqCjw8L1I3CjcgMCBSPj4KZW5kb2JqCjE1IDAgb2JqCjw8L1I4CjggMCBSL1Ix MAoxMCAwIFIvUjEyCjEyIDAgUj4+CmVuZG9iago4IDAgb2JqCjw8L0Jhc2VGb250L0dNVFhTVStB cmlhbCxCb2xkL0ZvbnREZXNjcmlwdG9yIDkgMCBSL1R5cGUvRm9udAovRmlyc3RDaGFyIDEvTGFz dENoYXIgMjQvV2lkdGhzWyA2MTEgNzIyIDY2NyAyNzggNjExIDM4OSA2MTEgNjExIDYxMSA2MTEg MzMzIDYxMSA2MTEgMjc4IDU1Ngo3MjIgNTU2IDU1NiA1NTYgODMzIDYxMSA2MTEgNjY3IDcyMl0K L0VuY29kaW5nIDE5IDAgUi9TdWJ0eXBlL1RydWVUeXBlPj4KZW5kb2JqCjE5IDAgb2JqCjw8L1R5 cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9EaWZmZXJlbmNlc1sKMS9U L0MvUC9zcGFjZS9oL3Ivby91L2cvcC90L24vTC9pL3gvQgoveS9lL3MvTS9iL0YvUy9EXT4+CmVu ZG9iagoxMCAwIG9iago8PC9CYXNlRm9udC9SRFpSUEkrQXJpYWwvRm9udERlc2NyaXB0b3IgMTEg MCBSL1R5cGUvRm9udAovRmlyc3RDaGFyIDEvTGFzdENoYXIgMTAvV2lkdGhzWyA1NTYgNTU2IDU1 NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTZdCi9FbmNvZGluZyAyMCAwIFIvU3VidHlwZS9U cnVlVHlwZT4+CmVuZG9iagoyMCAwIG9iago8PC9UeXBlL0VuY29kaW5nL0Jhc2VFbmNvZGluZy9X aW5BbnNpRW5jb2RpbmcvRGlmZmVyZW5jZXNbCjEvemVyby9vbmUvdHdvL3RocmVlL2ZvdXIvZml2 ZS9zaXgvc2V2ZW4vZWlnaHQvbmluZV0+PgplbmRvYmoKMTIgMCBvYmoKPDwvQmFzZUZvbnQvS1BT SEJPK1RpbWVzTmV3Um9tYW4vRm9udERlc2NyaXB0b3IgMTMgMCBSL1R5cGUvRm9udAovRmlyc3RD aGFyIDEvTGFzdENoYXIgMS9XaWR0aHNbIDI1MF0KL0VuY29kaW5nIDIxIDAgUi9TdWJ0eXBlL1Ry dWVUeXBlPj4KZW5kb2JqCjIxIDAgb2JqCjw8L1R5cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5nL1dp bkFuc2lFbmNvZGluZy9EaWZmZXJlbmNlc1sKMS9zcGFjZV0+PgplbmRvYmoKOSAwIG9iago8PC9U eXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0dNVFhTVStBcmlhbCxCb2xkL0ZvbnRCQm94WzAg LTIxMCA3NjIgNzI4XS9GbGFncyA0Ci9Bc2NlbnQgNzI4Ci9DYXBIZWlnaHQgNzI4Ci9EZXNjZW50 IC0yMTAKL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDExNAovTWlzc2luZ1dpZHRoIDc1MAovWEhlaWdo dCA1MzAKL0ZvbnRGaWxlMiAxNiAwIFI+PgplbmRvYmoKMTYgMCBvYmoKPDwvRmlsdGVyL0ZsYXRl RGVjb2RlCi9MZW5ndGgxIDE5Nzk2L0xlbmd0aCAxMTM2MT4+c3RyZWFtCnic7Xx7fFTVtfDa+5wz Z86ZZ+adScK8MpOQSUhIJoRAJCchiUAEwtOMGAmP8PABCQ9BWyGKCgQfUBUf1RJtFYoPJhPEhEeN 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 Go69ooTvl9p12lfOvdIl0rNyGb6P6yfpjxkuY6+xwnj6u/e797v3u/e797v3u/e797v3u/e797v3 f/6m/kBJ+n/q2oBT/66HG0GDmYpQGdc4Z2bzlFmXzyi+bF7wyklzS+pHjsn77/25jP//Hh6a1JRn 8jnlSiYxJSxl/48D0woIQRnKjP31jZnQDFNgFlwOM6AYLoN5EFT/MslcjKfrYSTGjCmxEbCof24H QAMyQM2q5QuuLaxdee1iNgbZzv4p8v/ho724eApOJS+qSP/vaw37rydpoJXw/wQIv4SdCAsQ7mXA fwj3/xN4RLMXdpwDYS7cdwFMwfbC/yZsPg+roUaFD2E2wg9wfvf8PWD9DoSZCNsYcDkqXwndCx4s 33keVoMejACpc/QvHrY39M9Le2L7Ds43VX2hzUxt5mMfVql/Kaz/7WetX311dtgMWjvSSuf28n8D I3ugwQplbmRzdHJlYW0KZW5kb2JqCjExIDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9u dE5hbWUvUkRaUlBJK0FyaWFsL0ZvbnRCQm94WzEyIC0xMiA2MjUgNzE4XS9GbGFncyA2NTU0MAov QXNjZW50IDcxOAovQ2FwSGVpZ2h0IDcxOAovRGVzY2VudCAtMTIKL0l0YWxpY0FuZ2xlIDAKL1N0 ZW1WIDkzCi9NaXNzaW5nV2lkdGggNzUwCi9Gb250RmlsZTIgMTcgMCBSPj4KZW5kb2JqCjE3IDAg b2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZQovTGVuZ3RoMSAxNDcyMC9MZW5ndGggNzU5OD4+c3Ry ZWFtCnic7Tt7fJNFtmfm+/Jonl/SJk3TkHxpaICmpVgepVDpV9qCWKA8WmxYaltapFCQYgEFeQTk WVDQVRTWB7I+QEXSUiAUXKogrijiCsuuT1Dxea3gXsRVIblnvqSF3uu9v/3j/nN/l296Zs6cOTNz 5pwzZ2ZKAQIAeggAB+NKJmZmgfwNnoXZpJrZ1Q3RejYPQMbWLJgnbk57bwESPgJQ9rujYfrstxf6 twKodFi/c/qshXdE+W3tAKa0umnVte885n0QIOcWJA6qQ4K5vzmCEy7Ges+62fPuic13FLOps+bU VEfrfb5DHuvs6nsatCN1OxDfhkTxzurZ02L8pZglNsxpnBet5/Rm7Q13TWuYED76DfLj/JqIog2S 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 a+vlX3ZfnS6AWofVuE7Z/wOvyJ/oCmVuZHN0cmVhbQplbmRvYmoKMTMgMCBvYmoKPDwvVHlwZS9G b250RGVzY3JpcHRvci9Gb250TmFtZS9LUFNIQk8rVGltZXNOZXdSb21hbi9Gb250QkJveFswIDAg NjM4IDYyNV0vRmxhZ3MgNjU1NDAKL0FzY2VudCA2MjUKL0NhcEhlaWdodCA2MjUKL0Rlc2NlbnQg MAovSXRhbGljQW5nbGUgMAovU3RlbVYgOTUKL01pc3NpbmdXaWR0aCA3NzcKL0ZvbnRGaWxlMiAx OCAwIFI+PgplbmRvYmoKMTggMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlCi9MZW5ndGgxIDEx NzQ0L0xlbmd0aCA1NDU3Pj5zdHJlYW0KeJztWnt4VNW1X3vvc2YmCZMM4ZFAgDOTk4HATEwIKhCm ZPKY8BiEAAFmqDWThPASTDQJVgsGa1EMKFSpj1YBtTwqWE4mYhO0Em21V60F66PqtYJXrNbWSn3d tkLO/e0zEyT387u39/vuf+XsrLX2XmvtvdZee5199k5CjIictJEEVc9bWFhM1lPgBlrcsLauOdH2 9RKxQMO6Vven/jdvBOMtIvuzy5tXrP3F3tEYwfFjItvEFWuuW57QH1MEtG5lY92yY98c/V2Mtx/t S1eCkflx5hdE6a+jnbdybeu3k/Ykda1paqhL9oe+c/jaum83O5nrp9A/A6b7qrq1jQm5X7Y9zU0t rcn+m6W8+ZrG5lNTdsCXjFGAIertROoc0gCjxA7KITLfAZwCfNA32zyjXkl632rzpBiC3o8kgchL d9EuyqPTbCI9Tb00m/ZSGVXTDppBx+gQpdN17AVSSKdK2k9ephGnKspiKt1Lb9DldA29Rycpn8L0 NsvEOCFqpuE01fwjcJg2mz3QSqUK+ikdYWvYQipEfSb3Mx8sbzN7KYvyzRfN19G6n95jeWYnzUTt DzSYxlE7fZ8yaTU9b8oI5FE97WPr2R/JQzHaolysdJhX0jQ6TK+yMGqX0XXq6ymHaQ16PcSyWK95 wnyfnlQYNWKk79JmeBynXn6RqFB3k5vG0jdoLtVB+h16gw1hE0XQHGeWm/eCu48+4T7+rLDDDx/N olq6jR5ANF6jU/Q5S2OXsPvZAZSX2F9UubphaqPrkVf3I3r76CD1sIlsIs/iWYhWFo2nRZBtoz2w 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 4W5t8flIgkxwrABUfWxg3hNraSOEAgsCAiWL2yK7tUn6lSL24FG4IY+Sp2XcmS/r5Oxx/iSOqXZ+ NE6q0s2ffFRQql1WDjMa4bCpRyHnJNh4SmFXsiso2+f6InA2MNf1WeCyswEqRd11BmhikWewZ7AX iI1S6Ixb9J4JqvQluZVe674+7UK5UC6UC+VCuVAulAvlQrlQLpQL5V+4yIcn/7I5VP6xi4iNBMj/ 0xL0r/0olGth6++8p5lp9mP5y0VKxIdRpvxXPtRslEFUs2ptY4t7buO17gVNa+uuIkuD2Hb5x6F/ 8nEMbJ6m0+YARvKv0LapbFQ/SPP/62qxhE6ncehIbUbgc8eIhKEH3x39tKQ9rx7O/7L17FYXOdLR TOm3818NOYC5CmVuZHN0cmVhbQplbmRvYmoKMjIgMCBvYmoKPDwvVHlwZS9NZXRhZGF0YQovU3Vi dHlwZS9YTUwvTGVuZ3RoIDE0NDM+PnN0cmVhbQo8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1 TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pgo8P2Fkb2JlLXhhcC1maWx0ZXJzIGVzYz0iQ1JMRiI/ Pgo8eDp4bXBtZXRhIHhtbG5zOng9J2Fkb2JlOm5zOm1ldGEvJyB4OnhtcHRrPSdYTVAgdG9vbGtp dCAyLjkuMS0xMywgZnJhbWV3b3JrIDEuNic+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3 dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIycgeG1sbnM6aVg9J2h0dHA6Ly9ucy5h ZG9iZS5jb20vaVgvMS4wLyc+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSc2ODkyYmMzMi1i YzczLTExZGUtMDAwMC1lYmUzNDIyZWUxZDknIHhtbG5zOnBkZj0naHR0cDovL25zLmFkb2JlLmNv bS9wZGYvMS4zLycgcGRmOlByb2R1Y2VyPSdCdWxsemlwIFBERiBQcmludGVyIC8gd3d3LmJ1bGx6 aXAuY29tIC8gRnJlZXdhcmUgRWRpdGlvbiBcKG5vdCByZWdpc3RlcmVkXCknLz4KPHJkZjpEZXNj cmlwdGlvbiByZGY6YWJvdXQ9JzY4OTJiYzMyLWJjNzMtMTFkZS0wMDAwLWViZTM0MjJlZTFkOScg eG1sbnM6eG1wPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvJz48eG1wOk1vZGlmeURhdGU+ MjAwOS0xMC0xNVQyMjo1MToxMi0wNzowMDwveG1wOk1vZGlmeURhdGU+Cjx4bXA6Q3JlYXRlRGF0 ZT4yMDA5LTEwLTE1VDIyOjUxOjEyLTA3OjAwPC94bXA6Q3JlYXRlRGF0ZT4KPHhtcDpDcmVhdG9y VG9vbD5QU2NyaXB0NS5kbGwgVmVyc2lvbiA1LjIuMjwveG1wOkNyZWF0b3JUb29sPjwvcmRmOkRl c2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nNjg5MmJjMzItYmM3My0xMWRl LTAwMDAtZWJlMzQyMmVlMWQ5JyB4bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAv MS4wL21tLycgeGFwTU06RG9jdW1lbnRJRD0nNjg5MmJjMzItYmM3My0xMWRlLTAwMDAtZWJlMzQy MmVlMWQ5Jy8+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSc2ODkyYmMzMi1iYzczLTExZGUt MDAwMC1lYmUzNDIyZWUxZDknIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv MS4xLycgZGM6Zm9ybWF0PSdhcHBsaWNhdGlvbi9wZGYnPjxkYzp0aXRsZT48cmRmOkFsdD48cmRm OmxpIHhtbDpsYW5nPSd4LWRlZmF1bHQnPigpPC9yZGY6bGk+PC9yZGY6QWx0PjwvZGM6dGl0bGU+ PGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjpsaT5YNzM4ODg8L3JkZjpsaT48L3JkZjpTZXE+PC9k YzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz4KZW5kc3RyZWFt CmVuZG9iagoyIDAgb2JqCjw8L1Byb2R1Y2VyKEJ1bGx6aXAgUERGIFByaW50ZXIgLyB3d3cuYnVs bHppcC5jb20gLyBGcmVld2FyZSBFZGl0aW9uIFwobm90IHJlZ2lzdGVyZWRcKSkKL0NyZWF0aW9u RGF0ZShEOjIwMDkxMDE1MjI1MTEyLTA3JzAwJykKL01vZERhdGUoRDoyMDA5MTAxNTIyNTExMi0w NycwMCcpCi9BdXRob3IoWDczODg4KQovVGl0bGUoKQovQ3JlYXRvcihQU2NyaXB0NS5kbGwgVmVy c2lvbiA1LjIuMik+PmVuZG9iagp4cmVmCjAgMjMKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDEx MjczIDAwMDAwIG4gCjAwMDAwMzkyMjQgMDAwMDAgbiAKMDAwMDAxMTIxNCAwMDAwMCBuIAowMDAw MDExMDU0IDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAxMTAzMyAwMDAwMCBuIAow MDAwMDExMzYzIDAwMDAwIG4gCjAwMDAwMTE0ODYgMDAwMDAgbiAKMDAwMDAxMjQxNCAwMDAwMCBu IAowMDAwMDExODYxIDAwMDAwIG4gCjAwMDAwMjQwNzYgMDAwMDAgbiAKMDAwMDAxMjE3NCAwMDAw MCBuIAowMDAwMDMxOTU5IDAwMDAwIG4gCjAwMDAwMTE0MDQgMDAwMDAgbiAKMDAwMDAxMTQzNCAw MDAwMCBuIAowMDAwMDEyNjMwIDAwMDAwIG4gCjAwMDAwMjQyNzcgMDAwMDAgbiAKMDAwMDAzMjE2 MyAwMDAwMCBuIAowMDAwMDExNzI4IDAwMDAwIG4gCjAwMDAwMTIwNDQgMDAwMDAgbiAKMDAwMDAx MjMyOCAwMDAwMCBuIAowMDAwMDM3NzA0IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjMgL1Jv b3QgMSAwIFIgL0luZm8gMiAwIFIKL0lEIFs8MUZCNEIwMUE3OThFNjYzMTQ5NjM3MjUwMzc4RTAy MkI+PDFGQjRCMDFBNzk4RTY2MzE0OTYzNzI1MDM3OEUwMjJCPl0KPj4Kc3RhcnR4cmVmCjM5NDY0 CiUlRU9GCg== --Boundary_(ID_X07vp6D5t+VhKmtY4Ii/5g)-- From owner-freebsd-performance@FreeBSD.ORG Fri Oct 16 07:04:21 2009 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 C745D1065672 for ; Fri, 16 Oct 2009 07:04:21 +0000 (UTC) (envelope-from dkelly@hiwaay.net) Received: from smtp.knology.net (smtp.knology.net [24.214.63.101]) by mx1.freebsd.org (Postfix) with ESMTP id 066828FC12 for ; Fri, 16 Oct 2009 07:04:20 +0000 (UTC) Received: (qmail 25293 invoked by uid 0); 16 Oct 2009 06:37:38 -0000 Received: from unknown (HELO ?10.0.0.9?) (24.42.224.110) by smtp5.knology.net with SMTP; 16 Oct 2009 06:37:38 -0000 References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> <001301ca4e23$b96e35b0$3322c10a@china.huawei.com> <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com> In-Reply-To: <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com> Mime-Version: 1.0 (Apple Message framework v1076) Content-Type: multipart/mixed; boundary=Apple-Mail-3-342453490 Message-Id: <5FD087E4-438B-41F0-B6C3-D6C3792F5B4D@hiwaay.net> From: David Kelly Date: Fri, 16 Oct 2009 01:37:23 -0500 To: Steve Dong X-Mailer: Apple Mail (2.1076) Cc: =?GB2312?Q?Istv=A8=A2n?= , freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: freebsd-performance@freebsd.org List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 16 Oct 2009 07:04:21 -0000 --Apple-Mail-3-342453490 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii; format=flowed; delsp=yes On Oct 16, 2009, at 12:53 AM, Steve Dong wrote: > It looks the jpeg attachments were somehow dropped. Trying again > with pdf > attachment. Hopefully it works this time. *I* saw two jpeg charts at the very bottom of Steve's top-posted reply. This demonstrates just one of many evils of top-posting: the top-poster doesn't read everything he re-sends. If its not worth reading then why send it again? --Apple-Mail-3-342453490 Content-Disposition: inline; filename=netpipe.pdf Content-Type: application/pdf; name="netpipe.pdf" Content-Transfer-Encoding: base64 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 PDj8hy9P391jNkP2eoan21zXBb8f711ajOSrSlxtI6AIIyAxU9HOO9F+b3DTnloctiKEUjgS9xzx e61Bf5gx+t8//X/9/wXiZW5kc3RyZWFtCmVuZG9iago2IDAgb2JqCjEwOTQ4CmVuZG9iago0IDAg b2JqCjw8L1R5cGUvUGFnZS9NZWRpYUJveCBbMCAwIDYxMiA3OTJdCi9Sb3RhdGUgMC9QYXJlbnQg MyAwIFIKL1Jlc291cmNlczw8L1Byb2NTZXRbL1BERiAvVGV4dF0KL0V4dEdTdGF0ZSAxNCAwIFIK L0ZvbnQgMTUgMCBSCj4+Ci9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKMyAwIG9iago8PCAvVHlw ZSAvUGFnZXMgL0tpZHMgWwo0IDAgUgpdIC9Db3VudCAxCj4+CmVuZG9iagoxIDAgb2JqCjw8L1R5 cGUgL0NhdGFsb2cgL1BhZ2VzIDMgMCBSCi9PcGVuQWN0aW9uIFs0IDAgUiAvRml0XQovTWV0YWRh dGEgMjIgMCBSCj4+CmVuZG9iago3IDAgb2JqCjw8L1R5cGUvRXh0R1N0YXRlCi9PUE0gMT4+ZW5k b2JqCjE0IDAgb2JqCjw8L1I3CjcgMCBSPj4KZW5kb2JqCjE1IDAgb2JqCjw8L1I4CjggMCBSL1Ix MAoxMCAwIFIvUjEyCjEyIDAgUj4+CmVuZG9iago4IDAgb2JqCjw8L0Jhc2VGb250L0dNVFhTVStB cmlhbCxCb2xkL0ZvbnREZXNjcmlwdG9yIDkgMCBSL1R5cGUvRm9udAovRmlyc3RDaGFyIDEvTGFz dENoYXIgMjQvV2lkdGhzWyA2MTEgNzIyIDY2NyAyNzggNjExIDM4OSA2MTEgNjExIDYxMSA2MTEg MzMzIDYxMSA2MTEgMjc4IDU1Ngo3MjIgNTU2IDU1NiA1NTYgODMzIDYxMSA2MTEgNjY3IDcyMl0K L0VuY29kaW5nIDE5IDAgUi9TdWJ0eXBlL1RydWVUeXBlPj4KZW5kb2JqCjE5IDAgb2JqCjw8L1R5 cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5nL1dpbkFuc2lFbmNvZGluZy9EaWZmZXJlbmNlc1sKMS9U L0MvUC9zcGFjZS9oL3Ivby91L2cvcC90L24vTC9pL3gvQgoveS9lL3MvTS9iL0YvUy9EXT4+CmVu ZG9iagoxMCAwIG9iago8PC9CYXNlRm9udC9SRFpSUEkrQXJpYWwvRm9udERlc2NyaXB0b3IgMTEg MCBSL1R5cGUvRm9udAovRmlyc3RDaGFyIDEvTGFzdENoYXIgMTAvV2lkdGhzWyA1NTYgNTU2IDU1 NiA1NTYgNTU2IDU1NiA1NTYgNTU2IDU1NiA1NTZdCi9FbmNvZGluZyAyMCAwIFIvU3VidHlwZS9U cnVlVHlwZT4+CmVuZG9iagoyMCAwIG9iago8PC9UeXBlL0VuY29kaW5nL0Jhc2VFbmNvZGluZy9X aW5BbnNpRW5jb2RpbmcvRGlmZmVyZW5jZXNbCjEvemVyby9vbmUvdHdvL3RocmVlL2ZvdXIvZml2 ZS9zaXgvc2V2ZW4vZWlnaHQvbmluZV0+PgplbmRvYmoKMTIgMCBvYmoKPDwvQmFzZUZvbnQvS1BT SEJPK1RpbWVzTmV3Um9tYW4vRm9udERlc2NyaXB0b3IgMTMgMCBSL1R5cGUvRm9udAovRmlyc3RD aGFyIDEvTGFzdENoYXIgMS9XaWR0aHNbIDI1MF0KL0VuY29kaW5nIDIxIDAgUi9TdWJ0eXBlL1Ry dWVUeXBlPj4KZW5kb2JqCjIxIDAgb2JqCjw8L1R5cGUvRW5jb2RpbmcvQmFzZUVuY29kaW5nL1dp bkFuc2lFbmNvZGluZy9EaWZmZXJlbmNlc1sKMS9zcGFjZV0+PgplbmRvYmoKOSAwIG9iago8PC9U eXBlL0ZvbnREZXNjcmlwdG9yL0ZvbnROYW1lL0dNVFhTVStBcmlhbCxCb2xkL0ZvbnRCQm94WzAg LTIxMCA3NjIgNzI4XS9GbGFncyA0Ci9Bc2NlbnQgNzI4Ci9DYXBIZWlnaHQgNzI4Ci9EZXNjZW50 IC0yMTAKL0l0YWxpY0FuZ2xlIDAKL1N0ZW1WIDExNAovTWlzc2luZ1dpZHRoIDc1MAovWEhlaWdo dCA1MzAKL0ZvbnRGaWxlMiAxNiAwIFI+PgplbmRvYmoKMTYgMCBvYmoKPDwvRmlsdGVyL0ZsYXRl RGVjb2RlCi9MZW5ndGgxIDE5Nzk2L0xlbmd0aCAxMTM2MT4+c3RyZWFtCnic7Xx7fFTVtfDa+5wz Z86ZZ+adScK8MpOQSUhIJoRAJCchiUAEwtOMGAmP8PABCQ9BWyGKCgQfUBUf1RJtFYoPJhPEhEeN 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 Go69ooTvl9p12lfOvdIl0rNyGb6P6yfpjxkuY6+xwnj6u/e797v3u/e797v3u/e797v3u/e797v3 f/6m/kBJ+n/q2oBT/66HG0GDmYpQGdc4Z2bzlFmXzyi+bF7wyklzS+pHjsn77/25jP//Hh6a1JRn 8jnlSiYxJSxl/48D0woIQRnKjP31jZnQDFNgFlwOM6AYLoN5EFT/MslcjKfrYSTGjCmxEbCof24H QAMyQM2q5QuuLaxdee1iNgbZzv4p8v/ho724eApOJS+qSP/vaw37rydpoJXw/wQIv4SdCAsQ7mXA fwj3/xN4RLMXdpwDYS7cdwFMwfbC/yZsPg+roUaFD2E2wg9wfvf8PWD9DoSZCNsYcDkqXwndCx4s 33keVoMejACpc/QvHrY39M9Le2L7Ds43VX2hzUxt5mMfVql/Kaz/7WetX311dtgMWjvSSuf28n8D I3ugwQplbmRzdHJlYW0KZW5kb2JqCjExIDAgb2JqCjw8L1R5cGUvRm9udERlc2NyaXB0b3IvRm9u dE5hbWUvUkRaUlBJK0FyaWFsL0ZvbnRCQm94WzEyIC0xMiA2MjUgNzE4XS9GbGFncyA2NTU0MAov QXNjZW50IDcxOAovQ2FwSGVpZ2h0IDcxOAovRGVzY2VudCAtMTIKL0l0YWxpY0FuZ2xlIDAKL1N0 ZW1WIDkzCi9NaXNzaW5nV2lkdGggNzUwCi9Gb250RmlsZTIgMTcgMCBSPj4KZW5kb2JqCjE3IDAg b2JqCjw8L0ZpbHRlci9GbGF0ZURlY29kZQovTGVuZ3RoMSAxNDcyMC9MZW5ndGggNzU5OD4+c3Ry ZWFtCnic7Tt7fJNFtmfm+/Jonl/SJk3TkHxpaICmpVgepVDpV9qCWKA8WmxYaltapFCQYgEFeQTk WVDQVRTWB7I+QEXSUiAUXKogrijiCsuuT1Dxea3gXsRVIblnvqSF3uu9v/3j/nN/l296Zs6cOTNz 5pwzZ2ZKAQIAeggAB+NKJmZmgfwNnoXZpJrZ1Q3RejYPQMbWLJgnbk57bwESPgJQ9rujYfrstxf6 twKodFi/c/qshXdE+W3tAKa0umnVte885n0QIOcWJA6qQ4K5vzmCEy7Ges+62fPuic13FLOps+bU VEfrfb5DHuvs6nsatCN1OxDfhkTxzurZ02L8pZglNsxpnBet5/Rm7Q13TWuYED76DfLj/JqIog2S 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 a+vlX3ZfnS6AWofVuE7Z/wOvyJ/oCmVuZHN0cmVhbQplbmRvYmoKMTMgMCBvYmoKPDwvVHlwZS9G b250RGVzY3JpcHRvci9Gb250TmFtZS9LUFNIQk8rVGltZXNOZXdSb21hbi9Gb250QkJveFswIDAg NjM4IDYyNV0vRmxhZ3MgNjU1NDAKL0FzY2VudCA2MjUKL0NhcEhlaWdodCA2MjUKL0Rlc2NlbnQg MAovSXRhbGljQW5nbGUgMAovU3RlbVYgOTUKL01pc3NpbmdXaWR0aCA3NzcKL0ZvbnRGaWxlMiAx OCAwIFI+PgplbmRvYmoKMTggMCBvYmoKPDwvRmlsdGVyL0ZsYXRlRGVjb2RlCi9MZW5ndGgxIDEx NzQ0L0xlbmd0aCA1NDU3Pj5zdHJlYW0KeJztWnt4VNW1X3vvc2YmCZMM4ZFAgDOTk4HATEwIKhCm ZPKY8BiEAAFmqDWThPASTDQJVgsGa1EMKFSpj1YBtTwqWE4mYhO0Em21V60F66PqtYJXrNbWSn3d tkLO/e0zEyT387u39/vuf+XsrLX2XmvtvdZee5199k5CjIictJEEVc9bWFhM1lPgBlrcsLauOdH2 9RKxQMO6Vven/jdvBOMtIvuzy5tXrP3F3tEYwfFjItvEFWuuW57QH1MEtG5lY92yY98c/V2Mtx/t S1eCkflx5hdE6a+jnbdybeu3k/Ykda1paqhL9oe+c/jaum83O5nrp9A/A6b7qrq1jQm5X7Y9zU0t rcn+m6W8+ZrG5lNTdsCXjFGAIertROoc0gCjxA7KITLfAZwCfNA32zyjXkl632rzpBiC3o8kgchL d9EuyqPTbCI9Tb00m/ZSGVXTDppBx+gQpdN17AVSSKdK2k9ephGnKspiKt1Lb9DldA29Rycpn8L0 NsvEOCFqpuE01fwjcJg2mz3QSqUK+ikdYWvYQipEfSb3Mx8sbzN7KYvyzRfN19G6n95jeWYnzUTt DzSYxlE7fZ8yaTU9b8oI5FE97WPr2R/JQzHaolysdJhX0jQ6TK+yMGqX0XXq6ymHaQ16PcSyWK95 wnyfnlQYNWKk79JmeBynXn6RqFB3k5vG0jdoLtVB+h16gw1hE0XQHGeWm/eCu48+4T7+rLDDDx/N olq6jR5ANF6jU/Q5S2OXsPvZAZSX2F9UubphaqPrkVf3I3r76CD1sIlsIs/iWYhWFo2nRZBtoz2w 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 4W5t8flIgkxwrABUfWxg3hNraSOEAgsCAiWL2yK7tUn6lSL24FG4IY+Sp2XcmS/r5Oxx/iSOqXZ+ NE6q0s2ffFRQql1WDjMa4bCpRyHnJNh4SmFXsiso2+f6InA2MNf1WeCyswEqRd11BmhikWewZ7AX iI1S6Ixb9J4JqvQluZVe674+7UK5UC6UC+VCuVAulAvlQrlQLpQL5V+4yIcn/7I5VP6xi4iNBMj/ 0xL0r/0olGth6++8p5lp9mP5y0VKxIdRpvxXPtRslEFUs2ptY4t7buO17gVNa+uuIkuD2Hb5x6F/ 8nEMbJ6m0+YARvKv0LapbFQ/SPP/62qxhE6ncehIbUbgc8eIhKEH3x39tKQ9rx7O/7L17FYXOdLR TOm3818NOYC5CmVuZHN0cmVhbQplbmRvYmoKMjIgMCBvYmoKPDwvVHlwZS9NZXRhZGF0YQovU3Vi dHlwZS9YTUwvTGVuZ3RoIDE0NDM+PnN0cmVhbQo8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1 TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/Pgo8P2Fkb2JlLXhhcC1maWx0ZXJzIGVzYz0iQ1JMRiI/ Pgo8eDp4bXBtZXRhIHhtbG5zOng9J2Fkb2JlOm5zOm1ldGEvJyB4OnhtcHRrPSdYTVAgdG9vbGtp dCAyLjkuMS0xMywgZnJhbWV3b3JrIDEuNic+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3 dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIycgeG1sbnM6aVg9J2h0dHA6Ly9ucy5h ZG9iZS5jb20vaVgvMS4wLyc+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSc2ODkyYmMzMi1i YzczLTExZGUtMDAwMC1lYmUzNDIyZWUxZDknIHhtbG5zOnBkZj0naHR0cDovL25zLmFkb2JlLmNv bS9wZGYvMS4zLycgcGRmOlByb2R1Y2VyPSdCdWxsemlwIFBERiBQcmludGVyIC8gd3d3LmJ1bGx6 aXAuY29tIC8gRnJlZXdhcmUgRWRpdGlvbiBcKG5vdCByZWdpc3RlcmVkXCknLz4KPHJkZjpEZXNj cmlwdGlvbiByZGY6YWJvdXQ9JzY4OTJiYzMyLWJjNzMtMTFkZS0wMDAwLWViZTM0MjJlZTFkOScg eG1sbnM6eG1wPSdodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvJz48eG1wOk1vZGlmeURhdGU+ MjAwOS0xMC0xNVQyMjo1MToxMi0wNzowMDwveG1wOk1vZGlmeURhdGU+Cjx4bXA6Q3JlYXRlRGF0 ZT4yMDA5LTEwLTE1VDIyOjUxOjEyLTA3OjAwPC94bXA6Q3JlYXRlRGF0ZT4KPHhtcDpDcmVhdG9y VG9vbD5QU2NyaXB0NS5kbGwgVmVyc2lvbiA1LjIuMjwveG1wOkNyZWF0b3JUb29sPjwvcmRmOkRl c2NyaXB0aW9uPgo8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nNjg5MmJjMzItYmM3My0xMWRl LTAwMDAtZWJlMzQyMmVlMWQ5JyB4bWxuczp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAv MS4wL21tLycgeGFwTU06RG9jdW1lbnRJRD0nNjg5MmJjMzItYmM3My0xMWRlLTAwMDAtZWJlMzQy MmVlMWQ5Jy8+CjxyZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSc2ODkyYmMzMi1iYzczLTExZGUt MDAwMC1lYmUzNDIyZWUxZDknIHhtbG5zOmRjPSdodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMv MS4xLycgZGM6Zm9ybWF0PSdhcHBsaWNhdGlvbi9wZGYnPjxkYzp0aXRsZT48cmRmOkFsdD48cmRm OmxpIHhtbDpsYW5nPSd4LWRlZmF1bHQnPigpPC9yZGY6bGk+PC9yZGY6QWx0PjwvZGM6dGl0bGU+ PGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjpsaT5YNzM4ODg8L3JkZjpsaT48L3JkZjpTZXE+PC9k YzpjcmVhdG9yPjwvcmRmOkRlc2NyaXB0aW9uPgo8L3JkZjpSREY+CjwveDp4bXBtZXRhPgogICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgCjw/eHBhY2tldCBlbmQ9J3cnPz4KZW5kc3RyZWFt CmVuZG9iagoyIDAgb2JqCjw8L1Byb2R1Y2VyKEJ1bGx6aXAgUERGIFByaW50ZXIgLyB3d3cuYnVs bHppcC5jb20gLyBGcmVld2FyZSBFZGl0aW9uIFwobm90IHJlZ2lzdGVyZWRcKSkKL0NyZWF0aW9u RGF0ZShEOjIwMDkxMDE1MjI1MTEyLTA3JzAwJykKL01vZERhdGUoRDoyMDA5MTAxNTIyNTExMi0w NycwMCcpCi9BdXRob3IoWDczODg4KQovVGl0bGUoKQovQ3JlYXRvcihQU2NyaXB0NS5kbGwgVmVy c2lvbiA1LjIuMik+PmVuZG9iagp4cmVmCjAgMjMKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDEx MjczIDAwMDAwIG4gCjAwMDAwMzkyMjQgMDAwMDAgbiAKMDAwMDAxMTIxNCAwMDAwMCBuIAowMDAw MDExMDU0IDAwMDAwIG4gCjAwMDAwMDAwMTUgMDAwMDAgbiAKMDAwMDAxMTAzMyAwMDAwMCBuIAow MDAwMDExMzYzIDAwMDAwIG4gCjAwMDAwMTE0ODYgMDAwMDAgbiAKMDAwMDAxMjQxNCAwMDAwMCBu IAowMDAwMDExODYxIDAwMDAwIG4gCjAwMDAwMjQwNzYgMDAwMDAgbiAKMDAwMDAxMjE3NCAwMDAw MCBuIAowMDAwMDMxOTU5IDAwMDAwIG4gCjAwMDAwMTE0MDQgMDAwMDAgbiAKMDAwMDAxMTQzNCAw MDAwMCBuIAowMDAwMDEyNjMwIDAwMDAwIG4gCjAwMDAwMjQyNzcgMDAwMDAgbiAKMDAwMDAzMjE2 MyAwMDAwMCBuIAowMDAwMDExNzI4IDAwMDAwIG4gCjAwMDAwMTIwNDQgMDAwMDAgbiAKMDAwMDAx MjMyOCAwMDAwMCBuIAowMDAwMDM3NzA0IDAwMDAwIG4gCnRyYWlsZXIKPDwgL1NpemUgMjMgL1Jv b3QgMSAwIFIgL0luZm8gMiAwIFIKL0lEIFs8MUZCNEIwMUE3OThFNjYzMTQ5NjM3MjUwMzc4RTAy MkI+PDFGQjRCMDFBNzk4RTY2MzE0OTYzNzI1MDM3OEUwMjJCPl0KPj4Kc3RhcnR4cmVmCjM5NDY0 CiUlRU9GCg== --Apple-Mail-3-342453490 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=us-ascii; format=flowed -- David Kelly N4HHE, dkelly@HiWAAY.net ======================================================================== Whom computers would destroy, they must first drive mad. --Apple-Mail-3-342453490-- From owner-freebsd-performance@FreeBSD.ORG Fri Oct 16 11:53:57 2009 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 3ABE91065672 for ; Fri, 16 Oct 2009 11:53:57 +0000 (UTC) (envelope-from wmoran@collaborativefusion.com) Received: from mx00.pub.collaborativefusion.com (mx00.pub.collaborativefusion.com [206.210.89.199]) by mx1.freebsd.org (Postfix) with ESMTP id 03AD88FC12 for ; Fri, 16 Oct 2009 11:53:56 +0000 (UTC) Received: from working (pool-74-109-205-132.pitbpa.ftas.verizon.net [74.109.205.132]) (AUTH: LOGIN wmoran, SSL: TLSv1/SSLv3,256bits,AES256-SHA) by wingspan with esmtp; Fri, 16 Oct 2009 07:53:55 -0400 id 00056413.000000004AD85ED3.00003584 Date: Fri, 16 Oct 2009 07:53:36 -0400 From: Bill Moran To: Steve Dong Message-Id: <20091016075336.03eb17f2.wmoran@collaborativefusion.com> In-Reply-To: <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com> References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> <001301ca4e23$b96e35b0$3322c10a@china.huawei.com> <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com> Organization: Collaborative Fusion Inc. X-Mailer: Sylpheed 2.7.1 (GTK+ 2.16.6; i386-portbld-freebsd7.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Fri, 16 Oct 2009 11:53:57 -0000 Steve Dong wrote: > > It looks the jpeg attachments were somehow dropped. Trying again with pdf > attachment. Hopefully it works this time. Really. Don't post attachments to mailing lists. It's just a bad idea, a lot of people will be upset with the bandwidth it consumes. Keep in mind that not everyone on the list is interested in every conversation. -- Bill Moran Collaborative Fusion Inc. wmoran@collaborativefusion.com Phone: 412-422-3463x4023 **************************************************************** IMPORTANT: This message contains confidential information and is intended only for the individual named. If the reader of this message is not an intended recipient (or the individual responsible for the delivery of this message to an intended recipient), please be advised that any re-use, dissemination, distribution or copying of this message is prohibited. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. **************************************************************** From owner-freebsd-performance@FreeBSD.ORG Fri Oct 16 12:24:43 2009 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 8621E106566C for ; Fri, 16 Oct 2009 12:24:43 +0000 (UTC) (envelope-from kometen@gmail.com) Received: from mail-yx0-f171.google.com (mail-yx0-f171.google.com [209.85.210.171]) by mx1.freebsd.org (Postfix) with ESMTP id 3C14E8FC14 for ; Fri, 16 Oct 2009 12:24:43 +0000 (UTC) Received: by yxe1 with SMTP id 1so1799153yxe.3 for ; Fri, 16 Oct 2009 05:24:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type :content-transfer-encoding; bh=fphDQ7R6PgMhRjRtBMTyfhS6mq7A0JFRm8T4bQmeZIY=; b=ZLSmKb1CvKEzFiYEZ0S+ROaKtB/uaGCD6hA8NIJEJwlk8okByb9kS4QZNwVi+8voX8 K1gskBBCp+sjcI1Ehb/J9NP7vaCe7iPmJVkXIBpWk9jU5CrhCmNapf8rO5c2JhmRy0TC +FlgCeOO1dErVWaKMAg3EJZWbrN+HIVEjrpA8= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; b=f8p1S8FjcNuG3vWcveh6EaMx4CvGSQHqR73jUsTlEPLgO3cdGQcSaK8lXw6Ovq04dt YgY/O3fRs+BMHUo+laZJsbrfxgE+HUnMCD+jbDOIGejnGkUgo2RmA8vXzm1zzLD6pW3x AFExbA5e2fjA2x3Ys3SWh2PG8vBkiH/QoJWpU= MIME-Version: 1.0 Received: by 10.150.130.36 with SMTP id c36mr2530619ybd.290.1255694496877; Fri, 16 Oct 2009 05:01:36 -0700 (PDT) In-Reply-To: <20091016075336.03eb17f2.wmoran@collaborativefusion.com> References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> <001301ca4e23$b96e35b0$3322c10a@china.huawei.com> <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com> <20091016075336.03eb17f2.wmoran@collaborativefusion.com> Date: Fri, 16 Oct 2009 14:01:36 +0200 Message-ID: From: Claus Guttesen To: Bill Moran Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Fri, 16 Oct 2009 12:24:43 -0000 > Really. =A0Don't post attachments to mailing lists. =A0It's just a bad id= ea, > a lot of people will be upset with the bandwidth it consumes. =A0Keep in > mind that not everyone on the list is interested in every conversation. Disclaimers should go the same way too! :) echo " **************************************************************** IMPORTANT: This message contains confidential information and is intended only for the individual named. If the reader of this message is not an intended recipient (or the individual responsible for the delivery of this message to an intended recipient), please be advised that any re-use, dissemination, distribution or copying of this message is prohibited. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. ****************************************************************" | wc 16 129 958 --=20 regards Claus When lenity and cruelty play for a kingdom, the gentler gamester is the soonest winner. Shakespeare twitter.com/kometen From owner-freebsd-performance@FreeBSD.ORG Fri Oct 16 12:28:39 2009 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 AB9641065676 for ; Fri, 16 Oct 2009 12:28:39 +0000 (UTC) (envelope-from leccine@gmail.com) Received: from mail-fx0-f210.google.com (mail-fx0-f210.google.com [209.85.220.210]) by mx1.freebsd.org (Postfix) with ESMTP id E31F98FC16 for ; Fri, 16 Oct 2009 12:28:38 +0000 (UTC) Received: by fxm6 with SMTP id 6so2288150fxm.43 for ; Fri, 16 Oct 2009 05:28:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=oQT6J8OTjS5g2tR42fIckLbXcBmG55DKoqWRzFHxeDQ=; b=rVkE6Q/DQCPEo+D8Me+NfizLqBt1TUl0EL2iHn2udH5NsP2jYTtX/RJ+PBJpQkkY86 VK5wCetc5iYWHkBKWntPJfReUxbEOsaeTbVudVuEpunOrVxYKDwipQlPTeXr01j/PMlg E+eBr5AqqgFbUOvG+uoulgKAEPoBOlR3av54E= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=pJzwoXpt9c8U6WL80vEg+QXNvZ+tGkn1W5qFUEjKMjA4cFOtQq95m5R6LWEclQgUEC G1Oz042II03sAaw/PO6Lt1mGsUP0t1Rf9sc4H+FF8QAtCdANoTf6i8XC7cowycFLncVN eCDeRTIpTes0mSYnltOZz5g3CSDO50D37/Lzk= MIME-Version: 1.0 Received: by 10.204.154.142 with SMTP id o14mr1220705bkw.125.1255696117667; Fri, 16 Oct 2009 05:28:37 -0700 (PDT) In-Reply-To: <4831593800614E6796A45F20BA4B818E@china.huawei.com> References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> Date: Fri, 16 Oct 2009 13:28:37 +0100 Message-ID: From: =?ISO-8859-1?B?SXN0duFu?= To: Hongtao Yin Content-Type: text/plain; charset=GB2312 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Fri, 16 Oct 2009 12:28:39 -0000 I see. It shows that linux default setup is better. Have you seen any FreeBSD performance tuning guides? Regards, Istvan 2009/10/16 Hongtao Yin > Istvan, > > > > I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we collecte= d > test data and the result shows that FreeBSD TCP performance is worse than > Linux. I got troubles to plot using gnuplot, so here I am attaching the r= aw > data files. > > The netpipe commands are as follows: > > PC2: #NPtcp > > PC1: #NPtcp =A8Ch 192.168.1.20 > > > > Regards, > > Hongtao > > > > > > > ------------------------------ > > *From:* Istv=A8=A2n [mailto:leccine@gmail.com] > *Sent:* 2009=C4=EA10=D4=C215=C8=D5 5:13 > > *To:* Hongtao Yin > *Cc:* freebsd-performance@freebsd.org > *Subject:* Re: Comparison of FreeBSD/Linux TCP Throughput performance > > > > use netpipe TCP pls. > > > > And graph it. > > > > Thanks in advance, > > Istvan > > On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin wrote: > > Hi, > > > > I compared TCP performance between FreeBSD and Linux by running test tool= s > Netperf and Iperf with Intel NIC. > > The kernels are full version and default values are used in the testing > except TCP Congestion Control algorithm set to Reno. > > >From the test results we can see Linux TCP performance in throughput is > better than FreeBSD. The worst case (send msg size 128) shows that FreeBS= D > throughput is only 43% of Linux's. > > > > I like to get some feedback if anyone did similar comparison test, or kno= ws > any issues with kernels or drivers. Thanks lot. > > > > FreeBSD and Linux Sysctl captures are attached for reference. > > > > Regards, > > Hongtao > > > > > > > > Test Environments: > > PC: Dell Precision T3400 (same 4 PCs) > > CPU: Intel Core 2 Duo CPU E4600@2.4Ghz > > FreeBSD: V7.1 (full version) (TCP CC: newReno) > > Linux: V2.6.31.1 (full version) (TCP CC: Reno) > > Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter > (Gigabit) > chip 82546EB (only one port used for each PC) > > Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108) > > Iperf: V2.0.4 > > Netperf: V2.4.4 > > > > Setup: > > > > > > ---------- > > | switch | > > ---------- > > ---------------------| | | |-------------------- > > | | | | > > | --------| |-------- | > > | | | | > > | | | | > > -------------- -------------- -------------- -------------- > > | PC1 | | PC2 | | PC3 | | PC4 | > > | FreeBSD | | FreeBSD | | Linux | | Linux | > > |192.168.1.10| |192.168.1.20| |192.168.1.30| |192.168.1.40| > > -------------- -------------- -------------- -------------- > > > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > > Netperf Test Results > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > > > > TCP Throughput Test > > ------------------- > > > > PC2/4: #netserver -p 22113 > > PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10 > > > > Recv Send Send Elapsed > Throughput > > Socket Socket Message Time > 10^6 bits/sec > > Size Size Size Sec. > > bytes bytes bytes > > FreeBSD: 65536 32768 32768 10.34 > 598.11 > > Linux: 87380 16384 16384 10.04 > 779.02 > > > > > > PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m > 64/128/256/512/1024/2048/4096 > > > > Recv Send Send Elapsed > Throughput > > Socket Socket Message Time > 10^6 bits/sec > > Size Size Size Sec. > > bytes bytes bytes > > FreeBSD: 65536 32768 64 10.19 > 417.10 > > 65536 32768 128 10.35 > 336.63 > > 65536 32768 256 10.36 > 576.99 > > 65536 32768 512 10.35 > 569.79 > > 65536 32768 1024 10.35 > 553.70 > > 65536 32768 2048 10.35 > 584.20 > > 65536 32768 4096 10.35 > 602.45 > > > > Linux: 87380 16384 64 10.03 > 778.21 > > 87380 16384 128 10.03 > 779.72 > > 87380 16384 256 10.04 > 780.16 > > 87380 16384 512 10.03 > 776.85 > > 87380 16384 1024 10.04 > 777.52 > > 87380 16384 2048 10.04 > 777.83 > > 87380 16384 4096 10.03 > 780.17 > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D > > Iperf Test Results > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D > > > > Bandwidth Test > > -------------- > > > > PC2/4: #iperf -s > > PC1/3: #iperf -c 192.168.1.20 > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.3 740 600 > > Linux: 0.0-10.0 972 815 > > > > > > PC1/3: #iperf -c 192.168.1.20 -d > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.0 402 337 > > 0.0-10.0 404 338 > > > > Linux: 0.0-10.0 926 776 > > 0.0-10.0 44.1 36.9 > > > > > > Parallel Test > > ------------- > > > > PC2/4: #iperf -s > > PC1/3: #iperf -c 192.168.1.20 -P 2 > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.3 370 300 > > 0.0-10.3 370 300 > > SUM: 0.0-10.3 739 600 > > > > Linux: 0.0-10.0 479 402 > > 0.0-10.0 473 396 > > SUM: 0.0-10.0 952 797 > > > > > > > > > _______________________________________________ > freebsd-performance@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-performance > To unsubscribe, send any mail to " > freebsd-performance-unsubscribe@freebsd.org" > > > > > -- > the sun shines for all > --=20 the sun shines for all From owner-freebsd-performance@FreeBSD.ORG Fri Oct 16 12:29:31 2009 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 87C291065692 for ; Fri, 16 Oct 2009 12:29:31 +0000 (UTC) (envelope-from leccine@gmail.com) Received: from mail-fx0-f210.google.com (mail-fx0-f210.google.com [209.85.220.210]) by mx1.freebsd.org (Postfix) with ESMTP id BF0218FC21 for ; Fri, 16 Oct 2009 12:29:30 +0000 (UTC) Received: by fxm6 with SMTP id 6so2289107fxm.43 for ; Fri, 16 Oct 2009 05:29:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=TRTLpVoduer90gE8D2J5Sb1JVWR+nT377Oodw0HLlRA=; b=cdHlhWnechOTMJLsN3J8bjpYA3UTGG893HdVjuRRkATZ6sl5lOBNue1ggtmHKceF++ 9VIT+C0ckH9e6a4clqWRNrEVGT1ATNKKVK3iaf3PfExubbmO3ILroJnQxpcq/6kofTPb I0CXufAqA6lnmq1wTquM9Ufgh5N+bAawRm/80= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=QYpJRQXmclSPNppPJOSU9F+vV2hYBvF3PW0CSwmgPB4nU1McI1L0O02juzLkApEahB S40w/ERtfNAL5MTLPH8IEib9Wnku/EOPmxOQuQ4MwbDfIM6s9/E3NU5hu6VO2FWgoAUN ZUJpK4G/s+C6yROYlDWDEfZjlGjHcCnk4Mcbo= MIME-Version: 1.0 Received: by 10.204.24.69 with SMTP id u5mr1274713bkb.1.1255696169408; Fri, 16 Oct 2009 05:29:29 -0700 (PDT) In-Reply-To: <001301ca4e23$b96e35b0$3322c10a@china.huawei.com> References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> <001301ca4e23$b96e35b0$3322c10a@china.huawei.com> Date: Fri, 16 Oct 2009 13:29:29 +0100 Message-ID: From: =?ISO-8859-1?B?SXN0duFu?= To: Steve Dong Content-Type: text/plain; charset=GB2312 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Hongtao Yin , freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Fri, 16 Oct 2009 12:29:31 -0000 Thanks! Regards, Istvan 2009/10/16 Steve Dong > Here are graphs from the netpipe test results with 8.0 RC1 > > > Thanks, > Steve > > > > -----Original Message----- > From: owner-freebsd-performance@freebsd.org > [mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Hongtao Yin > Sent: Thursday, October 15, 2009 8:52 PM > To: 'Istv=A8=A2n' > Cc: freebsd-performance@freebsd.org > Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance > > Istvan, > > > > I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we collecte= d > test data and the result shows that FreeBSD TCP performance is worse than > Linux. I got troubles to plot using gnuplot, so here I am attaching the r= aw > data files. > > The netpipe commands are as follows: > > PC2: #NPtcp > > PC1: #NPtcp =A8Ch 192.168.1.20 > > > > Regards, > > Hongtao > > > > > > > > _____ > > From: Istv=A8=A2n [mailto:leccine@gmail.com] > Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13 > To: Hongtao Yin > Cc: freebsd-performance@freebsd.org > Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance > > > > use netpipe TCP pls. > > > > And graph it. > > > > Thanks in advance, > > Istvan > > On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin wrote: > > Hi, > > > > I compared TCP performance between FreeBSD and Linux by running test tool= s > Netperf and Iperf with Intel NIC. > > The kernels are full version and default values are used in the testing > except TCP Congestion Control algorithm set to Reno. > > >From the test results we can see Linux TCP performance in throughput is > better than FreeBSD. The worst case (send msg size 128) shows that FreeBS= D > throughput is only 43% of Linux's. > > > > I like to get some feedback if anyone did similar comparison test, or kno= ws > any issues with kernels or drivers. Thanks lot. > > > > FreeBSD and Linux Sysctl captures are attached for reference. > > > > Regards, > > Hongtao > > > > > > > > Test Environments: > > PC: Dell Precision T3400 (same 4 PCs) > > CPU: Intel Core 2 Duo CPU E4600@2.4Ghz > > FreeBSD: V7.1 (full version) (TCP CC: newReno) > > Linux: V2.6.31.1 (full version) (TCP CC: Reno) > > Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter > (Gigabit) > chip 82546EB (only one port used for each PC) > > Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108) > > Iperf: V2.0.4 > > Netperf: V2.4.4 > > > > Setup: > > > > > > ---------- > > | switch | > > ---------- > > ---------------------| | | |-------------------- > > | | | | > > | --------| |-------- | > > | | | | > > | | | | > > -------------- -------------- -------------- -------------- > > | PC1 | | PC2 | | PC3 | | PC4 | > > | FreeBSD | | FreeBSD | | Linux | | Linux | > > |192.168.1.10| |192.168.1.20| |192.168.1.30| |192.168.1.40| > > -------------- -------------- -------------- -------------- > > > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > > Netperf Test Results > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D > > > > TCP Throughput Test > > ------------------- > > > > PC2/4: #netserver -p 22113 > > PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10 > > > > Recv Send Send Elapsed > Throughput > > Socket Socket Message Time > 10^6 bits/sec > > Size Size Size Sec. > > bytes bytes bytes > > FreeBSD: 65536 32768 32768 10.34 > 598.11 > > Linux: 87380 16384 16384 10.04 > 779.02 > > > > > > PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m > 64/128/256/512/1024/2048/4096 > > > > Recv Send Send Elapsed > Throughput > > Socket Socket Message Time > 10^6 bits/sec > > Size Size Size Sec. > > bytes bytes bytes > > FreeBSD: 65536 32768 64 10.19 > 417.10 > > 65536 32768 128 10.35 > 336.63 > > 65536 32768 256 10.36 > 576.99 > > 65536 32768 512 10.35 > 569.79 > > 65536 32768 1024 10.35 > 553.70 > > 65536 32768 2048 10.35 > 584.20 > > 65536 32768 4096 10.35 > 602.45 > > > > Linux: 87380 16384 64 10.03 > 778.21 > > 87380 16384 128 10.03 > 779.72 > > 87380 16384 256 10.04 > 780.16 > > 87380 16384 512 10.03 > 776.85 > > 87380 16384 1024 10.04 > 777.52 > > 87380 16384 2048 10.04 > 777.83 > > 87380 16384 4096 10.03 > 780.17 > > > > > > > > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D > > Iperf Test Results > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D > > > > Bandwidth Test > > -------------- > > > > PC2/4: #iperf -s > > PC1/3: #iperf -c 192.168.1.20 > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.3 740 600 > > Linux: 0.0-10.0 972 815 > > > > > > PC1/3: #iperf -c 192.168.1.20 -d > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.0 402 337 > > 0.0-10.0 404 338 > > > > Linux: 0.0-10.0 926 776 > > 0.0-10.0 44.1 36.9 > > > > > > Parallel Test > > ------------- > > > > PC2/4: #iperf -s > > PC1/3: #iperf -c 192.168.1.20 -P 2 > > > > Interval Transfer Bandwidth > > sec MBytes Mbits/sec > > FreeBSD: 0.0-10.3 370 300 > > 0.0-10.3 370 300 > > SUM: 0.0-10.3 739 600 > > > > Linux: 0.0-10.0 479 402 > > 0.0-10.0 473 396 > > SUM: 0.0-10.0 952 797 > > > > > > > > > _______________________________________________ > freebsd-performance@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-performance > To unsubscribe, send any mail to > "freebsd-performance-unsubscribe@freebsd.org" > > > > > -- > the sun shines for all > > --=20 the sun shines for all From owner-freebsd-performance@FreeBSD.ORG Fri Oct 16 18:57:01 2009 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 48CFD1065672 for ; Fri, 16 Oct 2009 18:57:01 +0000 (UTC) (envelope-from lists@stringsutils.com) Received: from zoraida.natserv.net (p65-147.acedsl.com [66.114.65.147]) by mx1.freebsd.org (Postfix) with ESMTP id 176488FC24 for ; Fri, 16 Oct 2009 18:57:00 +0000 (UTC) Received: from zoraida.natserv.net (zoraida.natserv.net [66.114.65.147]) by zoraida.natserv.net (Postfix) with ESMTP id EA8181704F; Fri, 16 Oct 2009 14:56:59 -0400 (EDT) References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> Message-ID: X-Mailer: http://www.courier-mta.org/cone/ From: Francisco Reyes To: Hongtao Yin Date: Fri, 16 Oct 2009 14:56:59 -0400 Mime-Version: 1.0 Content-Type: text/plain; format=flowed; charset="US-ASCII" Content-Disposition: inline Content-Transfer-Encoding: 7bit Cc: =?ISO-8859-1?B?J0lzdHY/bic=?= , freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Fri, 16 Oct 2009 18:57:01 -0000 Hongtao Yin writes: > I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we collected Check man tuning There are a few parameters there worth exploring. For example check the section on net.inet.tcp.sendspace and net.inet.tcp.recvspace From owner-freebsd-performance@FreeBSD.ORG Sat Oct 17 02:08:49 2009 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 93E44106566C for ; Sat, 17 Oct 2009 02:08:49 +0000 (UTC) (envelope-from htyin@huawei.com) Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70]) by mx1.freebsd.org (Postfix) with ESMTP id 621AA8FC20 for ; Sat, 17 Oct 2009 02:08:49 +0000 (UTC) Received: from huawei.com (localhost [127.0.0.1]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0KRM001E1ZANG1@usaga02-in.huawei.com> for freebsd-performance@freebsd.org; Fri, 16 Oct 2009 19:08:48 -0700 (PDT) Received: from Hongtao1SC ([10.193.34.152]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <0KRM00KRSZAG2X@usaga02-in.huawei.com> for freebsd-performance@freebsd.org; Fri, 16 Oct 2009 19:08:47 -0700 (PDT) Date: Fri, 16 Oct 2009 19:08:39 -0700 From: Hongtao Yin In-reply-to: To: =?gb2312?B?J0lzdHaoom4n?= Message-id: MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.5579 X-Mailer: Microsoft Office Outlook 11 Thread-index: AcpOXJNgBwuyuRgrSWip6VvsxsVydAAcbr8g References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> Content-Type: text/plain; charset=gb2312 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: freebsd-performance@freebsd.org Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance 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: Sat, 17 Oct 2009 02:08:49 -0000 This is one of the first things we tried.=20 =20 Does anyone have the tuned parameters?=20 =20 Actually we are looking for info like =20 1. Any bugs in Freebsd driver which have been fixed in linux kernel=20 2. Any TCP features/RFCs implemented in Linux, but not in Freebsd=20 3. Any other discrepancies between Linux and FreeBSD TCP implementation = that could potentially have caused this =20 =20 Thanks. Hongtao =20 =20 _____ =20 From: Istv=A8=A2n [mailto:leccine@gmail.com]=20 Sent: 2009=C4=EA10=D4=C216=C8=D5 5:29 To: Hongtao Yin Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance =20 I see. =20 It shows that linux default setup is better. =20 Have you seen any FreeBSD performance tuning guides? =20 Regards, Istvan 2009/10/16 Hongtao Yin Istvan, =20 I ran newer FreeBSD code 8.0 RC1 this time. By using NetPIPE, we = collected test data and the result shows that FreeBSD TCP performance is worse = than Linux. I got troubles to plot using gnuplot, so here I am attaching the = raw data files. The netpipe commands are as follows: PC2: #NPtcp PC1: #NPtcp =A8Ch 192.168.1.20 =20 Regards, Hongtao =20 =20 =20 _____ =20 From: Istv=A8=A2n [mailto:leccine@gmail.com]=20 Sent: 2009=C4=EA10=D4=C215=C8=D5 5:13 To: Hongtao Yin Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance =20 use netpipe TCP pls. =20 And graph it. =20 Thanks in advance, Istvan On Thu, Oct 15, 2009 at 2:42 AM, Hongtao Yin wrote: Hi, I compared TCP performance between FreeBSD and Linux by running test = tools Netperf and Iperf with Intel NIC. The kernels are full version and default values are used in the testing except TCP Congestion Control algorithm set to Reno. >From the test results we can see Linux TCP performance in throughput is better than FreeBSD. The worst case (send msg size 128) shows that = FreeBSD throughput is only 43% of Linux's. I like to get some feedback if anyone did similar comparison test, or = knows any issues with kernels or drivers. Thanks lot. FreeBSD and Linux Sysctl captures are attached for reference. Regards, Hongtao Test Environments: PC: Dell Precision T3400 (same 4 PCs) CPU: Intel Core 2 Duo CPU E4600@2.4Ghz FreeBSD: V7.1 (full version) (TCP CC: newReno) Linux: V2.6.31.1 (full version) (TCP CC: Reno) Ethernet card: Intel Pro/1000 PWLA8492 MT Dual Port Server Adapter = (Gigabit) chip 82546EB (only one port used for each PC) Switch: Netgear ProSafe 8 port Gigabit Switch (model GS108) Iperf: V2.0.4 Netperf: V2.4.4 Setup: ---------- | switch | ---------- ---------------------| | | |-------------------- | | | | | --------| |-------- | | | | | | | | | -------------- -------------- -------------- -------------- | PC1 | | PC2 | | PC3 | | PC4 | | FreeBSD | | FreeBSD | | Linux | | Linux | |192.168.1.10| |192.168.1.20| |192.168.1.30| |192.168.1.40| -------------- -------------- -------------- -------------- =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D Netperf Test Results =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D TCP Throughput Test ------------------- PC2/4: #netserver -p 22113 PC1/3: #netperf -H 192.168.1.20 -p 22113 -l 10 Recv Send Send Elapsed Throughput Socket Socket Message Time 10^6 bits/sec Size Size Size Sec. bytes bytes bytes FreeBSD: 65536 32768 32768 10.34 598.11 Linux: 87380 16384 16384 10.04 779.02 PC1/3: #netperf -t TCP_STREAM -H 192.168.1.20 -p 22113 -- -m 64/128/256/512/1024/2048/4096 Recv Send Send Elapsed Throughput Socket Socket Message Time 10^6 bits/sec Size Size Size Sec. bytes bytes bytes FreeBSD: 65536 32768 64 10.19 417.10 65536 32768 128 10.35 336.63 65536 32768 256 10.36 576.99 65536 32768 512 10.35 569.79 65536 32768 1024 10.35 553.70 65536 32768 2048 10.35 584.20 65536 32768 4096 10.35 602.45 Linux: 87380 16384 64 10.03 778.21 87380 16384 128 10.03 779.72 87380 16384 256 10.04 780.16 87380 16384 512 10.03 776.85 87380 16384 1024 10.04 777.52 87380 16384 2048 10.04 777.83 87380 16384 4096 10.03 780.17 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D Iperf Test Results =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D Bandwidth Test -------------- PC2/4: #iperf -s PC1/3: #iperf -c 192.168.1.20 Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.3 740 600 Linux: 0.0-10.0 972 815 PC1/3: #iperf -c 192.168.1.20 -d Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.0 402 337 0.0-10.0 404 338 Linux: 0.0-10.0 926 776 0.0-10.0 44.1 36.9 Parallel Test ------------- PC2/4: #iperf -s PC1/3: #iperf -c 192.168.1.20 -P 2 Interval Transfer Bandwidth sec MBytes Mbits/sec FreeBSD: 0.0-10.3 370 300 0.0-10.3 370 300 SUM: 0.0-10.3 739 600 Linux: 0.0-10.0 479 402 0.0-10.0 473 396 SUM: 0.0-10.0 952 797 _______________________________________________ freebsd-performance@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-performance To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org" --=20 the sun shines for all --=20 the sun shines for all From owner-freebsd-performance@FreeBSD.ORG Sat Oct 17 10:15:40 2009 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 3C7141065670 for ; Sat, 17 Oct 2009 10:15:40 +0000 (UTC) (envelope-from adrian.chadd@gmail.com) Received: from mail-yw0-f178.google.com (mail-yw0-f178.google.com [209.85.211.178]) by mx1.freebsd.org (Postfix) with ESMTP id E71B08FC0C for ; Sat, 17 Oct 2009 10:15:39 +0000 (UTC) Received: by ywh8 with SMTP id 8so2605516ywh.3 for ; Sat, 17 Oct 2009 03:15:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type:content-transfer-encoding; bh=CItFrdsMdC+d5zkJO9W5smMo2sFMXnzT07c/E1O2vTc=; b=CcDz5n6s8hRLSn2TuFdxdvCk+zgoEc9ry0Q4TjJTfSTdJT4kz7dATT2mgcxTLVXhhV gAv1la+OjaR2qlsYUrKltMJNEZAaOOOrYRxN3LhddbxlCDPcP98gnZpIxwNYPCa5XACx Bbthgb0S5xNJs5bC9TJGxQQykquGyTDbOqnXg= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type :content-transfer-encoding; b=rQ3XIoUX/49iRQgRfvFO8h7MNAR7SHT4YqMcKFdYyuyOv50kY9ytsx1Gv433gMqydk X3xul+rgxPhCCdJqAf1X1N/8zAL1Phc3q4GLmqYfGW/OJEoD60FS/V636Di3K0PgXnf7 pYBeY/XF3pNHZbFoQFhdJZ6cDooZ9TclQDNbA= MIME-Version: 1.0 Sender: adrian.chadd@gmail.com Received: by 10.101.46.15 with SMTP id y15mr2872078anj.4.1255774539411; Sat, 17 Oct 2009 03:15:39 -0700 (PDT) In-Reply-To: References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> Date: Sat, 17 Oct 2009 18:15:39 +0800 X-Google-Sender-Auth: d309f961b4d620d9 Message-ID: From: Adrian Chadd To: =?ISO-8859-1?B?SXN0duFu?= Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: Hongtao Yin , freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Sat, 17 Oct 2009 10:15:40 -0000 2009/10/16 Istv=E1n : > I see. > It shows that linux default setup is better. .. being completely correct, it shows the linux default setup _for netpipe_ is better on that particular hardware. That identifies a few other variables which may need addressing. :) Adrian From owner-freebsd-performance@FreeBSD.ORG Sat Oct 17 10:44:54 2009 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 CAC5F106566B for ; Sat, 17 Oct 2009 10:44:54 +0000 (UTC) (envelope-from leccine@gmail.com) Received: from mail-fx0-f210.google.com (mail-fx0-f210.google.com [209.85.220.210]) by mx1.freebsd.org (Postfix) with ESMTP id 5B61C8FC12 for ; Sat, 17 Oct 2009 10:44:53 +0000 (UTC) Received: by fxm6 with SMTP id 6so3207809fxm.43 for ; Sat, 17 Oct 2009 03:44:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :date:message-id:subject:from:to:cc:content-type; bh=urxk2bHH9+xJYVuAHzO10dY8UVfS/E1rVS38wuzyxMA=; b=V4G+1ViYprpcoCfWhof2+QjN0Sxwy6MUIsPILZ/v1HrFhMJ5Q4kDxhp1kb8bWp5Kjh L9tTCmcV8eQFjgipPWwNiDSFfvqoh/+xU7GRYWUQMSrq3eXMPGAQw8Uqg84iKMGl9l4M GK42/aLiM5nvVVbdgy9GyHZ9WuOfcN/UTf1Ew= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; b=QAwOCkBkyCUO+QczUy8j1ERo5ev4v/0jRgLZD9uU06VZ9aETznMBRZEm4MgkDEGQhr +4r7mTnDOie2B2T8d3rI2pZX/IrNpjDl4ZHpNQsdg5Z4H8V+hEW71UqUlZssYP+Tkwcu vz3TTQpRlDwaVLKHaAEL76wKrnJwPMpJHBoxU= MIME-Version: 1.0 Received: by 10.204.154.142 with SMTP id o14mr2358700bkw.125.1255776293089; Sat, 17 Oct 2009 03:44:53 -0700 (PDT) In-Reply-To: References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> Date: Sat, 17 Oct 2009 11:44:53 +0100 Message-ID: From: =?ISO-8859-1?B?SXN0duFu?= To: Adrian Chadd Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Content-Filtered-By: Mailman/MimeDel 2.1.5 Cc: Hongtao Yin , freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Sat, 17 Oct 2009 10:44:55 -0000 I guess it is not only for netpipe, it is doing a pretty decent job changin= g the packet size checking the performance so finally you have an overview about the size, lag, bw I like! :) On Sat, Oct 17, 2009 at 11:15 AM, Adrian Chadd wrote: > 2009/10/16 Istv=E1n : > > I see. > > It shows that linux default setup is better. > > .. being completely correct, it shows the linux default setup _for > netpipe_ is better on that particular hardware. > > That identifies a few other variables which may need addressing. :) > > > Adrian > --=20 the sun shines for all From owner-freebsd-performance@FreeBSD.ORG Sat Oct 17 14:17:04 2009 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 80E1E106568D for ; Sat, 17 Oct 2009 14:17:04 +0000 (UTC) (envelope-from ohartman@mail.zedat.fu-berlin.de) Received: from outpost1.zedat.fu-berlin.de (outpost1.zedat.fu-berlin.de [130.133.4.66]) by mx1.freebsd.org (Postfix) with ESMTP id 36FCD8FC19 for ; Sat, 17 Oct 2009 14:17:04 +0000 (UTC) Received: from inpost2.zedat.fu-berlin.de ([130.133.4.69]) by outpost1.zedat.fu-berlin.de (Exim 4.69) with esmtp (envelope-from ) id <1MzA5f-000469-4K>; Sat, 17 Oct 2009 16:17:03 +0200 Received: from e178046235.adsl.alicedsl.de ([85.178.46.235] helo=thor.walstatt.dyndns.org) by inpost2.zedat.fu-berlin.de (Exim 4.69) with esmtpsa (envelope-from ) id <1MzA5f-00083l-1n>; Sat, 17 Oct 2009 16:17:03 +0200 Message-ID: <4AD9D1DE.9050504@mail.zedat.fu-berlin.de> Date: Sat, 17 Oct 2009 16:17:02 +0200 From: "O. Hartmann" User-Agent: Thunderbird 2.0.0.23 (X11/20090822) MIME-Version: 1.0 To: =?ISO-8859-1?Q?Istv=E1n?= References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> In-Reply-To: X-Enigmail-Version: 0.95.7 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable X-Originating-IP: 85.178.46.235 X-Mailman-Approved-At: Sat, 17 Oct 2009 15:05:44 +0000 Cc: freebsd-performance@freebsd.org, Adrian Chadd , Hongtao Yin Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Sat, 17 Oct 2009 14:17:04 -0000 Istv=E1n wrote: > I guess it is not only for netpipe, it is doing a pretty decent job cha= nging > the packet size checking the performance so finally you have an overvie= w > about the size, lag, bw >=20 > I like! :) >=20 > On Sat, Oct 17, 2009 at 11:15 AM, Adrian Chadd wro= te: >=20 >> 2009/10/16 Istv=E1n : >>> I see. >>> It shows that linux default setup is better. >> .. being completely correct, it shows the linux default setup _for >> netpipe_ is better on that particular hardware. >> >> That identifies a few other variables which may need addressing. :) >> >> >> Adrian >> >=20 >=20 >=20 And maybe the wise can send out word of doing well on FreeBSD, so we can choose a better setup with looking forward repeating the test under 'tuned' conditions? I'm willing to perform some tests within the next 4 weeks when our server hardware (Dell PowerEdge 1950-III with two if_bge() NICs and 16GB RAM) changes OS from FreeBSD 8.0 to RedHat Linux. In a time-window of about a week I might be capable of testing FreeBSD 8.0 as it would be that time by the mid of November with a setup of Linux (distro doesn't matter as I can choose). I need to know WHAT, WHERE and HOW. Thanks. oh From owner-freebsd-performance@FreeBSD.ORG Sat Oct 17 15:14:12 2009 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 6BDA1106566B for ; Sat, 17 Oct 2009 15:14:12 +0000 (UTC) (envelope-from sdong@huawei.com) Received: from usaga02-in.huawei.com (usaga02-in.huawei.com [206.16.17.70]) by mx1.freebsd.org (Postfix) with ESMTP id 445728FC16 for ; Sat, 17 Oct 2009 15:14:12 +0000 (UTC) Received: from huawei.com (localhost [127.0.0.1]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTP id <0KRN001SFZNLG1@usaga02-in.huawei.com> for freebsd-performance@freebsd.org; Sat, 17 Oct 2009 08:14:10 -0700 (PDT) Received: from D73888 ([10.51.0.27]) by usaga02-in.huawei.com (iPlanet Messaging Server 5.2 HotFix 2.14 (built Aug 8 2006)) with ESMTPA id <0KRN00I5DZNEN1@usaga02-in.huawei.com> for freebsd-performance@freebsd.org; Sat, 17 Oct 2009 08:14:09 -0700 (PDT) Date: Sat, 17 Oct 2009 08:14:00 -0700 From: Steve Dong In-reply-to: <20091016075336.03eb17f2.wmoran@collaborativefusion.com> To: 'Bill Moran' Message-id: <000001ca4f3c$78dc3550$6501a8c0@china.huawei.com> MIME-version: 1.0 X-MIMEOLE: Produced By Microsoft MimeOLE V6.00.2900.3350 X-Mailer: Microsoft Office Outlook 11 Content-type: text/plain; charset=us-ascii Content-transfer-encoding: 7BIT Thread-index: AcpOV71jUqgAZPGdQj69OG7g/yhFlwA5CVog References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> <001301ca4e23$b96e35b0$3322c10a@china.huawei.com> <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com> <20091016075336.03eb17f2.wmoran@collaborativefusion.com> Cc: freebsd-performance@freebsd.org Subject: RE: Comparison of FreeBSD/Linux TCP Throughput performance 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: Sat, 17 Oct 2009 15:14:12 -0000 If there's a better/lighter way to show these graphics, I'd like to know. Thanks, Steve -----Original Message----- From: owner-freebsd-performance@freebsd.org [mailto:owner-freebsd-performance@freebsd.org] On Behalf Of Bill Moran Sent: Friday, October 16, 2009 4:54 AM To: Steve Dong Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance Steve Dong wrote: > > It looks the jpeg attachments were somehow dropped. Trying again with > pdf attachment. Hopefully it works this time. Really. Don't post attachments to mailing lists. It's just a bad idea, a lot of people will be upset with the bandwidth it consumes. Keep in mind that not everyone on the list is interested in every conversation. -- Bill Moran Collaborative Fusion Inc. wmoran@collaborativefusion.com Phone: 412-422-3463x4023 **************************************************************** IMPORTANT: This message contains confidential information and is intended only for the individual named. If the reader of this message is not an intended recipient (or the individual responsible for the delivery of this message to an intended recipient), please be advised that any re-use, dissemination, distribution or copying of this message is prohibited. Please notify the sender immediately by e-mail if you have received this e-mail by mistake and delete this e-mail from your system. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors or omissions in the contents of this message, which arise as a result of e-mail transmission. **************************************************************** _______________________________________________ freebsd-performance@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-performance To unsubscribe, send any mail to "freebsd-performance-unsubscribe@freebsd.org" From owner-freebsd-performance@FreeBSD.ORG Sat Oct 17 16:58:46 2009 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 282E3106566B for ; Sat, 17 Oct 2009 16:58:46 +0000 (UTC) (envelope-from cswiger@mac.com) Received: from asmtpout012.mac.com (asmtpout012.mac.com [17.148.16.87]) by mx1.freebsd.org (Postfix) with ESMTP id 100098FC14 for ; Sat, 17 Oct 2009 16:58:45 +0000 (UTC) MIME-version: 1.0 Content-transfer-encoding: 7BIT Content-type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Received: from [10.152.145.215] (72-165-115-225.dia.static.qwest.net [72.165.115.225]) by asmtp012.mac.com (Sun Java(tm) System Messaging Server 6.3-8.01 (built Dec 16 2008; 32bit)) with ESMTPSA id <0KRO00CSE1PBST00@asmtp012.mac.com> for freebsd-performance@freebsd.org; Sat, 17 Oct 2009 08:58:25 -0700 (PDT) Message-id: <0D9BF9F3-FDA1-4111-9E6C-733E1FD972F5@mac.com> From: Chuck Swiger To: Steve Dong In-reply-to: <000001ca4f3c$78dc3550$6501a8c0@china.huawei.com> Date: Sat, 17 Oct 2009 08:58:23 -0700 References: <78DB4AE8EF5F4A1EBD3992D7404B2725@china.huawei.com> <4831593800614E6796A45F20BA4B818E@china.huawei.com> <001301ca4e23$b96e35b0$3322c10a@china.huawei.com> <001c01ca4e24$f10f6e70$3322c10a@china.huawei.com> <20091016075336.03eb17f2.wmoran@collaborativefusion.com> <000001ca4f3c$78dc3550$6501a8c0@china.huawei.com> X-Mailer: Apple Mail (2.936) Cc: freebsd-performance@freebsd.org Subject: Re: Comparison of FreeBSD/Linux TCP Throughput performance 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: Sat, 17 Oct 2009 16:58:46 -0000 Hi, Steve-- On Oct 17, 2009, at 8:14 AM, Steve Dong wrote: > If there's a better/lighter way to show these graphics, I'd like to > know. Sure-- put 'em on a webserver somewhere, and put links to them in your email to this mailing list. If you wanted to do even better than that, set up a simple webpage describing what you are doing in your comparison, have a link to the dmesg/boot output for each platform as a .txt file and a description of any system tweaks & tuning, have a link that points to a description of the test setup (ie, your ASCII diagram of the switch and 4 machines), then your graphs, then the raw data (or links to it, depending). You can then throw in netstat -s output, or NIC driver stats from sysctl, or switch stats, etc-- anything else that adds useful context. There are a fair number of posts in the list archives which describe how to benchmark reliably, and the people who are most likely to be making code changes to FreeBSD also tend to like to know whether you've collected enough data, in a controlled fashion, to have an idea as to whether your measurements are reproducible. I'm not a purist, and I believe you can get useful estimations without rigorous testing, but there are others who make the point that if you haven't provided at least a standard deviation, then you haven't collected enough data-- done enough trials-- to determine whether the results are meaningful. (See /usr/src/tools/tools/ministat/README) Of course, you're not obligated to do any of the above, but if you want the effort you've put in to be more useful, consider these a suggestion. Finally, the next step beyond that would be to try tweaking some things, and see what kind of changes you get from that versus the original performance. It might be the case that making a simple tuning change would have a significant difference in performance; if you can identify that, then FreeBSD or Linux developers can use that information to better tune the OS defaults. Regards, -- -Chuck