Bug 50942

Summary: Apache 2.2.16 forward proxy is 5x times slower than apache2.2.4
Product: Apache httpd-2 Reporter: Murthy B T S <murthy_bodapati>
Component: mod_proxyAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: RESOLVED LATER    
Severity: major Keywords: MassUpdate
Priority: P2    
Version: 2.2.6   
Target Milestone: ---   
Hardware: PC   
OS: Linux   

Description Murthy B T S 2011-03-17 13:15:47 UTC
We are using apache as a forward proxy and recently we migrated from apache2.2.4 to apache2.2.16.

We observed that apache2.2.16 is taking almost an extra 5x time to fetch the page when compared to apache2.2.4

Steps to reproduce:

Configuring Apache 

1. Configure apache by the below command

./configure --prefix=/usr/local/apache --enable-mods-shared="proxy_connect proxy_ftp proxy_http proxy status rewrite deflate" --with-mpm=worker --with-included-apr

make install

2. Set the parameter "ProxyRequests = On" and start the apache.

3. Check the time taken to server the page by executing the below command

curl -o /dev/null -s -w %{time_total} -x <ServerName>:<Port> www.youtube.com

We see this dip in performance in apache2.2.6 also.
Comment 1 Jeff Trawick 2011-03-17 13:22:06 UTC
care to try this change, to back out one of the proxy fixes between 2.2.4 and 2.2.6?

Index: modules/proxy/proxy_util.c
===================================================================
--- modules/proxy/proxy_util.c	(revision 1082598)
+++ modules/proxy/proxy_util.c	(working copy)
@@ -1598,12 +1598,14 @@
         }
 #endif
 
+#if 0
         rv = apr_socket_opt_set(*newsock, APR_TCP_NODELAY, 1);
         if (rv != APR_SUCCESS && rv != APR_ENOTIMPL) {
              ap_log_error(APLOG_MARK, APLOG_ERR, rv, s,
                           "apr_socket_opt_set(APR_TCP_NODELAY): "
                           "Failed to set");
         }
+#endif
Comment 2 Murthy B T S 2011-03-17 14:12:40 UTC
Hi I applied it, but still it is taking time.

In the error log, I see it spends 2 seconds for sending itself.

[Thu Mar 17 23:18:12 2011] [debug] mod_proxy_http.c(1736): proxy: start body send
[Thu Mar 17 23:18:14 2011] [debug] mod_proxy_http.c(1840): proxy: end body send
Comment 3 Jeff Trawick 2011-03-17 14:49:16 UTC
thanks for trying that quickly
Comment 4 Veda 2011-03-28 05:06:20 UTC
We use apache as a forward proxy and want to migrate from 2.2.4 to 2.2.16. But could not take the migration step as 2.2.16 is very very slow in comparison to 2.2.4.
Comment 5 William A. Rowe Jr. 2018-11-07 21:10:02 UTC
Please help us to refine our list of open and current defects; this is a mass update of old and inactive Bugzilla reports which reflect user error, already resolved defects, and still-existing defects in httpd.

As repeatedly announced, the Apache HTTP Server Project has discontinued all development and patch review of the 2.2.x series of releases. The final release 2.2.34 was published in July 2017, and no further evaluation of bug reports or security risks will be considered or published for 2.2.x releases. All reports older than 2.4.x have been updated to status RESOLVED/LATER; no further action is expected unless the report still applies to a current version of httpd.

If your report represented a question or confusion about how to use an httpd feature, an unexpected server behavior, problems building or installing httpd, or working with an external component (a third party module, browser etc.) we ask you to start by bringing your question to the User Support and Discussion mailing list, see [https://httpd.apache.org/lists.html#http-users] for details. Include a link to this Bugzilla report for completeness with your question.

If your report was clearly a defect in httpd or a feature request, we ask that you retest using a modern httpd release (2.4.33 or later) released in the past year. If it can be reproduced, please reopen this bug and change the Version field above to the httpd version you have reconfirmed with.

Your help in identifying defects or enhancements still applicable to the current httpd server software release is greatly appreciated.