tomcat 如何优化?

1、优化连接配置.这里以 tomcat7 的参数配置为例,需要修改 conf/server.xml
文件,修改连接数,关闭客户端 dns 查询。
参数解释:
URIEncoding=”UTF-8″ :使得 tomcat 可以解析含有中文名的文件的 url,真
方便,不像 apache 里还有搞个 mod_encoding,还要手工编译
maxSpareThreads : 如果空闲状态的线程数多于设置的数目,则将这些线程中
止,减少这个池中的线程总数。
minSpareThreads : 最小备用线程数,tomcat 启动时的初始化的线程数。
enableLookups : 这个功效和 Apache 中的 HostnameLookups 一样,设为关
闭。
connectionTimeout : connectionTimeout 为网络连接超时时间毫秒数。
maxThreads : maxThreads Tomcat 使用线程来处理接收的每个请求。这个值
表示 Tomcat 可创建的最大的线程数,即最大并发数。
acceptCount : acceptCount 是当线程数达到 maxThreads 后,后续请求会被放
入一个等待队列,这个 acceptCount 是这个队列的大小,如果这个队列也满
了,就直接 refuse connection
maxProcessors 与 minProcessors : 在 Java 中线程是程序运行时的路径,是
在一个程序中与其它控制线程无关的、能够独立运行的代码段。它们共享相同的地址空间。多线程帮助程序员写出 CPU 最 大利用率的高效程序,使空闲时
间保持最低,从而接受更多的请求。
通常 Windows 是 1000 个左右,Linux 是 2000 个左右。
useURIValidationHack:
我们来看一下 tomcat 中的一段源码:

【security】
if (connector.getUseURIValidationHack()) {
String uri = validate(request.getRequestURI());
if (uri == null) {
res.setStatus(400);
res.setMessage(“Invalid URI”);
throw new IOException(“Invalid URI”);
} else {
req.requestURI().setString(uri);
// Redoing the URI decoding
req.decodedURI().duplicate(req.requestURI())
req.getURLDecoder().convert(req.decodedURI(), true);

可以看到如果把 useURIValidationHack 设成”false”,可以减少它对一些 url
的不必要的检查从而减省开销。
enableLookups=”false” : 为了消除 DNS 查询对性能的影响我们可以关闭
DNS 查询,方式是修改 server.xml 文件中的 enableLookups 参数值。
disableUploadTimeout :类似于 Apache 中的 keeyalive 一样
给 Tomcat 配置 gzip 压缩(HTTP 压缩)功能
compression=”on” compressionMinSize=”2048″
compressableMimeType=”text/html,text/xml,text/JavaScript,text/css,text/plain”

HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页
后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解
压缩并浏览。相对于普通的浏览过程 HTML,CSS,javascript , Text ,它可以节
省 40%左右的流量。更为重要的是,它可以对动态生成的,包括 CGI、PHP ,
JSP , ASP , Servlet,SHTML 等输出的网页也能进行压缩,压缩效率惊人。

1)compression=”on” 打开压缩功能
2)compressionMinSize=”2048″ 启用压缩的输出内容大小,这里面默认为
2KB
3)noCompressionUserAgents=”gozilla, traviata” 对于以下的浏览器,不启
用压缩
4)compressableMimeType=”text/html,text/xml” 压缩类型
最后不要忘了把 8443 端口的地方也加上同样的配置,因为如果我们走 https 协
议的话,我们将会用到 8443 端口这个段的配置,对吧?

<!–enable tomcat ssl–>
<Connector port=”8443″ protocol=”HTTP/1.1″
URIEncoding=”UTF-8″ minSpareThreads=”25″ maxSpareThreads=”75″
enableLookups=”false” disableUploadTimeout=”true”
connectionTimeout=”20000″
acceptCount=”300″ maxThreads=”300″ maxProcessors=”1000″
minProcessors=”5″
useURIValidationHack=”false”
compression=”on” compressionMinSize=”2048″
compressableMimeType=”text/html,text/xml,text/javascript,text/css,text/plain”
SSLEnabled=”true”
scheme=”https” secure=”true”
clientAuth=”false” sslProtocol=”TLS”
keystoreFile=”d:/tomcat2/conf/shnlap93.jks” keystorePass=”aaaaaa”
/>

好了,所有的 Tomcat 优化的地方都加上了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值