I am maintaining a website with currently about 800 concurrent users. The business plan says that this number will be 10x higher in one year.
This is my current configuration:
<Connector port="8080" address="${jboss.bind.address}"
maxThreads="500" maxHttpHeaderSize="8192"
emptySessionPath="true" protocol="HTTP/1.1"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true" />
<Connector port="8443" address="${jboss.bind.address}"
protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="500" minSpareThreads="5" maxSpareThreads="25"
scheme="https" secure="true" clientAuth="false"
keystoreFile="${jboss.server.home.dir}/conf/ks.p12"
keystoreType="PKCS12" connectionTimeout="20000"
keystorePass="pass" sslProtocol="TLS" acceptCount="100" />
The average used thread count is about 400 (for each http/https). But peaks really use 500 threads. I think I will get into trouble when I get 10x users :-)
- How can I tune this?
- Should I disable http keep alive? How can I configure keep-alive timeout?
- What values are good for acceptCount / maxThreads?