From owner-freebsd-performance@FreeBSD.ORG Wed Feb 9 21:03:36 2005 Return-Path: Delivered-To: freebsd-performance@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3E34C16A4CE for ; Wed, 9 Feb 2005 21:03:36 +0000 (GMT) Received: from gigave.com (mail.gigave.com [38.113.228.9]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0FC9143D1D for ; Wed, 9 Feb 2005 21:03:36 +0000 (GMT) (envelope-from sean@sean.gigave.com) Received: from sean.gigave.com [38.113.228.242](yr5ohb0hvaukpquj)by gigave.comwith esmtp(Exim 4.43 #1 (Gentoo Linux))id 1Cyz3m-0006S8-DX; Wed, 09 Feb 2005 13:07:42 -0800 Received: by sean.gigave.com (Postfix, from userid 1001) id 53DFE11B55; Wed, 9 Feb 2005 13:03:35 -0800 (PST) Date: Wed, 9 Feb 2005 13:03:35 -0800 From: Sean Chittenden To: performance@FreeBSD.org Message-ID: <20050209210335.GE1060@sean.gigave.com> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.5.6i X-Mailman-Approved-At: Wed, 09 Feb 2005 21:12:11 +0000 Subject: [Success Story] amd64 + squid + apache + MySQL... X-BeenThere: freebsd-performance@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Performance/tuning List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Feb 2005 21:03:36 -0000 Hey, just thought I'd pass along a quick note for a 5.X/amd64 success story. Given those who have had success with this haven't spoken up or said as much publicly, let me buck the trend and spread some good news to those interested in listening. Athlon64 3000 (UP), em0, 2GB of RAM, 3Ware 9000 SATA RAID controller Squid 2.5.7, Apache/mod_php 1.3, MySQL 4.1 The above is yielding (at peak times) ~85Mbps with ~5K connections.... or more ('ya got to love fluctuating real numbers): # netstat -na | grep ESTABLISHED | wc -l 6783 # netstat -I em0 -w1 | head -3 input (em0) output packets errs bytes packets errs bytes colls 6968 0 2060646 9686 0 11175649 0 # w 12:44PM up 1 day, 17:05, 1 user, load averages: 3.67, 3.66, 3.29 USER TTY FROM LOGIN@ IDLE WHAT sean p0 foo.example.com 8:21AM - w So there 'ya go: a real world amd64 and RELENG_5 success story. I know there are other folks out there doing more, but, still... what should be a reasonably impressive data point. From our perspective, more hardware is needed for redundancy's sake, but, make no mistake, we couldn't be more pleased with the end results and the process by which we got there (my only gripe was the inability to update the firmware for the 3ware RAID card, for some reason I couldn't flash the controller, though it's not too critical, IMHO. It's one of those, "it would've been nice to have done before going live" kinda things). I will say, however, that we shocked the hell out of the client when we told them that post-move, they were pushing 2-3x their earlier traffic because we weren't capping them and/or they have a higher ceiling with the new hardware (we spec'ed the hardware for 30Mbps). Closer to the advocacy/trolling side (please, do not, under any circumstances reply to the list regarding this unless you have a success story of your own! If you fail this test, I will moderate future postings by you to this list), this particular client was running on a 10 machine Linux Virtual Server setup and was tipping frequently. I don't mean to suggest that this can always be done (I know it can't, but I also don't want to deter people from trying), but, the steady hand of FreeBSD under load has been immensely impressive to all parties involved on this side who watched it happen. Blindly turning up an amd64+RELENG_5 system without any load testing in advance... very convincing to watch happen, IMHO. Off list, if someone wants to give me pointers for getting squid 3.0 compiled/running (PRE3 wouldn't compile), or has any good/bad news on its kqueue(2) support, I'm all ears. select(2) is starting to be a problem under higher connection counts and is adding unnecessary latency. I'm be curious to know if anyone has made or is aware of a thread safe select(3) function that uses kqueue(2) on the backend. Something that can be dynamically loaded as a shared object which is invoked in place of select(2) and shoehorned in for legacy software. FreeBSD. Silent workhorse no more. -sc -- Sean Chittenden sean@GigAve.com