www-apache-bugdb mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ted Keller <kel...@bfg.com>
Subject Re: general/3301: Severe performance problems under heavy load - not noticed in apache-1.3.1
Date Tue, 10 Nov 1998 00:17:35 GMT

I've determined the problem and have developed a fix for my environment.
This fix will have to be generalized to be applicable to others - but the
process of completing the fix should now be pretty straight forward.

Here's the problem.....

I run my apache proxy behind a socks4 firewall.  Specifically, it is a
socks 4.2.2 firewall daemon.

In general, the process of "socksifying" apache is not totally correct.
In reality, we only want to socksify the the remote connection portion.
All local connections do NOT want to be socksified.  

The big problems occured in http_main.c.  In this routine, socks issues
both bind and accept calls.  These were causing increased fork system
calls (yes - socks will fork on a bind if the remote client is not ready
to talk to it).  Forcing Apache NOT to use socks in http_main.c cleared up
the problems.

To fix it, attached are three patch files.  They modify the behavior of
the Configure script (used to create the Makefiles), proxy_util.c (where
most of the proxy connections are performed), proxy_ftp.c (where the
special connections are preformed for non-pasv connections).

These are SOCK4.2.2 fixes only.  Continued review should be performed for
both SOCKS 4.3beta 2 users as well as the SOCKS5 users.  

I left the connection processing if rfc1413 alone (forced to used
non-socks connections) since I am assuming these are requesting data from
the local client.

Results of these fixes.....

1. Fast performance - yet - it really outperforms the Cern proxy now -
hands down.
2. Significantly reduced CPU utilization - I gained back about 1/2 of my

Please let me know if you have any questions or comments.

ted keller - bfg.com

View raw message