/ Zope / Apsis / Pound Mailing List / Archive / 2006 / 2006-02 / Pound benchmark

[ << ] [ >> ]

[ Re: [Pound Mailing List] Handling Requests / Ted ... ] [ Cookie Disappearing / Kevin Minnick ... ]

Pound benchmark
Hegedus Ervin <airween(at)arxnet.hu>
2006-02-10 16:41:52 [ FULL ]
Hello,

I try to measure performance of pound.
Enviroment:
100MB/s FD switched Ethernet network

Pound:
- PII 350MHz CPU, 128MB RAM
- Debian Sarge, default install (no custom kernel, etc...)

Backends: 2x SUNFire V120, with Sun-ONE-Web-Server/6.1

Pound config:
========
Daemon 1
LogLevel 2
Alive 1

ListenHTTP
  Address       10.2.1.228
  Port          80
  Service
    BackEnd
      Address   10.15.0.63
      Port      80
      Priority  9
      TimeOut   2
    End
    BackEnd
      Address   10.15.0.73
      Port      80
      Priority  9
      TimeOut   2     
    End
  End
End


Pound server-side IP is 10.15.0.83, connects to servers through a
switch.

I test it with ab (apache-benchmark)

Here is the result of direct connection on of the Sun server:
# /usr/sbin/ab -k -n 1000 -c 50 http://10.15.0.63/
[...]
Server Software:        Sun-ONE-Web-Server/6.1
Server Hostname:        10.15.0.63
Server Port:            80

Document Path:          /
Document Length:        447 bytes

Concurrency Level:      50
Time taken for tests:   0.553713 seconds
Complete requests:      1000
Failed requests:        0
Write errors:           0
Keep-Alive requests:    1000
Total transferred:      673000 bytes
HTML transferred:       447000 bytes
Requests per second:    1805.99 [#/sec] (mean)
Time per request:       27.686 [ms] (mean)
Time per request:       0.554 [ms] (mean, across all
concurrent requests)
Transfer rate:          1186.54 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.1      0       7
Processing:     0   18  55.6      1     370
Waiting:        0   18  55.6      1     370
Total:          0   18  55.7      1     370

Percentage of the requests served within a certain time (ms)
  50%      1
  66%      1
  75%      2
  80%      4
  90%     52
  95%    101
  98%    273
  99%    315
100%    370 (longest request)

and here is the result of Pound:
# /usr/sbin/ab -k -n 1000 -c 50 http://10.2.1.228/
[...]
Server Software:        Sun-ONE-Web-Server/6.1
Server Hostname:        ovszbalance
Server Port:            80

Document Path:          /
Document Length:        447 bytes

Concurrency Level:      50
Time taken for tests:   2.351253 seconds
Complete requests:      1000
Failed requests:        756
  (Connect: 0, Length: 500, Exceptions: 256)
Write errors:           0
Keep-Alive requests:    500
Total transferred:      336500 bytes
HTML transferred:       223500 bytes
Requests per second:    425.31 [#/sec] (mean)
Time per request:       117.563 [ms] (mean)
Time per request:       2.351 [ms] (mean, across all
concurrent requests)
Transfer rate:          139.50 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   1.2      0      15
Processing:     0   61  60.3     23     185
Waiting:      -15   59  61.2     12     184
Total:          0   61  60.5     24     185

Percentage of the requests served within a certain time (ms)
  50%     24
  66%    112
  75%    116
  80%    119
  90%    131
  95%    152
  98%    164
  99%    165
100%    185 (longest request)


(please look again the "Failed request" section)


when i look the syslog, i see more lines of these:
"...pound: backend 10.15.0.73:80 connect: Cannot assign
requested address..."
"...pound: no back-end "GET / HTTP/1.0" from 10.2.1.210..."
(10.2.1.210 is the address of client, where i made the test
from)
"...pound: error copy server cont: Connection reset by peer..."
"...kernel: TCP: drop open request from 10.2.1.210/3387..."

In the output of "netstat -an", there are several opened
socket, in TIME_WAIT state, and those points to back-end
servers.

What may be the problem? Is it possible the "low-end" hardvare?


thank you:


a.

MailBoxer