Tomcat 容器内的优化.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Tomcat 容器内的优化 一、 tomcat的3种运行模式 1、 bio 默认的模式,性能非常低下,没有经过任何优化处理和支持. 一个线程处理一个请求。缺点:并发量高时,线程数较多,浪费资源。 Tomcat7或以下,在Linux系统中默认使用这种方式。 2、 nio nio(new I/O),是Java SE 1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。Java nio是一个基于缓冲区、并能提供非阻塞I/O操作的Java API,因此nio也被看成是non-blocking I/O的缩写。它拥有比传统I/O操作(bio)更好的并发运行性能。 利用Java的异步IO处理,可以通过少量的线程处理大量的请求。 配置方式: 打开 tomcat 安装目录 \conf\server.xml文件,定位到这一行: Connector port=8080 protocol=HTTP/1.1 connectionTimeout=20000 redirectPort=8443 / 将其修改为 Connector port=8080 protocol=org.apache.coyote.http11.Http11NioProtocol connectionTimeout=20000 redirectPort=8443 / 3、apr 安装起来最困难,但是从操作系统级别来解决异步的IO问题,大幅度的提高性能. 即Apache Portable Runtime,从操作系统层面解决io阻塞问题。 Tomcat7或Tomcat8在Win7或以上的系统中启动默认使用这种方式。 Linux如果安装了apr和native,Tomcat直接启动就支持apr。 具体安装办法 参见这个地址: /lsw90/blog/181161 4、 在那里看我们的tomcat以何种工作模式启动的? Tomcat启动的时候,可以通过log看到Connector使用的是哪一种运行模式: Starting ProtocolHandler [http-bio-8080] Starting ProtocolHandler [http-nio-8080] Starting ProtocolHandler [http-apr-8080] 二、 执行器(线程池) 默认的tomcat没有启用线程池 在tomcat中每一个用户请求都是一个线程,所以可以使用线程池提高性能。这里前台其实有一个调度线程,然后调度线程会放入线程池内,然后到到一定的时候线程池的任务变成工作线程 1、开启并使用 打开 tomcat 安装目录 \conf\server.xml文件,找到下面这段注释并打开: !-- Executor name=tomcatThreadPool namePrefix=catalina-exec- maxThreads=150 minSpareThreads=4/ -- 然后找到下面的这个配置,注释掉上面的 Connector ,打开下面被注释掉的 Connector Connector port=8080 protocol=HTTP/1.1 connectionTimeout=20000 redirectPort=8443 / !-- A Connector using the shared thread pool-- !-- Connector executor=tomcatThreadPool port=8080 protocol=HTTP/1.1 connectionTimeout=20000 redirectPort=8443 / -- 2、参数说明 Attribute Description threadPriority (优先级) (int)线程的线程优先级执行程序,默认是5(NORM_PRIORITY常数) daemon(守护进程) (boolean)是否应该守护程序线程,线程默认是true namePrefix(名称前缀) (String) The name prefix for each thread created by the executor. The thread name for an individual thread will be namePrefix+threadNumber maxThreads(最大线程数) (int) The max number of active threads in

文档评论(0)

冷冷的冰雨 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档