mån 2008-02-25 klockan 17:59 +0900 skrev S.KOBAYASHI:
> Hello there,
>
> I have a bit problem while majoring the squid performance now.
> There are many TIME_WAIT connections left on the squid port by using high
> performance http client machine, and then the next connection can not
> connect the squid. The client machine has capability to send up to 10,000
> req/s.
Why do you consider the TIME_WAIT as such to be a problem? There is no
significant problem to have some hundreds of thousand TIME_WAIT sockets
on a server port. They only consume a little bit of memory each (some
hundreds bytes).
> I tried to change Linux machine's some parameters as bellow.
>
> sysctl -w net.ipv4.tcp_tw_recycle=1
This often have a negative impact.
> sysctl -w net.ipv4.tcp_max_tw_buckets=50000
This will reduce the number of TIME_WAIT sockets to at most 50000, but
will also make the TCP/IP stack no longer conform to specifications and
bad things may happen to legitime traffic from this.
> sysctl -w net.ipv4.tcp_fin_timeout=1
Having this too low may cause a little problem to clients accessing
certain sites incompatible with persistent connections. May result in
connections hanging and never completing in the view of the client.
> Does anyone know how to purge the TIME_WAIT connections immediately?
You do not want to do that. Proper TCP/IP depends on TIME_WAIT.
> The machine running the squid has 16GB memory, the fastest CPU and running
> on 64 bit mode.
So I don't think you need to worry at all about the sockets when they
have reached the TIME_WAIT state.
Regards
Henrik
This archive was generated by hypermail pre-2.1.9 : Sat Mar 01 2008 - 12:00:05 MST