Bug 50116

Summary: Apache fragments packets unnecessarily
Product: Apache httpd-2 Reporter: Philip Pickett <phil.pickett>
Component: CoreAssignee: Apache HTTPD Bugs Mailing List <bugs>
Status: RESOLVED LATER    
Severity: normal CC: phil.pickett
Priority: P2 Keywords: MassUpdate
Version: 2.2.9   
Target Milestone: ---   
Hardware: All   
OS: All   
Attachments: Wireshark screen capture showing segmentation and reassembly

Description Philip Pickett 2010-10-19 14:18:57 UTC
Created attachment 26183 [details]
Wireshark screen capture showing segmentation and reassembly

In performing performance testing of Apache (2.2.x) vs. iPlanet, Apache generally performed better.  One exception though was for a page with a lot of small images.

When monitoring the traffic for both Apache and iPlanet running on the same host using Wireshark, it was observed that Apache segments the packets while iPlanet does not.

A screen capture of the Wireshark data is attached.  

For the record, I have seen the same segmenting in Wireshark using Apache, Tomcat, and Jetty).
Comment 1 Philip Pickett 2010-10-19 14:25:58 UTC
Test has been recreated adding "EnableSendfile Off" and then "EnableMMAP Off" to the configuration but the segmentation still occurred with these directives.
Comment 2 William A. Rowe Jr. 2010-10-24 20:23:15 UTC
I suspect this may be a platform side effect of the writev()/sendv() family of
instructions, combined with the specific tcp drivers in place.  These optimized
instructions require the socket stack to cooperate.  Applications which don't
use these vector-based multiple data streams to coalesce data into a stream
would not show any evidence that things are odd at the socket stack.

This is worth further investigation, but you need to indicate the specific OS
and especially the actual tcp/ip network drivers in use, thanks!
Comment 3 Philip Pickett 2010-11-02 17:50:27 UTC
Bill - I think this should be the information you were looking for related to the Solaris 8 patch level and tcp/ip driver info:

$ uname -a 
SunOS somehost 5.8 Generic_117350-54 sun4u sparc SUNW,Sun-Fire-V240 

$ /usr/sbin/ifconfig -a modlist 
ifconfig: _I_MUXID2FD: lo0: Invalid argument 
0 arp 
1 ip 
2 bge 
0 arp 
1 ip 
2 bge 
0 arp 
1 ip 
2 bge 
0 arp 
1 ip 
2 bge 
$ ifconfig -a 
lo0: flags=1000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4> mtu 8232 index 1 
inet 127.0.0.1 netmask ff000000 
bge0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2 
inet 20.25.13.15 netmask ffffff00 broadcast 20.25.13.255 
ether 0:3:ba:de:4:ab 
bge1: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 3 
inet 20.25.8.158 netmask ffffffc0 broadcast 20.25.8.191 
ether 0:3:ba:de:4:ac 
bge2: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 4 
inet 20.25.9.15 netmask ffffff80 broadcast 20.25.9.127 
ether 0:3:ba:de:4:ad 
bge3: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 5 
inet 20.25.8.82 netmask ffffffe0 broadcast 20.25.8.95 
ether 0:3:ba:de:4:ae
Comment 4 William A. Rowe Jr. 2018-11-07 21:09:41 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.