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.