10 000 req/s: tpd2 - why it is so fast?

Igor Sysoev is at rambler-co.ru
Thu Oct 29 13:52:03 MSK 2009


On Thu, Oct 29, 2009 at 01:38:24PM +0300, Maxim Dounin wrote:

> Hello!
> 
> On Thu, Oct 29, 2009 at 09:50:25AM +0300, Igor Sysoev wrote:
> 
> > On Thu, Oct 29, 2009 at 11:38:17AM +0900, Zev Blut wrote:
> > 
> > > Hello,
> > > 
> > > On 10/10/2009 01:42 AM, Igor Sysoev wrote:
> > > > On Fri, Oct 09, 2009 at 08:26:32PM +0400, Igor Sysoev wrote:
> > > >
> > > >> I have got these results via localhost:
> > > >>
> > > >> ab -n 30000 -c 10       ~8200 r/s
> > > >> ab -n 30000 -c 10 -k   ~20000 r/s
> > > >>
> > > >> This means that this microbenchmark tests mostly TCP connection
> > > >> establishment via localhost: keepalive is 2.4 faster.
> > > >
> > > > BTW, using embedded perl:
> > > >
> > > >      server {
> > > >          listen 8010;
> > > >          access_log  off;
> > > >
> > > >          location = /test {
> > > >              perl 'sub {
> > > >                 my $r = shift;
> > > >                 $r->send_http_header("text/html");
> > > >                 $r->print("<h1>Hello ", $r->variable("arg_name"), "</h1>");
> > > >                 return OK;
> > > >              }';
> > > >          }
> > > >      }
> > > >
> > > > "ab -n 30000 -c 10 -k" has got ~7800 r/s.
> > > 
> > > In case you are curious, John has posted an update
> > > comparing teepeedee2 vs the above perl module on his laptop.
> > > Here is the link:
> > > 
> > > http://john.freml.in/teepeedee2-vs-nginx
> > 
> > For some reason, he ran "ab -c1" instead of "ab -c10", while nginx may
> > run perl in 2 workers on Core2 Duo (if worker_processes are 2). I believe,
> > it will twice the benchmark result. Second, he still mosty tests TCP
> > connection establishment via localhost instead of server speed. Why
> > he can not run the benchmark with keepalive ?
> 
> Well, it's the "useless benchmarks about nothing" game as 
> presented by Alex Kapranoff on last Highload++ conference.  It's 
> not about server speed, it's about multiple useless numbers and 
> fun.  Key thing is to keep benchmarks as equal as possible, so 
> using keepalive here is no-option as he didn't on previous 
> benchmarks.

I meant, why can not he re-run the whole benchmark with keepalive.

> Using "-c1" instead of "-c10" (as used in original post) looks 
> like a bug which rendered new results completely irrelevant.  So 
> nothing to talk about.
> 
> Maxim Dounin


-- 
Igor Sysoev
http://sysoev.ru/en/





More information about the nginx mailing list