Bug 44363

Summary: Slow file transfers
Product: Apache httpd-2 Reporter: Carter <apache>
Component: AllAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: RESOLVED LATER    
Severity: major Keywords: MassUpdate
Priority: P2    
Version: 2.2.8   
Target Milestone: ---   
Hardware: PC   
OS: Windows Server 2003   
URL: http://beta.inthecrack.com

Description Carter 2008-02-05 20:33:38 UTC
Moving out site onto a new Windows 2003 server, same Apache config, static 
file downloads are limited to 350-600Kb/sec.  The new server is on a gigE 
connection.  The previous server gave us 2MB/sec download.  Both are similar 
hardware - Dell 2950/1950 with 4GB RAM and dual quad-core xeon.  Both on same 
OS.

Install of IIS maxes out bandwidth of the visitor's connection - I've seen 
2.5MB/sec.

FTP maxes out connection, even when testing on port 80.

Since IIS & FileZilla FTP both max out the connection and Apache is 1/6 the 
speed, I'm assumming there is an incompatiblity somewhere.  I reinstalled both 
2.2.8 and 2.2.6 without SSL, vanilla and wiped out the httpd.conf - but no 
better.
Comment 1 Joshua Slive 2008-02-06 10:54:23 UTC
This is a question that should be tried first on a user-support forum like the
users@httpd.apache.org mailing list before filing a bug report.

(Before you post to the users list, try the standard win32 trick:
EnableSendfile off
EnableMMAP off
Win32DiableAcceptEx
)
Comment 2 Jeff Trawick 2008-02-06 11:19:33 UTC
(In reply to comment #1)
> This is a question that should be tried first on a user-support forum like the
> users@httpd.apache.org mailing list before filing a bug report.
> 
> (Before you post to the users list, try the standard win32 trick:

another thing to try 

SendBufferSize 10000000

(number is probably overkill, but sufficient for testing the theory; I saw a
complaint recently that Apache on Windows was using much smaller TCP windows
than IIS; I don't think "ReceiveBufferSize 10000000" would help here)
Comment 3 Carter 2008-02-06 13:21:39 UTC
I tried all of the tricks suggested with no significant success.  I did notice 
that EnableSendfile off did double my download speeds to 700Kb/sec, but 
unfortunately, the other options didn't make a difference.  I had great hope 
for the ReceiveBufferSize, but it seems that my Window Size is sufficent.
Comment 4 Carter 2008-02-06 21:53:19 UTC
I've noticed that file download sent via PHP "streaming" using the PEAR 
HTTP_Download package are sending at full speed.  Just static content is 
slowed.
Comment 5 William A. Rowe Jr. 2008-02-07 00:08:42 UTC
Just to verify...

You did confirm that EnableSendfile Off speeds things up?  Does EnableMMAP Off
further change the performance for better or worse?
Comment 6 Carter 2008-02-07 06:23:40 UTC
EnableSendfile Off speeds up static file transfers from about 350Kb/sec to 
750Kb/sec.  No other setting helps.  
PHP streaming transfers max out the visitor's connection speed - for me it is 
about 2MB/sec.
Comment 7 Carter 2008-02-07 06:24:34 UTC
(In reply to comment #6)
EnableMMAP Off had no noticable effect.

Comment 8 Dominik Friedrichs 2011-02-05 17:42:48 UTC
If all these dont work:

EnableSendfile off
EnableMMAP off
Win32DiableAcceptEx
SendBufferSize ...

Then this is one last thing to try (it did the trick for me on W2k3 R2):
Set in your Windows registry

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Afd\Parameters

DefaultSendWindow
DefaultReceiveWindow

To something like 65535. You'll probably have to create the DWORD values. Reboot afterwards and that should do the trick.

It appears that Apache fails to set the buffer size (without printing warnings) or its setting is ignored by Windows for some reason.
Comment 9 Eric Covener 2011-08-07 00:15:25 UTC
Please let us know if the global send buffer size was different then the directive.  I've observed this myself.
Comment 10 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.