From owner-freebsd-performance@FreeBSD.ORG Mon May 15 16:17:31 2006 Return-Path: X-Original-To: freebsd-performance@freebsd.org 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 05BD416A619 for ; Mon, 15 May 2006 16:17:31 +0000 (UTC) (envelope-from mark@gaiahost.coop) Received: from biodiesel.gaiahost.coop (biodiesel.gaiahost.coop [64.95.78.120]) by mx1.FreeBSD.org (Postfix) with ESMTP id A85B043D7C for ; Mon, 15 May 2006 16:17:30 +0000 (GMT) (envelope-from mark@gaiahost.coop) Received: from gaiahost.coop (host-64-65-195-19.spr.choiceone.net [::ffff:64.65.195.19]) (AUTH: LOGIN mark@hubcapconsulting.com) by biodiesel.gaiahost.coop with esmtp; Mon, 15 May 2006 12:17:30 -0400 id 00200083.4468A99A.00006202 Received: by gaiahost.coop (sSMTP sendmail emulation); Mon, 15 May 2006 12:17:39 -0400 Date: Mon, 15 May 2006 12:17:39 -0400 From: Mark Bucciarelli To: freebsd-performance@freebsd.org Message-ID: <20060515161739.GD1404@rabbit> Mail-Followup-To: freebsd-performance@freebsd.org References: <20060506150622.C17611@fledge.watson.org> <200605091818.12676.hadara@bsd.ee> <4460D2CA.5090808@elischer.org> <200605100418.54475.hadara@bsd.ee> <4461441E.60304@samsco.org> <4464D242.4050908@sbcglobal.net> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Content-Disposition: inline In-Reply-To: <4464D242.4050908@sbcglobal.net> User-Agent: Mutt/1.4.2.1i Subject: Re: Fine-grained locking for POSIX local sockets (UNIX domain sockets ) 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, 15 May 2006 16:17:31 -0000 On Fri, May 12, 2006 at 11:21:54AM -0700, Jin Guojun wrote: > I simply replaced gettimeofday() syscall with a super simple > user space code, for testing with no time accuracy, in libc > (libc.so.6.test, which is mapped for mysqld and mysql via libmap -- > see details at the end), Stronger argument if your experiment re-#defines those calls in MySql source to do nothing? It would remove all doubt that the gettimeofday() issue is a red herring. m From owner-freebsd-performance@FreeBSD.ORG Thu May 18 21:28:06 2006 Return-Path: X-Original-To: performance@freebsd.org 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 A53AF16A401; Thu, 18 May 2006 21:28:06 +0000 (UTC) (envelope-from ivoras@fer.hr) Received: from lara.cc.fer.hr (lara.cc.fer.hr [161.53.72.113]) by mx1.FreeBSD.org (Postfix) with ESMTP id 393CE43D4C; Thu, 18 May 2006 21:28:05 +0000 (GMT) (envelope-from ivoras@fer.hr) Received: from [127.0.0.1] (localhost.cc.fer.hr [127.0.0.1]) by lara.cc.fer.hr (8.13.6/8.13.4) with ESMTP id k4ILRgJk054449; Thu, 18 May 2006 23:27:42 +0200 (CEST) (envelope-from ivoras@fer.hr) Message-ID: <446CE6CE.50009@fer.hr> Date: Thu, 18 May 2006 23:27:42 +0200 From: Ivan Voras User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050921) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Steve Hodgson References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> In-Reply-To: <446CD873.9080903@stevehodgson.co.uk> Content-Type: text/plain; charset=ISO-8859-2; format=flowed Content-Transfer-Encoding: 7bit Cc: performance@freebsd.org, "current@freebsd.org" Subject: Re: (Another) simple benchmark 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, 18 May 2006 21:28:06 -0000 Sorry, I forgot about performance@ mailing list, moving the discussion there - please use performance at freebsd.org or equivalent address when replying (and drop current@). Steve Hodgson wrote: > Ivan Voras wrote: > >>Today I had the opportunity to experiment for a short time with a >>4-CPU Xeon machine with hyperthreading (-> 8 logical CPU-s) and 3GB >>RAM. In absence of anything smarter to do, I installed WBEL 3 Linux >>(non-RedHat version of RedHat Enterprise Linux) which was accidentally >>on the table and after toying around I've run a simple benchmark - ab >>(apachebench, included by default with apache server) over localhost >>to a local apache2 server, on a static home-page file. The command >>line was "ab -n 100000 -c 100 http://localhost/". Since I still had >>time with the machine, I then downloaded and installed FreeBSD 6.1 to >>try to beat the score. Unfortunately, not only I couldn't beat the >>score, but the results were *extremely* bad. Since I'm still not sure >>it isn't my fault, I won't post the actual results, but I wonder... >> >>Apache is a well known server-grade product, which doesn't use >>threading (it was preforked in both systems), doesn't call >>gettimeofday() constantly, uses sendfile(), and in short, is very >>different from MySQL. It shouldn't behave this badly on FreeBSD. >> >>Some observations from the benchmark runs: >>- Linux was maxed out with ~50% total idle time, each logical >>processor (hyperthreading was enabled) had ~25% user + ~25% sys time. >>It still delivered order-of-magnitude better results. WBEL3 uses Linux >>2.4.x kernel (i.e. old kernel) >>- FreeBSD CPU time was 100% spent, with 90%-95% spent in sys time >>- On FreeBSD, enabling hyperthreading got me a slowdown of *4x* over >>the initial (bad) results (some slowdown is not surprising, 4x >>slowdown is). >>- Linux "load average" never went above 8, FreBSD's went > 60; this >>could be just a difference in accounting, or it could not - I don't know. >> >>What is needed to reproduce this simple benchmark: >>- SMP machine, the more CPUs the better >>- installed software: only apache20. The "ab" benchmark is included in >>it. Leave apache's default configuration as-is (i.e. preforked, max >>150 parallel clients allowed) >>- A simple static HTML page (Apache's default "welcome, but this site >>is not configured" should be ok). >>- my invocation of "ab" was with "-n 100000 -c 100" ; the (n)umber of >>requests could be modified to fit local CPU speed, but (c)oncurrency >>shouldn't (100 parallel requests is not uncommon). >> > > Apache may not use gettimeofday, but ab certainly does. here is a truss > output of ab:... I don't think this would result in 90% time being spent in sys with large load averages. > A fairer test would be to use ab on a second box and keep ab on the same > OS - you're changing two things at once here. You're also at the mercy > of how the scheduler places the processes across the different CPU's > (since there is one ab process and multiple httpd processes). Why was > Linux stuck at 50% utilization per CPU (surely it should reach 100% with > no disk or network constraints)? Perhaps it is sleeping whilst FreeBSD > spins? > If you are interested in performance try Lighttpd - that is what people > use if they want high transaction rates (x10 higher in tests I've done > on Linux) - and it is a single process so scheduling isn't so significant. Using lighttpd or ab on other host is not really applicable - I wasn't trying to configure the box for production, only ran the benchmarks out of curiosity. Apache *should* work ok out of the box on FreeBSD :) (btw. apache was installed from binary package) Here are the apache config files: http://ivoras.sharanet.org/stuff/httpd.conf.tbz From owner-freebsd-performance@FreeBSD.ORG Fri May 19 06:19:36 2006 Return-Path: X-Original-To: freebsd-performance@freebsd.org 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 A9CB716A420 for ; Fri, 19 May 2006 06:19:36 +0000 (UTC) (envelope-from vladgalu@gmail.com) Received: from wr-out-0506.google.com (wr-out-0506.google.com [64.233.184.233]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3164D43D45 for ; Fri, 19 May 2006 06:19:36 +0000 (GMT) (envelope-from vladgalu@gmail.com) Received: by wr-out-0506.google.com with SMTP id i28so564326wra for ; Thu, 18 May 2006 23:19:35 -0700 (PDT) DomainKey-Signature: a=rsa-sha1; q=dns; c=nofws; s=beta; d=gmail.com; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=cWg8goLlJAPh3B+p2JNfUL+/6o9JqrfCHWyRWVTvanO1j1lSqKXl3PzkbmIph4fnV8woZQ6Qs13+Ry0958Xrq9dffD2io+vxgnXpekniEut7IBd9V8JlCCwwThG5Oxq3ytKVK3PoQUycS30O3f+H0s0SkXsft9erELBu0iAMyFY= Received: by 10.54.69.11 with SMTP id r11mr1588401wra; Thu, 18 May 2006 23:19:35 -0700 (PDT) Received: by 10.54.128.12 with HTTP; Thu, 18 May 2006 23:19:35 -0700 (PDT) Message-ID: <79722fad0605182319o2eefa538i8505631f8802d5d@mail.gmail.com> Date: Fri, 19 May 2006 09:19:35 +0300 From: "Vlad GALU" To: freebsd-performance@freebsd.org In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: quoted-printable Content-Disposition: inline References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> <446CE6CE.50009@fer.hr> Subject: Re: (Another) simple benchmark 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, 19 May 2006 06:19:36 -0000 On 5/19/06, Chad Leigh -- Shire.Net LLC wrote: > > On May 18, 2006, at 3:27 PM, Ivan Voras wrote: > > > > > Using lighttpd or ab on other host is not really applicable - I > > wasn't trying to configure the box for production, only ran the > > benchmarks out of curiosity. Apache *should* work ok out of the box > > on FreeBSD :) > > (btw. apache was installed from binary package) > > Au Contraire > > You were not testing apache. You were testing apache and ab. It > very well could be that ab is the culprit, not apache. We'll never > know unless you can retest with ab on another box. Still, the fact that a simple program, regardless of its nature, runs a lot faster on Linux than it does on FreeBSD is a problem, isn't it ? > > Chad > > --- > Chad Leigh -- Shire.Net LLC > Your Web App and Email hosting provider > chad at shire.net > > > > _______________________________________________ > freebsd-current@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-current > To unsubscribe, send any mail to "freebsd-current-unsubscribe@freebsd.org= " > --=20 If it's there, and you can see it, it's real. If it's not there, and you can see it, it's virtual. If it's there, and you can't see it, it's transparent. If it's not there, and you can't see it, you erased it. From owner-freebsd-performance@FreeBSD.ORG Fri May 19 08:03:08 2006 Return-Path: X-Original-To: freebsd-performance@freebsd.org 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 6E68F16A441 for ; Fri, 19 May 2006 08:03:08 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id D63DC43D46 for ; Fri, 19 May 2006 08:03:07 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 5FAB146D4C; Fri, 19 May 2006 04:03:07 -0400 (EDT) Date: Fri, 19 May 2006 09:03:07 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Vlad GALU In-Reply-To: <79722fad0605182319o2eefa538i8505631f8802d5d@mail.gmail.com> Message-ID: <20060519090031.F49041@fledge.watson.org> References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> <446CE6CE.50009@fer.hr> <79722fad0605182319o2eefa538i8505631f8802d5d@mail.gmail.com> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: freebsd-performance@freebsd.org Subject: Re: (Another) simple benchmark 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, 19 May 2006 08:03:08 -0000 On Fri, 19 May 2006, Vlad GALU wrote: > On 5/19/06, Chad Leigh -- Shire.Net LLC wrote: >> >> On May 18, 2006, at 3:27 PM, Ivan Voras wrote: >> >> > >> > Using lighttpd or ab on other host is not really applicable - I >> > wasn't trying to configure the box for production, only ran the >> > benchmarks out of curiosity. Apache *should* work ok out of the box >> > on FreeBSD :) >> > (btw. apache was installed from binary package) >> >> You were not testing apache. You were testing apache and ab. It very well >> could be that ab is the culprit, not apache. We'll never know unless you >> can retest with ab on another box. > > Still, the fact that a simple program, regardless of its nature, runs a lot > faster on Linux than it does on FreeBSD is a problem, isn't it ? I don't think anyone is debating the simple output of the benchmark, what's being asked for is an exploration of the source of the problem. By placing ab on a second machine with a static configuration taretting an apache box with a variable configuration, we can explore whether it's the cost of web serving that is having problems or the cost of running the benchmark and the web server that is having problems. We can also more easily profile the behavior of the individual applications. When it comes to figuring out the cause and properly understanding the benchmark results, there's a big difference between "ab runs 40% slower" and "apache runs 40% slower". Robert N M Watson From owner-freebsd-performance@FreeBSD.ORG Fri May 19 09:02:19 2006 Return-Path: X-Original-To: performance@freebsd.org 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 7D50016A41F for ; Fri, 19 May 2006 09:02:19 +0000 (UTC) (envelope-from mv@thebeastie.org) Received: from p4.roq.com (ns1.ecoms.com [207.44.130.137]) by mx1.FreeBSD.org (Postfix) with ESMTP id 22FB943D48 for ; Fri, 19 May 2006 09:02:16 +0000 (GMT) (envelope-from mv@thebeastie.org) Received: from p4.roq.com (localhost.roq.com [127.0.0.1]) by p4.roq.com (Postfix) with ESMTP id 889FA4D00C; Fri, 19 May 2006 09:04:22 +0000 (GMT) Received: from [192.168.46.102] (ppp166-27.static.internode.on.net [150.101.166.27]) by p4.roq.com (Postfix) with ESMTP id 26C944C822; Fri, 19 May 2006 09:04:20 +0000 (GMT) Message-ID: <446D8994.3070709@thebeastie.org> Date: Fri, 19 May 2006 19:02:12 +1000 From: Michael Vince User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.7.12) Gecko/20060404 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Ivan Voras References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> <446CE6CE.50009@fer.hr> In-Reply-To: <446CE6CE.50009@fer.hr> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP Cc: performance@freebsd.org, Steve Hodgson Subject: Re: (Another) simple benchmark 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, 19 May 2006 09:02:19 -0000 Interesting that the linux you are claiming to use would use prefork Apache as default, while this is the default on FreeBSD I would think the threaded worker would be used on a lot of linux dists, since they don't have the option to easily rebuild it. Even if it is using prefork, the Linux Apache conf prefork settings already are set higher, the start up server is 8 and has a higher max spare server setting of 20 (double the setting of default FreeBSD setting), I have found that ab is a kind of weird program and initial settings of the Apache server (its ability to initially respond) do adversely affect its ability to do the ab benchmark for some reason. Considering you are trying to initiate 100 connections at the same time with a prefork server that even one the better configured Linux side (with 8 initial servers which would quickly jump to 13) its not a very valid benchmark setup, especially with the unforgiving ab benchmark tool Something else you should look at when using Apache on FreeBSD is the Apache accept kernel module to save context switches which is aimed at increasing performance. man accf_http Sometimes I look at the ab program as something that better shows off the abilities of the Zeus server considering that the ab benchmark tool doesn't have some sane benchmark options such as constant connection rate modes unlike programs like 'httperf' do (which is in the ports tree) Such simple settings such as prefork might work fine for people running a simple CGI site or a PHP site (if there not going to load zend performance modules or use the encoder), if you have done benchmarks on PHP its surprisingly slow technology, on top of the fact that PHP folk recommend nothing other then prefork mode with PHP. If I was working on a project such as Apache I know I wouldn't be concentrating of performance with prefork in this day when threaded modes are where Apache has been aiming for modern high performance web serving for a fair while now. Mike Ivan Voras wrote: > Sorry, I forgot about performance@ mailing list, moving the discussion > there - please use performance at freebsd.org or equivalent address > when replying (and drop current@). > > Steve Hodgson wrote: > >> Ivan Voras wrote: >> >>> Today I had the opportunity to experiment for a short time with a >>> 4-CPU Xeon machine with hyperthreading (-> 8 logical CPU-s) and 3GB >>> RAM. In absence of anything smarter to do, I installed WBEL 3 Linux >>> (non-RedHat version of RedHat Enterprise Linux) which was accidentally >>> on the table and after toying around I've run a simple benchmark - ab >>> (apachebench, included by default with apache server) over localhost >>> to a local apache2 server, on a static home-page file. The command >>> line was "ab -n 100000 -c 100 http://localhost/". Since I still had >>> time with the machine, I then downloaded and installed FreeBSD 6.1 to >>> try to beat the score. Unfortunately, not only I couldn't beat the >>> score, but the results were *extremely* bad. Since I'm still not sure >>> it isn't my fault, I won't post the actual results, but I wonder... >>> >>> Apache is a well known server-grade product, which doesn't use >>> threading (it was preforked in both systems), doesn't call >>> gettimeofday() constantly, uses sendfile(), and in short, is very >>> different from MySQL. It shouldn't behave this badly on FreeBSD. >>> >>> Some observations from the benchmark runs: >>> - Linux was maxed out with ~50% total idle time, each logical >>> processor (hyperthreading was enabled) had ~25% user + ~25% sys time. >>> It still delivered order-of-magnitude better results. WBEL3 uses Linux >>> 2.4.x kernel (i.e. old kernel) >>> - FreeBSD CPU time was 100% spent, with 90%-95% spent in sys time >>> - On FreeBSD, enabling hyperthreading got me a slowdown of *4x* over >>> the initial (bad) results (some slowdown is not surprising, 4x >>> slowdown is). >>> - Linux "load average" never went above 8, FreBSD's went > 60; this >>> could be just a difference in accounting, or it could not - I don't >>> know. >>> >>> What is needed to reproduce this simple benchmark: >>> - SMP machine, the more CPUs the better >>> - installed software: only apache20. The "ab" benchmark is included in >>> it. Leave apache's default configuration as-is (i.e. preforked, max >>> 150 parallel clients allowed) >>> - A simple static HTML page (Apache's default "welcome, but this site >>> is not configured" should be ok). >>> - my invocation of "ab" was with "-n 100000 -c 100" ; the (n)umber of >>> requests could be modified to fit local CPU speed, but (c)oncurrency >>> shouldn't (100 parallel requests is not uncommon). >>> >> >> Apache may not use gettimeofday, but ab certainly does. here is a truss >> output of ab:... > > > I don't think this would result in 90% time being spent in sys with > large load averages. > >> A fairer test would be to use ab on a second box and keep ab on the same >> OS - you're changing two things at once here. You're also at the mercy >> of how the scheduler places the processes across the different CPU's >> (since there is one ab process and multiple httpd processes). Why was >> Linux stuck at 50% utilization per CPU (surely it should reach 100% with >> no disk or network constraints)? Perhaps it is sleeping whilst FreeBSD >> spins? > > >> If you are interested in performance try Lighttpd - that is what people >> use if they want high transaction rates (x10 higher in tests I've done >> on Linux) - and it is a single process so scheduling isn't so >> significant. > > > Using lighttpd or ab on other host is not really applicable - I wasn't > trying to configure the box for production, only ran the benchmarks > out of curiosity. Apache *should* work ok out of the box on FreeBSD :) > (btw. apache was installed from binary package) > > Here are the apache config files: > http://ivoras.sharanet.org/stuff/httpd.conf.tbz > > > _______________________________________________ > 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 May 19 10:29:27 2006 Return-Path: X-Original-To: performance@freebsd.org 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 CA66616A41F for ; Fri, 19 May 2006 10:29:27 +0000 (UTC) (envelope-from ivoras@fer.hr) Received: from lara.cc.fer.hr (lara.cc.fer.hr [161.53.72.113]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5E1CC43D45 for ; Fri, 19 May 2006 10:29:27 +0000 (GMT) (envelope-from ivoras@fer.hr) Received: from [127.0.0.1] (localhost.cc.fer.hr [127.0.0.1]) by lara.cc.fer.hr (8.13.6/8.13.4) with ESMTP id k4JAT2Y6061324; Fri, 19 May 2006 12:29:02 +0200 (CEST) (envelope-from ivoras@fer.hr) Message-ID: <446D9DEE.4050300@fer.hr> Date: Fri, 19 May 2006 12:29:02 +0200 From: Ivan Voras User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050921) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Michael Vince References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> <446CE6CE.50009@fer.hr> <446D8994.3070709@thebeastie.org> In-Reply-To: <446D8994.3070709@thebeastie.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: performance@freebsd.org, Steve Hodgson Subject: Re: (Another) simple benchmark 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, 19 May 2006 10:29:28 -0000 Michael Vince wrote: > Interesting that the linux you are claiming to use would use prefork > Apache as default, while this is the default on FreeBSD I would think > the threaded worker would be used on a lot of linux dists, since they > don't have the option to easily rebuild it. "Professional" Linux distributions such as RedHat Enterprise Linux & Debian have avoided threaded apache for a long time. One of the reasons for this is that PHP doesn't work well with threaded server. Now, most have two separate packages - apache-preforked and apache-threaded and users can pick one (though preforked is still the default). In other words, only distributions that don't expect PHP to be run on them will have threaded apache by default. The one I used for testing (WBEL3) was old enough that it didn't have threaded apache. > Even if it is using prefork, the Linux Apache conf prefork settings > already are set higher, the start up server is 8 and has a higher max > spare server setting of 20 (double the setting of default FreeBSD > setting), I have found that ab is a kind of weird program and initial > settings of the Apache server (its ability to initially respond) do > adversely affect its ability to do the ab benchmark for some reason. Even in a steady state of 100000 requests? I'll repeat: the difference between Linux and FreeBSD was order-of-magnitude. MaxSpareServers shouldn't affect FreeBSD much, because with high load there will not be a situation when there's idle apache children "spare" to kill. > ... > If I was working on a project such as Apache I know I wouldn't be > concentrating of performance with prefork in this day when threaded > modes are where Apache has been aiming for modern high performance web > serving for a fair while now. Did you miss discussions about how FreeBSD's threading sucks? Ok, "sucks" is maybe a too strong strong word, but if you look for recent discussions about MySQL, you'll see that the difference between Linux and FreeBSD performance is huge. I know Apache is not MySQL, but why include a known-bad factor in it? The preforked model is classical Unix way of doing things, and it should be easier to debug. I've received many "apologistic" mails trying to justify FreeBSD's low performance I've seen. This also used to happen when people reported MySQL low performance ("you didn't configure this, FreeBSD actually *shines* at that, threading is still under development and you shouldn't actually use MySQL at all" and similar); now when it's accepted as fact that there's a problem, developers are looking into it. I won't consider any of the rebuttals I've got valid until someone (even myself if I get the chance, though it won't be for a few months) repeats the benchmark, possibly with 100% identical httpd configuration on FreeBSD and Linux, and gets results that don't show a FreeBSD system stuck at 90% in sys time and delivering bandwidth a modern calculator[1] could beat. I'll repeat: I'm not completely sure I did the benchmark correctly, this is why I sent the original post - so that someone could repeat it and we can compare results. Theoretising about non-critical stuff like MaxSpareServer has no practical meaning until someone proves it in practice. A note about ab: this is an ubiqutous program found everywhere where there's apache. It's a simple program and *if* it exposes a flaw in FreeBSD, the flaw should be fixed, not the program. [1] ok, a calculator with only one simultaneous connection :) -- Things Mr Welch Cannot Do During An RPG: 247. If the king rewards me with a forest, I am to assume he intends for me to keep it a forest. From owner-freebsd-performance@FreeBSD.ORG Fri May 19 06:11:18 2006 Return-Path: X-Original-To: performance@freebsd.org 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 AFAD716A420; Fri, 19 May 2006 06:11:18 +0000 (UTC) (envelope-from chad@shire.net) Received: from hobbiton.shire.net (mail.shire.net [166.70.252.250]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6D86E43D49; Fri, 19 May 2006 06:11:18 +0000 (GMT) (envelope-from chad@shire.net) Received: from [67.171.127.191] (helo=[192.168.99.68]) by hobbiton.shire.net with esmtpa (Exim 4.51) id 1FgyCg-000Okx-Jb; Fri, 19 May 2006 00:11:14 -0600 In-Reply-To: <446CE6CE.50009@fer.hr> References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> <446CE6CE.50009@fer.hr> Mime-Version: 1.0 (Apple Message framework v750) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Message-Id: Content-Transfer-Encoding: 7bit From: "Chad Leigh -- Shire.Net LLC" Date: Fri, 19 May 2006 00:11:13 -0600 To: Ivan Voras X-Mailer: Apple Mail (2.750) X-SA-Exim-Connect-IP: 67.171.127.191 X-SA-Exim-Mail-From: chad@shire.net X-SA-Exim-Scanned: No (on hobbiton.shire.net); SAEximRunCond expanded to false X-Mailman-Approved-At: Fri, 19 May 2006 11:31:31 +0000 Cc: performance@freebsd.org, current@freebsd.org Subject: Re: (Another) simple benchmark 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, 19 May 2006 06:11:18 -0000 On May 18, 2006, at 3:27 PM, Ivan Voras wrote: > > Using lighttpd or ab on other host is not really applicable - I > wasn't trying to configure the box for production, only ran the > benchmarks out of curiosity. Apache *should* work ok out of the box > on FreeBSD :) > (btw. apache was installed from binary package) Au Contraire You were not testing apache. You were testing apache and ab. It very well could be that ab is the culprit, not apache. We'll never know unless you can retest with ab on another box. Chad --- Chad Leigh -- Shire.Net LLC Your Web App and Email hosting provider chad at shire.net From owner-freebsd-performance@FreeBSD.ORG Fri May 19 15:19:15 2006 Return-Path: X-Original-To: performance@freebsd.org 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 45EE516A420 for ; Fri, 19 May 2006 15:19:15 +0000 (UTC) (envelope-from mv@thebeastie.org) Received: from p4.roq.com (ns1.ecoms.com [207.44.130.137]) by mx1.FreeBSD.org (Postfix) with ESMTP id E993C43D45 for ; Fri, 19 May 2006 15:19:14 +0000 (GMT) (envelope-from mv@thebeastie.org) Received: from p4.roq.com (localhost.roq.com [127.0.0.1]) by p4.roq.com (Postfix) with ESMTP id 7C6DC4CFFD; Fri, 19 May 2006 15:21:21 +0000 (GMT) Received: from [192.168.0.6] (ppp157-158.static.internode.on.net [150.101.157.158]) by p4.roq.com (Postfix) with ESMTP id 4159F4CFFB; Fri, 19 May 2006 15:21:20 +0000 (GMT) Message-ID: <446DE1F2.4020602@thebeastie.org> Date: Sat, 20 May 2006 01:19:14 +1000 From: Michael Vince User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060213 X-Accept-Language: en-us, en MIME-Version: 1.0 To: Ivan Voras References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> <446CE6CE.50009@fer.hr> <446D8994.3070709@thebeastie.org> <446D9DEE.4050300@fer.hr> In-Reply-To: <446D9DEE.4050300@fer.hr> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Virus-Scanned: ClamAV using ClamSMTP Cc: performance@freebsd.org, Steve Hodgson Subject: Re: (Another) simple benchmark 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, 19 May 2006 15:19:15 -0000 Ivan Voras wrote: > Michael Vince wrote: > >> Interesting that the linux you are claiming to use would use prefork >> Apache as default, while this is the default on FreeBSD I would think >> the threaded worker would be used on a lot of linux dists, since they >> don't have the option to easily rebuild it. > > > "Professional" Linux distributions such as RedHat Enterprise Linux & > Debian have avoided threaded apache for a long time. One of the reasons > for this is that PHP doesn't work well with threaded server. Now, most > have two separate packages - apache-preforked and apache-threaded and > users can pick one (though preforked is still the default). > What I am trying to say here is you are expecting good performance out of things like CGI/PHP and prefork, I don't think anyone should see these types of systems under that light, they are for convenience and cheap and reliable hosting. PHP is 'deliberately' made slow (magnitudes slow) to encourage Zend optimizer module installs which to give magnitudes more performance, and then there is the sales on their 300% performance increase giving Zend Encoder suite. PHP have created a good open source business model, but I don't think its really worthy of the word professional. The average prefork httpd daemon with PHP takes 14megs of memory, I don't think any one can argue that serving 2,000 clients at the same time is feasible considering it would need a close 28gigs of ram, to hold that many httpd daemons on a "Professional" linux server. I don't see it as a any kind of "professional" server, its more just a dive for pleasing the masses just like PHP and CGI to fit the market. To get the amount of connections you are after with 'ab' in real world situations would insane amounts of ram because the connections would take a long longer to complete over the Internet considering all the dialup and low end adsl connections out there, and web clients would be loading pages bigger then the default Apache installation page, and considering it might be a professional solution using PHP it would probably be long page loads. Configuring a Apache server that has 'ready' 5 http daemons when its really expecting to do 100,000 requests and handle huge amounts of simultaneous connections just doesn't seem the right way to approach such setups and benchmark methods. Mike From owner-freebsd-performance@FreeBSD.ORG Fri May 19 15:50:34 2006 Return-Path: X-Original-To: performance@freebsd.org 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 9B78F16A561 for ; Fri, 19 May 2006 15:50:34 +0000 (UTC) (envelope-from ivoras@fer.hr) Received: from lara.cc.fer.hr (lara.cc.fer.hr [161.53.72.113]) by mx1.FreeBSD.org (Postfix) with ESMTP id 9457A43D69 for ; Fri, 19 May 2006 15:50:28 +0000 (GMT) (envelope-from ivoras@fer.hr) Received: from [127.0.0.1] (localhost.cc.fer.hr [127.0.0.1]) by lara.cc.fer.hr (8.13.6/8.13.4) with ESMTP id k4JFnxp0074605; Fri, 19 May 2006 17:49:59 +0200 (CEST) (envelope-from ivoras@fer.hr) Message-ID: <446DE927.2060909@fer.hr> Date: Fri, 19 May 2006 17:49:59 +0200 From: Ivan Voras User-Agent: Mozilla Thunderbird 1.0.6 (X11/20050921) X-Accept-Language: en-us, en MIME-Version: 1.0 To: Michael Vince References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> <446CE6CE.50009@fer.hr> <446D8994.3070709@thebeastie.org> <446D9DEE.4050300@fer.hr> <446DE1F2.4020602@thebeastie.org> In-Reply-To: <446DE1F2.4020602@thebeastie.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Cc: performance@freebsd.org Subject: Re: (Another) simple benchmark 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, 19 May 2006 15:50:37 -0000 Michael Vince wrote: > What I am trying to say here is you are expecting good performance out > of things like CGI/PHP and prefork, Ok, did anybody read my initial post? I'm NOT setting up a production machine. I'm NOT using PHP - it was mentioned as a reason threaded apache is not widely used. I've run "ab -n 100000 -c 100 http://localhost/" where "http://localhost/" references a small static HTML file, served by apache 2.0.x. PHP was not even included in both apache setups. I've run this on a 8-cpu Xeon beast (ok, not really - 4 cpus, tried with hyperthreading on and off) and got terrible performance. This performance is objectively low even by itself, without any comparison with other operating systems (such as linux). What I *am* doing now is looking for someone who has a 4 CPU or bigger machine idle on which he/she can replicate this simple benchmark (it really IS simple - you need apache20 port in default configuration - everything's included) and confirm or contradict my results. I won't tell exactly what my results are because: a) to encourage fairness and b) because they are so ridiculously low that if I'm wrong I don't want it to end up in mailing list archives for posterity :) > Configuring a Apache server that has 'ready' 5 http daemons when > its really expecting to do 100,000 requests and handle huge amounts > of simultaneous connections just doesn't seem the right way to > approach such setups and benchmark methods. This has nothing to do with my original intent but I must reply. Under the context of my "benchmark", you're practically saying that doing this on Linux (and no, +/- 10 servers ready doesn't make a difference when there are 100 simultaneous connections involved) is ok, but on FreeBSD it isn't because of...what? Lack of objectivity? From owner-freebsd-performance@FreeBSD.ORG Sat May 20 13:09:25 2006 Return-Path: X-Original-To: performance@freebsd.org 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 1B71A16A42C for ; Sat, 20 May 2006 13:09:25 +0000 (UTC) (envelope-from luke@foolishgames.com) Received: from mail.foolishgames.com (mail.foolishgames.com [206.222.28.162]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0777F43D60 for ; Sat, 20 May 2006 13:09:23 +0000 (GMT) (envelope-from luke@foolishgames.com) Received: from [192.168.0.150] (24-176-58-162.dhcp.klmz.mi.charter.com [24.176.58.162]) (authenticated bits=0) by mail.foolishgames.com (8.13.6/8.13.3) with ESMTP id k4KD95KP055289 (version=TLSv1/SSLv3 cipher=RC4-SHA bits=128 verify=NO); Sat, 20 May 2006 09:09:08 -0400 (EDT) (envelope-from luke@foolishgames.com) Message-Id: X-Habeas-Swe-6: email in exchange for a license for this Habeas Content-Transfer-Encoding: 7bit X-Habeas-Swe-3: like Habeas SWE (tm) Date: Sat, 20 May 2006 09:09:04 -0400 X-Habeas-Swe-8: Message (HCM) and not spam. Please report use of this From: Lucas Holt X-Habeas-Swe-5: Sender Warranted Email (SWE) (tm). The sender of this X-Habeas-Swe-2: brightly anticipated In-Reply-To: <446DE927.2060909@fer.hr> References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> <446CE6CE.50009@fer.hr> <446D8994.3070709@thebeastie.org> <446D9DEE.4050300@fer.hr> <446DE1F2.4020602@thebeastie.org> <446DE927.2060909@fer.hr> To: Ivan Voras X-Habeas-Swe-7: warrant mark warrants that this is a Habeas Compliant Mime-Version: 1.0 (Apple Message framework v750) X-Habeas-Swe-4: Copyright 2002 Habeas (tm) Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed X-Habeas-Swe-1: winter into spring X-Habeas-Swe-9: mark in spam to . X-Mailer: Apple Mail (2.750) X-Virus-Scanned: ClamAV 0.88.2/1472/Sat May 20 04:11:04 2006 on mail.foolishgames.com X-Virus-Status: Clean Cc: performance@freebsd.org, Michael Vince Subject: Re: (Another) simple benchmark 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, 20 May 2006 13:09:25 -0000 On May 19, 2006, at 11:49 AM, Ivan Voras wrote: > Michael Vince wrote: > >> What I am trying to say here is you are expecting good performance >> out of things like CGI/PHP and prefork, > > Ok, did anybody read my initial post? > > I'm NOT setting up a production machine. I'm NOT using PHP - it was > mentioned as a reason threaded apache is not widely used. I've run > "ab -n 100000 -c 100 http://localhost/" where "http://localhost/" > references a small static HTML file, served by apache 2.0.x. PHP > was not even included in both apache setups. I've run this on a 8- > cpu Xeon beast (ok, not really - 4 cpus, tried with hyperthreading > on and off) and got terrible performance. This performance is > objectively low even by itself, without any comparison with other > operating systems (such as linux). > > What I *am* doing now is looking for someone who has a 4 CPU or > bigger machine idle on which he/she can replicate this simple > benchmark (it really IS simple - you need apache20 port in default > configuration - everything's included) and confirm or contradict my > results. I won't tell exactly what my results are because: a) to > encourage fairness and b) because they are so ridiculously low that > if I'm wrong I don't want it to end up in mailing list archives for > posterity :) > > > > Configuring a Apache server that has 'ready' 5 http daemons when > > its really expecting to do 100,000 requests and handle huge amounts > > of simultaneous connections just doesn't seem the right way to > > approach such setups and benchmark methods. > > This has nothing to do with my original intent but I must reply. > Under the context of my "benchmark", you're practically saying that > doing this on Linux (and no, +/- 10 servers ready doesn't make a > difference when there are 100 simultaneous connections involved) is > ok, but on FreeBSD it isn't because of...what? Lack of objectivity? I think most people just want you to use the exact same configuration file on both systems and verify that both use the same pre-compiled options as well. Probably the best thing to do is build from source on both linux and freebsd with the same options. Make sure the defaults for each system are fair as well. Then use the same config file or as close as possible on both operating systems. Otherwise, you're not testing the same thing. If you were testing against another architecture like say windows, then you would need to use the default worker type for windows. Lucas Holt Luke@FoolishGames.com ________________________________________________________ FoolishGames.com (Jewel Fan Site) JustJournal.com (Free blogging) FoolishGames.net (Enemy Territory site) From owner-freebsd-performance@FreeBSD.ORG Sat May 20 17:21:46 2006 Return-Path: X-Original-To: performance@freebsd.org 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 9898716A48C for ; Sat, 20 May 2006 17:21:46 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 153B743D62 for ; Sat, 20 May 2006 17:21:44 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id A8FF346C2C; Sat, 20 May 2006 13:21:43 -0400 (EDT) Date: Sat, 20 May 2006 18:21:43 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Ivan Voras In-Reply-To: <446D9DEE.4050300@fer.hr> Message-ID: <20060520181834.L8068@fledge.watson.org> References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> <446CE6CE.50009@fer.hr> <446D8994.3070709@thebeastie.org> <446D9DEE.4050300@fer.hr> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: performance@freebsd.org, Steve Hodgson , Michael Vince Subject: Re: (Another) simple benchmark 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, 20 May 2006 17:21:47 -0000 On Fri, 19 May 2006, Ivan Voras wrote: >> If I was working on a project such as Apache I know I wouldn't be >> concentrating of performance with prefork in this day when threaded modes >> are where Apache has been aiming for modern high performance web serving >> for a fair while now. > > Did you miss discussions about how FreeBSD's threading sucks? Ok, "sucks" is > maybe a too strong strong word, but if you look for recent discussions about > MySQL, you'll see that the difference between Linux and FreeBSD performance > is huge. BTW, there seems to be a fundamental misunderstanding of the benefits of threading in the application developer community. Threading is actually worse for performance for a number of application cases. These tend to be cases where the kernel data structures shared across threads are accessed intensely across a pool of threads that actually could operate with greater independence. For example, pre-forked web servers vs pre-threaded web servers. If relatively little computation takes place, and it's all a series of accept()/send()/sendfile()/close() operations in many threads, you pound the locks protecting file descriptor state in the process. If it were different processes, the file descriptor state wouldn't be shared, so performance would be greater, even though the context switch cost is greater. I've observed this in micro-benchmarks on a number of OS platforms. Threading is good for application performance where a high level of sharing is absolutely necessary -- worker threads working on shared data in a shared address space, passing file descriptors between them, lots of synchronization, etc. In many other cases, it's not only not a benefit, but a significant overhead. Robert N M Watson From owner-freebsd-performance@FreeBSD.ORG Sat May 20 17:25:16 2006 Return-Path: X-Original-To: performance@freebsd.org 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 CC46716A452 for ; Sat, 20 May 2006 17:25:16 +0000 (UTC) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3658D43D46 for ; Sat, 20 May 2006 17:25:16 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id E3A7346C2C; Sat, 20 May 2006 13:25:14 -0400 (EDT) Date: Sat, 20 May 2006 18:25:14 +0100 (BST) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Ivan Voras In-Reply-To: <446DE927.2060909@fer.hr> Message-ID: <20060520182238.R8068@fledge.watson.org> References: <446CCE1C.1050200@fer.hr> <446CD873.9080903@stevehodgson.co.uk> <446CE6CE.50009@fer.hr> <446D8994.3070709@thebeastie.org> <446D9DEE.4050300@fer.hr> <446DE1F2.4020602@thebeastie.org> <446DE927.2060909@fer.hr> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: performance@freebsd.org, Michael Vince Subject: Re: (Another) simple benchmark 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, 20 May 2006 17:25:17 -0000 On Fri, 19 May 2006, Ivan Voras wrote: > Michael Vince wrote: > >> What I am trying to say here is you are expecting good performance out of >> things like CGI/PHP and prefork, > > Ok, did anybody read my initial post? > > I'm NOT setting up a production machine. I'm NOT using PHP - it was > mentioned as a reason threaded apache is not widely used. I've run "ab -n > 100000 -c 100 http://localhost/" where "http://localhost/" references a > small static HTML file, served by apache 2.0.x. PHP was not even included in > both apache setups. I've run this on a 8-cpu Xeon beast (ok, not really - 4 > cpus, tried with hyperthreading on and off) and got terrible performance. > This performance is objectively low even by itself, without any comparison > with other operating systems (such as linux). > > What I *am* doing now is looking for someone who has a 4 CPU or bigger > machine idle on which he/she can replicate this simple benchmark (it really > IS simple - you need apache20 port in default configuration - everything's > included) and confirm or contradict my results. I won't tell exactly what my > results are because: a) to encourage fairness and b) because they are so > ridiculously low that if I'm wrong I don't want it to end up in mailing list > archives for posterity :) What I'd like to see someone do, perhaps you, is the following: - Configure one system as the apache benchmark client system. Optimize the heck out of it until you can generate HTTP queries just as fast as you possibly can. If it's Linux, FreeBSD 4, FreeBSD 6, Windows, Solaris, whatever, it doesn't matter, as long as you can generate them really fast. - Now configure a single system or set of identical systems as web servers using the configuration permutations of choice. - Test the various server configurations with the single client configuration. I'm set up to easily benchmark FreeBSD in our netperf cluster, but I'm not set up to easily do comparisons with Linux, since we don't have a pluggable netboot Linux to install in that environment. If someone wants to provide some pointers doing that, I'm happy to explore doing it, but ideally it would be something like "tftp export file and NFS tree , boot". This is the model we use for FreeBSD in the netperf cluster, and it works very well :-). Robert N M Watson