Hi ! This is using worker rather than prefork - apache 2.2.6 as comes with fedora 7. I've changed /usr/sbin/httpd to be /usr/sbin/httpd.worker.
If I make a 1000 requests with ab with keep alive to apache - eg ab -k -n 1000 <url> then I get alot of connections from apache to tomcat that are in TIME_WAIT - eg tcp 0 0 127.0.0.1:46284 127.0.0.1:8009 TIME_WAIT tcp 0 0 127.0.0.1:46374 127.0.0.1:8009 TIME_WAIT tcp 0 0 127.0.0.1:46306 127.0.0.1:8009 TIME_WAIT tcp 0 0 127.0.0.1:46396 127.0.0.1:8009 TIME_WAIT the counts look like 1 LISTEN 2 ESTABLISHED 999 TIME_WAIT ie 999 connections in TIME_WAIT Is there anyway to tell Apache to keep the connections alive for a more connections ? Apache config is : ProxyPass / balancer://myclusterclear/ stickysession=JSESSIONID| jsessionid <Proxy balancer://myclusterclear> BalancerMember ajp://localhost:8009 route=server1 min=0 smax=1000 max=1000 keepalive=On </Proxy> Tomcat is <Connector executor="tomcatThreadPool" port="8009" secure="false" protocol="AJP/1.3" enableLookups="false" proxyPort="80" redirectPort="443" maxKeepAliveRequests="2000" tcpNoDelay="true" keepAliveTimeout="10000" connectionTimeout="600000"/> If I increase the concurrency to 10 from 1 and re-run the same 1,000 tests I get 1 LISTEN 20 ESTABLISHED 990 TIME_WAIT Slightly better but i'd have liked to see there be more ESTABLISHED connections. Running with 30 concurrency i get 1 LISTEN 60 ESTABLISHED 970 TIME_WAIT With 50 concurrency I get 1 LISTEN 28 CLOSE_WAIT 28 FIN_WAIT2 66 ESTABLISHED 939 TIME_WAIT In each case the netstat is performed immediately after the test has finished and before each test run the netstat only has the 1 listen socket for 8009. In each case the netstat is from apache to tomcat So any ideas why tomcat would close the connections ? Many thanks David On Mon, 2007-11-19 at 15:07 +0100, Rainer Jung wrote: > Hi David, > > TIME_WAIT is a normal TCP state after a connection was successfully > closed. Only one side of the connection goes into TIME_WAIT, namely the > side that sent the first FIN. > > So since you've got httpd and Tomcat on the same server, you first need > to find out, which side of the conection is in TIME_WAIT. In netstat, > usually the left hand IP:PORT is the local side, and the right IP:PORT > the remote side. In case the left pair of the TIME_WAIT line includes > the port 8009, this would mean, that Tomcat closed the connection first, > in case 8009 is on the right side, it would mean, that Apache httpd > closed the connection first. Maybe you could show us some of the > TIME_WAIT netstat lines. > > Both could be OK, so we could ask ourselves, if we expect such > behaviour. In general AJP connections should be used persistently and > only closed, if they have been idle for to long. > > Is the number of TIME_WAIT connections much larger, than the concurrency > ("-c") used with ab? > > Regards, > > Rainer > > David Cassidy wrote: > > Guys, > > > > I'm using mod_proxy in apache 2.2.6 with the ajp connector in tomcat. > > > > apache config > > ----------------- > > <Proxy balancer://myclusterclear> > > BalancerMember ajp://localhost:8009 route=server1 min=0 > > smax=1000 max=1000 keepalive=On > > </Proxy> > > ProxyPass // balancer://myclusterclear/ > > stickysession=JSESSIONID|jsessionid > > > > > > Tomcat config (Using the native apr libs) > > > > <Executor name="tomcatThreadPool" namePrefix="catalina-exec-" > > maxThreads="150" minSpareThreads="4"/> > > > > <Connector executor="tomcatThreadPool" port="8009" secure="false" > > protocol="AJP/1.3" enableLookups="false" proxyPort="80" > > redirectPort="443" maxKeepAliveRequests="2000" tcpNoDelay="true" > > keepAliveTimeout="10000" connectionTimeout="600000"/> > > > > After running a few hits with ab to give it some load > > there are a very large number of connections between apache and tomcat > > in a TIME_WAIT status. > > > > Is this a common happening ? Is there something that can be configured > > to prevent this from appearing ? > > > > Thanks > > > > David > > --------------------------------------------------------------------- > To start a new topic, e-mail: users@tomcat.apache.org > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > --------------------------------------------------------------------- To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]