Matthew Dillon wrote:
Another major bottleneck for any web server is the buffer memory used for all the open TCP connections. A server typically has considerable output bandwidth but the client typically does not have similar inputbandwidth, so the data the server pushes out to the client winds up having to sit in the socket buffer for a very long period of time.Using a large TCP socket buffer to improve bandwidth to the clients (due to the bandwidth delay product) also greatly increases the memory footprint of the connection on the server. You wind up with another trade-off: Improved bandwidth to a smaller number of connections using larger TCP buffers, or moderate bandwidth to a much larger number of connections using smaller TCP buffers.
obviously you can't avoid keeping dynamic stuff in the tcp buffer memory. but for static content (which usually is larger in comparison to dynamically generated pages), and using sendfile, it might be beneficial (considering 10G ethernet arriving) to just keep a reduced tcp window and access the buffer cache for lost packets, thus avoiding the duplication. cheers simon -- Serve - BSD +++ RENT this banner advert +++ ASCII Ribbon /"\ Work - Mac +++ space for low €€€ NOW!1 +++ Campaign \ / Party Enjoy Relax | http://dragonflybsd.org Against HTML \ Dude 2c 2 the max ! http://golden-apple.biz Mail + News / \
signature.asc
Description: OpenPGP digital signature
