logo       

Re: [Pound Mailing List] FreeBSD and failed requests: msg#00013

web.pound.general

Subject: Re: [Pound Mailing List] FreeBSD and failed requests

I've been thinking about this over the weekend but avoided working on it until now. My assumption was that Pound did round- robin based on that fact that when I don't set any session configuration, if I throw 1000 connections at it with two IPs configured as backends, it roughly gets divided between the two. That scenario is also the one which shows a ton of failed connections, and this strange error. After I define some sort of session, IP in the case of sorting this out, then all the traffic gets directed to the same server and the failures disappear. We have to keep track of sessions anyway so if that's the solution it's perfectly acceptable.
Anyway, using the session tracking stopped those failure errors, but still left me with relatively low request handling. Having tried different networking gear, computers, and OSes and seen the same thing across the board this morning I decided to eliminate the physical networking entirely. This is on one machine, looping back to itself. Apache listens on 80, Pound listens on 8080 with a single backend of 127.0.0.1 being defined:

First, hitting Apache directly on localhost, port 80:

Server Software: Apache/2.2.2
Server Hostname: 127.0.0.1
Server Port: 80

Document Path: /
Document Length: 16 bytes

Concurrency Level: 10
Time taken for tests: 1.43769 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 264000 bytes
HTML transferred: 16000 bytes
Requests per second: 958.07 [#/sec] (mean)
Time per request: 10.438 [ms] (mean)
Time per request: 1.044 [ms] (mean, across all concurrent requests)
Transfer rate: 246.22 [Kbytes/sec] received

Connection Times (ms)
min avg max
Connect: 0 0 1
Processing: 1 9 19
Total: 1 9 20


Second, hitting Pound on localhost 8080 which forwards to the just tested Apache on localhost 80:

Server Software: Apache/2.2.2
Server Hostname: 127.0.0.1
Server Port: 8080

Document Path: /
Document Length: 16 bytes

Concurrency Level: 10
Time taken for tests: 3.282322 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 264000 bytes
HTML transferred: 16000 bytes
Requests per second: 304.66 [#/sec] (mean)
Time per request: 32.823 [ms] (mean)
Time per request: 3.282 [ms] (mean, across all concurrent requests)
Transfer rate: 78.30 [Kbytes/sec] received

Connection Times (ms)
min avg max
Connect: 0 0 1
Processing: 10 31 59
Total: 10 31 60


What's "strange" about the slow request handling is that I can up the concurrency level, and Pound will continue to handle it with little to no dropoff. But for whatever reason it's peak performance caps off well below what the server behind it can handle. Before coming into work this morning I tried this same loopback test on a machine of mine at home and direct to Lighttpd had a reqs/s rate of 1800, while once it routed through Pound and then to Lighttpd the reqs/s rate dropped to 430. Disabling all logging got me an extra 20 reqs/s. I just tested Pound on a CentOS 4.2 machine, a P3 700, using the loopback style again. Direct to Lighttpd, 1600 reqs/s. To Pound, forwarding to Lighttpd on loopback, 380 reqs/s. I'd expect some dropoff but nothing quite that severe.
I'm going to be working on this most of today so if there are some suggestions or requests of things for me to do, I'm open to trying them.

On May 8, 2006, at 9:31 AM, Robert Segall wrote:

On Fri, 2006-05-05 at 16:24 -0700, Scott Larson wrote:
May 5 14:52:58 fencer pound: backend 10.10.10.36:80 connect:
Operation not permitted

That is strange. From the man 2 connect (see the section on errors):

EACCES, EPERM
The user tried to connect to a broadcast address without having
the socket broadcast flag enabled or the connection request
failed because of a local firewall rule.

Any idea how this could happen?

BTW: Pound doesn't do round-robin...
--
Robert Segall
Apsis GmbH
Postfach, Uetikon am See, CH-8707
Tel: +41-44-920 4904


--
To unsubscribe send an email with subject 'unsubscribe' to pound-Ws3YcLWMCpvhvxM+mQhndA@xxxxxxxxxxxxxxxx
Please contact roseg-Ws3YcLWMCps@xxxxxxxxxxxxxxxx for questions.
http://www.apsis.ch/pound/pound_list/archive/ 2006/2006-05/1146767005000/1147105869000

--
Scott Larson
Network Administrator
IOWA Interactive
4212 Glencoe Ave
Marina Del Rey, CA 90292

t 310.823.8238
f 310.823.7108
stl-vBUKIvN/9hiGO4FRh9xBPkEOCMrvLtNR@xxxxxxxxxxxxxxxx
http://www.iowainteractive.com
http://www.wiredrive.com



--
To unsubscribe send an email with subject 'unsubscribe' to
pound-Ws3YcLWMCpvhvxM+mQhndA@xxxxxxxxxxxxxxxx
Please contact roseg-Ws3YcLWMCps@xxxxxxxxxxxxxxxx for questions.
http://www.apsis.ch/pound/pound_list/archive/2006/2006-05/1146767005000/1147111223000



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise