Tomcat5
<Connector port=“80” maxThreads=“150” minSpareThreads=“25”
maxSpareThreads=“75” enableLookups=“false”
redirectPort=“8443” acceptCount=“100” debug=“0”
connectionTimeout=“20000” disableUploadTimeout=“true”/>
除非客户需要连接到站点的每个 HTTP 客户端的机器名,否则我们建议在生产
环境上关闭 DNS 查询功能。可以通过 Tomcat 以外的方式来获取机器名。这
样不仅节省了网络带宽、查询时间和内存,而且更小的流量会使日志数据也会
变得更少,显而易见也节省了硬盘空间。对流量较小的站点来说禁用 DNS 查询
可能没有大流量站点的效果明显。
2.2.2 调整线程数
另外一个可通过应用程序的连接器(Connector)进行性能控制的参数是创建
的处理请求的线程数。Tomcat 使用线程池加速响应速度来处理请求。在 Java
中线程是程序运行时的路径,是在一个程序中与其它控制线程无关的、能够独
立运行的代码段。它们共享相同的地址空间。多线程帮助程序员写出 CPU 最大
利用率的高效程序,使空闲时间保持最低,从而接受更多的请求。
Tomcat4 中可以通过修改 minProcessors 和 maxProcessors 的值来控制线
程数。这些值在安装后就已经设定为默认值并且是足够使用的,但是随着站点
的扩容而改大这些值。minProcessors 服务器启动时创建的处理请求的线程数
应该足够处理一个小量的负载。也就是说,如果一天内每秒仅发生 5 次单击事
件,并且每个请求任务处理需要 1 秒钟,那么预先设置线程数为 5 就足够了。
但在你的站点访问量较大时就需要设置更大的线程数,指定为参数
maxProcessors 的值。maxProcessors 的值也是有上限的,应防止流量不可
控制(或者恶意的服务攻击),从而导致超出了虚拟机使用内存的大小。如果
要加大并发连接数,应同时加大这两个参数。web server 允许的最大连接数
还受制于操作系统的内核参数设置,通常 Windows 是 2000 个左右,Linux
是 1000 个左右。
在 Tomcat5 对这些参数进行了调整,请看下表: