Date: Fri, 4 Feb 2005 15:13:44 +0100 (CET) From: Sten Spans <sten@blinkenlights.nl> To: Claus Guttesen <cguttesen@yahoo.dk> Cc: freebsd-performance@freebsd.org Subject: Re: Apache 2 on FreeBSD 5.3 Message-ID: <Pine.SOC.4.61.0502041500310.10421@tea.blinkenlights.nl> In-Reply-To: <20050204103210.69846.qmail@web26806.mail.ukl.yahoo.com> References: <20050204103210.69846.qmail@web26806.mail.ukl.yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 4 Feb 2005, Claus Guttesen wrote: >> On a FreeBSD 5.3 web server with a very high load, I >> recently switched >> from Apache 1.3 and PHP 4.3 to using 2.0 with the >> prefork MPM and PHP 5. >> I noticed a drop in perfomance. What is currently >> the best (in terms of >> performance) choice for Apache w/ PHP on FreeBSD? >> Which MPM should I >> use? Does worker MPM use KSE on FreeBSD 5 and does >> it perform better >> than prefork? What about perchild and threadpool? Or >> maybe I should go >> back to Apache 1.3? Are there any sysctl or kernel >> tunings that I should >> use? > > It is not recommend to use apache 2 with PHP. That's > at least what the folks at php says. We use 1.3 and > are satisfied with the performance. This could use some clarification. Some of the mpm's for apache are threaded ( worker, perchild, etc ). These require every apache module to be threadsafe. PHP itself is threadsafe but quite a few of the libraries php links to aren't. This is why the php folks have chosen a for the safe advice of apache13. They in general don't see the advantages of apache2. Which for most simple unix mod_php installs arent that apparent. > > Have you tried to set the following in > /usr/local/etc/apache/httpd.conf? > > KeepAlive Off > MaxClients (size of one process) / (avail. RAM) Buffered logs should help a bit too, apache tuning is quite a large topic, with some resource limiting and security choises thrown in as well. I run apache with php as cgi on some boxen for security reasons, and will migrate to apache2 because of the improved errorlog handling ( try print stderr "\n\n\n"; in a cgi to see the difference ). For a better answer to your questions a more detailed explanation of what you are testing will be needed. - What are you testing ( php ? static html ? is nfs involved ? ) - How are you testing ( ab, httperf ? from where ? ) - Which configuration choises ( childs, modules, memory usage, dns settings ) - etc. -- Sten Spans "There is a crack in everything, that's how the light gets in." Leonard Cohen - Anthem
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.SOC.4.61.0502041500310.10421>