Tomcat的性能,对比Weblogic或者Websphere,自然是差了不少。但是Weblogic或者Websphere的价格都比较昂贵,一些创业级网站恐怕没有能力支付,毕竟钱要用在刀刃上。免费开源的Tomcat,对付一般的网站,还是够用的。比如,一个网站的并发访问量在1000以下的,就可以使用Tomcat。
使用Tomcat,需要修改一些默认的配置,以提高Tomcat的性能和并发量。这里记录几点。
1. 增加Tomcat的内存
Tomcat默认使用最大内存为128M,可以修改 tomcat/bin/Catalina.bat 文件增加其内存。
设置下面语句
set CATALINA_OPTS =-Xms512m –Xmx1024m
2. 修改并发的连接数量,并且对页面进行压缩
修改conf/server.xml文件
修改前:
<Connector port="8080" protocol="HTTP/1.1"
redirectPort="8443"
connectionTimeout="20000"
/>
修改后:
<Connector port="8080" protocol="HTTP/1.1"
maxHttpHeaderSize="8192" useBodyEncodingForURI="true"
maxThreads="1000"
redirectPort="8443"
enableLookups="false"
compression="on"
compressionMinSize="2048"
compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"
connectionTimeout="20000"
disableUploadTimeout="true"
/>
maxThreads Tomcat使用线程来处理接收的每个请求。这个值表示Tomcat可创建的最大的线程数。
acceptCount 指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理。
connectionTimeout 网络连接超时,单位:毫秒。设置为0表示永不超时,这样设置有隐患的。通常可设置为30000毫秒。
minSpareThreads Tomcat初始化时创建的线程数。
maxSpareThreads 一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
compression="on" 打开压缩功能
compressionMinSize 启用压缩的输出内容大小,这里面默认为2KB
compressableMimeType压缩类型
3. 负载均衡
另外,如果实际运行过程中的并发量超过Tomcat的能力,可以使用Apache+Tomcat实现Tomcat集群的负载均衡。