Tomcat
整个架构图:
tomcat的架构:
tomcat优化:
我们不可能去修改Tomcat源码,所以Tomcat的优化主要是在conf文件下的server.xml里面修改。
Server Service Engine三个组件都是tomcat官方文档中有默认实现的一般是不建议去修改的。
优化点:
Connector模块:
Connector连接我们可以进行优化一般连接都是使用的HTTP/1.1的协议进行里连接,我们可以根据情况的不同选择更好的io来优化我们的性能。
在BIO的情况下如果并发实在太高,我们还可以管理Connector的线程池的大小。这个线程池默认是200的大小,我们可以自定义一下这个线程池的大小来增加并发性能。配置如下
Host模块:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
unpackWARs代表是不是对放入Tomcat的war包进行自动解压,如果是的话,Tomcat会开启一个线程去检测有没有war包增加并且要对这个war进行解压。这个参数也可以管理线程的资源。
autoDeploy这个参数是显示是不是要定期的检查webapp有没有更新,如果是的话会定期检查appBase和xmlBase有没有更新。(在生产的环境下我们一般是只有固定的app,所以我们可以酌情的设置为false,道理跟上面的一样管理线程的资源,因为定时检查什么的都需要用到线程的资源)
Comtext模块:这个标签可以配置你webApp的地址,可以不用放在webapps目录下也能被检测到。
<Context path="/lqf" docBase="E:/lqftomcat">
reloadable:监测你的某个webApp下的/WEB-INFO/classes或/WEB-INFO/lib下的类有没有改变,可以设置为false同样可以管理线程资源提升性能。(开发环境不要设置为false哦)
在全局的web.xml中去掉没用的节点,比如我们是分布式项目,那么就不用tomcat管理session和一些静态文件css,js我们可以将其移除掉也可以提升性能。