Salutare,

am urmatoarea problema interesanta:

un apache 2.2.3, redhat 5.5 si un tomcat 5.5.23.0
apache-ul are un ProxyPass catre tomcat pe portul 8080 pentru un script
minimal.

Problema apare la inchiderea conexiunii, dupa cum urmeaza:

1) 3 way handshake se face ok

2) am request-ul de la httpd catre tomcat
am raspunsul de la tomcat catre httpd
am ACK-ul de la httpd catre tomcat
tot pasul doi se intampla in sub 10ms

3) dupa fix 20 de secunde (timeout la tomcat definit in server.xml in
connectionTimeout="20000", tomcat trimite SYN,ACK catre apache, apache-ul
raspunde cu ACK
Din partea lui tomcat conexiunea e closed, nu-mi mai apare la netstat DAR
din partea lui apache conexiunea este inca in CLOSE_WAIT.

4) dupa 16-17 de minute, adica aprox 1000 secunde (habar nu am de unde
vine timer-ul asta, banuiesc ca nu exista asa timeout in tcp stack)
apache-ul se trezeste sa trimita catre tomcat un FIN,ACK la care evident
tomcat raspunde cu RST ca pentru el relatia s-a cam terminat la pasul 3.

Problema mea este ca sunt atat de multe conexiuni de genul asta ca am
aprox 10.000 de CLOSE_WAIT-uri, iar la un moment dat am observat in dump
ca tomcat-ul incepe sa dea connection refused chiar daca maxThreads=800
iar acceptCount=50.

Google zice ca mai sunt si altii cu problema asta si treaba a disparut
subit odata ce au pus apache 2.2.10, care din pacate acum pentru mine nu e
o optiune din motive de "change management procedures".

aveti alte idei in afara de apache upgrade?

thanks!
misu







_______________________________________________
RLUG mailing list
[email protected]
http://lists.lug.ro/mailman/listinfo/rlug

Raspunde prin e-mail lui