Welcome to WebmasterWorld Guest from 54.160.221.82

Forum Moderators: phranque

Message Too Old, No Replies

TCP/IP Stack changes: Tuning Webservers at a Low Level

     
11:28 am on Oct 9, 2009 (gmt 0)

Senior Member

WebmasterWorld Senior Member trillianjedi is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Apr 15, 2003
posts:7242
votes: 0


Is anyone here actively tuning the TCP/IP stack on their webserver OS ?

I find myself doing this at moment in order to get maximum performance out of a TCP/IP based system (not actually a webserver, but the technology is largely the same).

Solid article on this here:-

[isi.edu...]

Curious to hear any results from people that have experimented with such low level tweaking. My current objective is to reduce a large volume of TCP/IP socket connections that are sitting in a WAIT_STATE pending an ACK from a client that will never arrive (because the client has gone offline). It seems there are proposed mechanisms for achieving this and having the client handle the WAIT_STATE rather than the server.

I'm not sure if Apache is already doing such things, haven't delved into that code yet.

Anyone here messed around with this?

2:10 am on Oct 29, 2009 (gmt 0)

Senior Member from CA 

WebmasterWorld Senior Member encyclo is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Aug 31, 2003
posts:9063
votes: 2


Is anyone here actively tuning the TCP/IP stack on their webserver OS ?

We'll take that as a "no", shall we? ;) Have you had any good results so far with your tweaking?

1:32 am on Nov 1, 2009 (gmt 0)

Junior Member

5+ Year Member

joined:Mar 27, 2009
posts:45
votes: 0


I would use the ideas from Yslow first before trying these.
I do get a lot of hanging httpd sessions, and if my sites become slow, a cron job just restarts the httpd. Not a nice solution, but works for me.

Also you can search at the Apache forums, or join us at the ApacheCon next week :-)
3:05 pm on Nov 25, 2009 (gmt 0)

Senior Member

WebmasterWorld Senior Member trillianjedi is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Apr 15, 2003
posts:7242
votes: 0


Have you had any good results so far with your tweaking?

It's been, let's say, interesting. I've learned a lot about the lower level workings of TCP/IP, SYN and ACK signals etc and how they can get delayed but not ignored (part of the protocol design).

But I can't say that I've found anything particularly useful just yet.

I would use the ideas from Yslow first before trying these.

I'm actually tweaking a TCP/IP based application which isn't for the web. I thought of asking because of course HTTP servers are essentially TCP/IP based. I'll take a look at Yslow though - there might be some useful config tidbits in there - thanks for the heads up.

10:56 pm on Nov 25, 2009 (gmt 0)

Senior Member from KZ 

WebmasterWorld Senior Member lammert is a WebmasterWorld Top Contributor of All Time 10+ Year Member Top Contributors Of The Month

joined:Jan 10, 2005
posts: 2886
votes: 1


It depends on the application, but if connection tracking is not needed and packet sizes are not to large, you could switch from TCP to UDP.
9:50 pm on Dec 1, 2009 (gmt 0)

Senior Member

WebmasterWorld Senior Member trillianjedi is a WebmasterWorld Top Contributor of All Time 10+ Year Member

joined:Apr 15, 2003
posts:7242
votes: 0


you could switch from TCP to UDP.

Not an option. UDP breaks NAT and Firewall traversal (if user can access my webpage, I know that TCP/IP port 80 will work).

 

Join The Conversation

Moderators and Top Contributors

Hot Threads This Week

Featured Threads

Free SEO Tools

Hire Expert Members