<div dir="ltr"><br><div class="gmail_quote">On Tue, Jun 9, 2009 at 2:21 PM, Amos Shapira <span dir="ltr">&lt;<a href="mailto:amos.shapira@gmail.com">amos.shapira@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
2009/6/9 shimi &lt;<a href="mailto:linux-il@shimi.net">linux-il@shimi.net</a>&gt;:<br>
<div class="im">&gt; At what layer do you define &quot;dropping a request&quot; ? Not accepting a TCP<br>
&gt; connection (4) ? Failure to  complete the request from the reverse proxy to<br>
&gt; the backend servers (HTTP error) (assuming you have backend servers - the<br>
&gt; network structure is not obvious from your original message)?<br>
<br>
</div>We use Linux Virtual Server (LVS) in DR mode (i.e. packets come in to<br>
a virtual IP through the LVS, outgoing replies are sent directly from<br>
the Real Servers) in load-balancing (i.e. multiple servers accept and<br>
handle requests in parallel).<br>
<br>
Some of the Real Servers are configured as &quot;persistent&quot;, i.e. all<br>
requests from same client within a two-minute period will be handled<br>
by the same Real Server, due to functional requirements, others don&#39;t<br>
have this requirement.<br>
<div class="im"><br>
&gt;<br>
&gt; What answers the TCP requests to port 80?<br>
<br>
</div>All requests are handled by Apache 2.2 modules written in C++.<br>
<div class="im"><br>
&gt;<br>
&gt; Do you use efficient HTTP handlers already, e.g. Lighttpd or even better,<br>
&gt; nginx? :)<br>
<br>
</div>We looked at it (lighttpd) and back then didn&#39;t see a justification to<br>
make the switch (already had in-house knowledge to write Apache<br>
modules vs. another learning period to take with lighttpd, plus<br>
Apache&#39;s flexibility back when we didn&#39;t know what we&#39;ll need was a<br>
factor, e.g. we also had php, perl and CGI code running around at the<br>
beginning).<br>
<br>
As far as we can tell the bulk of the load is inside our own<br>
home-grown module, not inside Apache.<br>
<br>
What I&#39;d like to know is how many failed connections clients receive,<br>
be it &quot;connection refused&quot; or time outs.<br></blockquote><div> </div></div>Look,<br><br>Basically, if your HTTP connection handler handles many connections well - your module (backend) processing would become the bottleneck. That&#39;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&#39;s it!<br>
<br>-- Shimi<br></div>