Mailing List Archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [tlug] Re: [RFC] Outline of the fast HTTP talk (PHP benchmark)



On 2008-11-05 00:06 +0100 (Wed), Francois Cartegnie wrote:

> > <h1>Hello <?= $_REQUEST['name'] ?></h1>
> >
> > I am using Lighttpd with fastcgi and PHP5.
> >
> > I get about 3000 requests per second.
> Without code cache ?

Ought not matter if the test is set up correctly. I recommend running
a test at 5000 requests per second using five or ten million different
URIs in sequence; if the code cache can take any advantage of that, it
deserves to be rewarded in the benchmark stats. :-)

> > Worryingly, the performance does not go up if no CPU affinity is set, so
> > maybe I am doing it wrong. The purpose of this test is to see the
> > maximum performance that can be achieved per core, and of course some
> > frameworks will scale to more cores better than others. . .
> You're on FIFO which might not be revealant for real cases, as it's says it's 
> processes are not preemptible.
> How about adding some usleep() factor of the request number ? (or better, 
> computing cycles)
> usleep(($req_id % 12) * 120); 

I'm not clear what all this means. FastCGI from lighttpd does not issue
multiple simultaneous requests to an FCGI server, so one generally has
hundreds of FCGI servers runnning on a reasonably well loaded machine.
These processes certainly are preemptible, and while the individual
back-ends are FIFO, neither the group as a whole nor lighttpd is.

I'm also not sure on what CPU affinity is being set; with this many
processes, one would think that the automatic CPU affinity would be
fine.

Incidently, if you're setting up these sorts of things with lighttpd,
we've just discovered a bug that will be of interest. When run as a
non-root user, lighttpd ignores the max_fds setting, and leave it at
the soft limit, rather than raising the soft limit to min(max_fds, hard
limit). We discovered this the hard way. :-/

The news about httperf moving to libevent (now that I've seen the
correct URLs that mention that) is great. I still believe, until
demonstrated otherwise, that apache bench is not capable of generating a
load that will demonstrate that a system does not livelock.

cjs
-- 
Curt Sampson       <cjs@example.com>        +81 90 7737 2974   
Mobile sites and software consulting: http://www.starling-software.com


Home | Main Index | Thread Index

Home Page Mailing List Linux and Japan TLUG Members Links