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.
|