On Tue, Jun 9, 2009 at 2:21 PM, Amos Shapira <amos.shap...@gmail.com> wrote:
> 2009/6/9 shimi <linux...@shimi.net>: > > At what layer do you define "dropping a request" ? Not accepting a TCP > > connection (4) ? Failure to complete the request from the reverse proxy > to > > the backend servers (HTTP error) (assuming you have backend servers - the > > network structure is not obvious from your original message)? > > We use Linux Virtual Server (LVS) in DR mode (i.e. packets come in to > a virtual IP through the LVS, outgoing replies are sent directly from > the Real Servers) in load-balancing (i.e. multiple servers accept and > handle requests in parallel). > > Some of the Real Servers are configured as "persistent", i.e. all > requests from same client within a two-minute period will be handled > by the same Real Server, due to functional requirements, others don't > have this requirement. > > > > > What answers the TCP requests to port 80? > > All requests are handled by Apache 2.2 modules written in C++. > > > > > Do you use efficient HTTP handlers already, e.g. Lighttpd or even better, > > nginx? :) > > We looked at it (lighttpd) and back then didn't see a justification to > make the switch (already had in-house knowledge to write Apache > modules vs. another learning period to take with lighttpd, plus > Apache's flexibility back when we didn't know what we'll need was a > factor, e.g. we also had php, perl and CGI code running around at the > beginning). > > As far as we can tell the bulk of the load is inside our own > home-grown module, not inside Apache. > > What I'd like to know is how many failed connections clients receive, > be it "connection refused" or time outs. > Look, Basically, if your HTTP connection handler handles many connections well - your module (backend) processing would become the bottleneck. That's how it usually happens. So if you wrap the requests by a frontend proxy (again, I recommend nginx) - and just put an error log for the relevant vhosts there, every time nginx cannot pass a request to backend processing, would be logged. Then you only need to look at the log, and that's it! -- Shimi
_______________________________________________ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il