[Mongrel] FastCGI performing better than Mongrel - what am I doing wrong?

Benjamin Jackson bhjackson at gmail.com
Tue Apr 3 18:02:46 EDT 2007


> Looking even at your standard deviations, I don't see much of a
> difference between these. What's your SD on the req/sec?

Thanks for the heads-up Jason.

ab doesn't have a SD on the req/sec AFAIK, tried doing (I think)
equivalent benchmarks with httperf, this time from the server, and I
got the following results. It seems like FastCGI is marginally faster
than Mongrel for my site when both are run with 2 dispatchers.

Does this sound like an accurate test, or did I miss something
essential in the benchmarking process? Thanks,

Ben

---------------------------------------------------

FastCGI (1 proc):

$ httperf --server=eship.com.br --rate=100 --num-conns=1000
httperf --client=0/1 --server=eship.com.br --port=80 --uri=/
--rate=100 --send-buffer=4096 --recv-buffer=16384 --num-conns=1000
--num-calls=1
Maximum connect burst length: 7

Total: connections 1000 requests 1000 replies 1000 test-duration 16.141 s

Connection rate: 62.0 conn/s (16.1 ms/conn, <=257 concurrent connections)
Connection time [ms]: min 10.2 avg 1741.3 max 9040.8 median 1614.5 stddev 1737.0
Connection time [ms]: connect 0.0
Connection length [replies/conn]: 1.000

Request rate: 62.0 req/s (16.1 ms/req)
Request size [B]: 63.0

Reply rate [replies/s]: min 48.2 avg 65.7 max 75.0 stddev 15.1 (3 samples)
Reply time [ms]: response 1741.3 transfer 0.0
Reply size [B]: header 304.0 content 95.0 footer 2.0 (total 401.0)
Reply status: 1xx=0 2xx=0 3xx=1000 4xx=0 5xx=0

CPU time [s]: user 1.31 system 13.72 (user 8.1% system 85.0% total 93.1%)
Net I/O: 28.0 KB/s (0.2*10^6 bps)

Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0

---------------------------------------------------

FastCGI (2 procs):

$ httperf --server=eship.com.br --rate=100 --num-conns=1000
httperf --client=0/1 --server=eship.com.br --port=80 --uri=/
--rate=100 --send-buffer=4096 --recv-buffer=16384 --num-conns=1000
--num-calls=1
Maximum connect burst length: 8

Total: connections 1000 requests 1000 replies 1000 test-duration 11.993 s

Connection rate: 83.4 conn/s (12.0 ms/conn, <=169 concurrent connections)
Connection time [ms]: min 10.7 avg 837.5 max 2047.6 median 831.5 stddev 662.5
Connection time [ms]: connect 0.3
Connection length [replies/conn]: 1.000

Request rate: 83.4 req/s (12.0 ms/req)
Request size [B]: 63.0

Reply rate [replies/s]: min 82.4 avg 83.8 max 85.2 stddev 2.0 (2 samples)
Reply time [ms]: response 837.2 transfer 0.0
Reply size [B]: header 304.0 content 95.0 footer 2.0 (total 401.0)
Reply status: 1xx=0 2xx=0 3xx=1000 4xx=0 5xx=0

CPU time [s]: user 1.23 system 8.75 (user 10.3% system 73.0% total 83.2%)
Net I/O: 37.6 KB/s (0.3*10^6 bps)

Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0

---------------------------------------------------

Mongrel:


$ httperf --server=eship.com.br --rate=100 --num-conns=1000
httperf --client=0/1 --server=eship.com.br --port=80 --uri=/
--rate=100 --send-buffer=4096 --recv-buffer=16384 --num-conns=1000
--num-calls=1
Maximum connect burst length: 4

Total: connections 1000 requests 1000 replies 1000 test-duration 13.000 s

Connection rate: 76.9 conn/s (13.0 ms/conn, <=212 concurrent connections)
Connection time [ms]: min 19.5 avg 1117.1 max 4115.2 median 1036.5 stddev 936.0
Connection time [ms]: connect 0.0
Connection length [replies/conn]: 1.000

Request rate: 76.9 req/s (13.0 ms/req)
Request size [B]: 63.0

Reply rate [replies/s]: min 74.4 avg 78.9 max 83.4 stddev 6.4 (2 samples)
Reply time [ms]: response 1117.1 transfer 0.0
Reply size [B]: header 304.0 content 95.0 footer 2.0 (total 401.0)
Reply status: 1xx=0 2xx=0 3xx=1000 4xx=0 5xx=0

CPU time [s]: user 1.02 system 11.22 (user 7.8% system 86.3% total 94.2%)
Net I/O: 34.7 KB/s (0.3*10^6 bps)

Errors: total 0 client-timo 0 socket-timo 0 connrefused 0 connreset 0
Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0


More information about the Mongrel-users mailing list