FreeSpider web application performance test results.

Test has been done in a server with these specifications:



The test has been done using httperf command line tool.

Three tests has been made:

  1. Using Firebird database. Sending requests serially, The request contains two database operations: first one is querying a record that contains BLOB text field. Second operation is to update a counter in the same table.

    Result: 2500 requests per minute.

httperf --client=0/1 --server=localhost --port=80 --uri=http://localhost/cgi-bin/news/detail?id=-22 --send-buffer=4096 --recv-buffer=16384 --num-conns=2500 --num-calls=1

Maximum connect burst length: 1



Total: connections 2500 requests 2500 replies 2500 test-duration 62.967 s



Connection rate: 39.7 conn/s (25.2 ms/conn, <=1 concurrent connections)

Connection time [ms]: min 12.8 avg 25.2 max 219.7 median 17.5 stddev 18.7

Connection time [ms]: connect 0.2

Connection length [replies/conn]: 1.000



Request rate: 39.7 req/s (25.2 ms/req)

Request size [B]: 104.0



Reply rate [replies/s]: min 34.4 avg 40.1 max 46.4 stddev 3.7 (12 samples)

Reply time [ms]: response 24.1 transfer 0.9

Reply size [B]: header 158.0 content 2923.0 footer 0.0 (total 3081.0)

Reply status: 1xx=0 2xx=2500 3xx=0 4xx=0 5xx=0



CPU time [s]: user 11.07 system 49.44 (user 17.6% system 78.5% total 96.1%)

Net I/O: 123.5 KB/s (1.0*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



  1. With Firebird database, requesting only query operation and sending requests concurrently (10 instances of httper) to simulate busy hour.

    The web application could handle 1000 request per minute on this test:

Total: connections 100 requests 100 replies 100 test-duration 61.880 s

Connection rate: 1.6 conn/s (618.8 ms/conn, <=1 concurrent connections)
Connection time [ms]: min 98.0 avg 618.8 max 2424.0 median 497.5 stddev 440.5
Connection time [ms]: connect 63.7
Connection length [replies/conn]: 1.000
Request rate: 1.6 req/s (618.8 ms/req)
Request size [B]: 104.0
Reply rate [replies/s]: min 1.0 avg 1.6 max 3.2 stddev 0.7 (12 samples)
Reply time [ms]: response 555.1 transfer 0.0
Reply size [B]: header 158.0 content 2734.0 footer 0.0 (total 2892.0)
Reply status: 1xx=0 2xx=100 3xx=0 4xx=0 5xx=0
CPU time [s]: user 2.40 system 9.72 (user 3.9% system 15.7% total 19.6%)
Net I/O: 4.7 KB/s (0.0*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
  1. Without database connection:

    Result: more than 6000 requests per minute:



httperf --client=0/1 --server=localhost --port=80 --uri=http://localhost/cgi-bin/spidersample --send-buffer=4096 --recv-buffer=16384 --num-conns=6000 --num-calls=1

Maximum connect burst length: 1



Total: connections 6000 requests 6000 replies 6000 test-duration 54.835 s



Connection rate: 109.4 conn/s (9.1 ms/conn, <=1 concurrent connections)

Connection time [ms]: min 0.8 avg 9.1 max 53.2 median 5.5 stddev 9.7

Connection time [ms]: connect 0.1

Connection length [replies/conn]: 1.000



Request rate: 109.4 req/s (9.1 ms/req)

Request size [B]: 98.0



Reply rate [replies/s]: min 104.8 avg 109.2 max 118.8 stddev 3.9 (10 samples)

Reply time [ms]: response 8.8 transfer 0.2

Reply size [B]: header 158.0 content 1341.0 footer 0.0 (total 1499.0)

Reply status: 1xx=0 2xx=6000 3xx=0 4xx=0 5xx=0



CPU time [s]: user 9.66 system 43.57 (user 17.6% system 79.5% total 97.1%)

Net I/O: 170.7 KB/s (1.4*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





Free Web Hosting