您的位置:首页 > 运维架构 > Tomcat

tomcat调优和运行机制

2018-03-31 22:58 232 查看
tomcat调优:
1.JVM优化(内存调优(catalina.sh 中设置 java_OPTS 参数),垃圾回收策略调优)
2.连接器connector的并发处理能力(修改server.xml,maxThreads线程数:默认200,
    HTTP请求:NIO和指定使用的线程池处理请求,关闭客户端dns查询(enableLookups参数值))
3.Tomcat缓存优化和压缩(Nginx作为缓存服务器,将图片、css、js文件都进行了缓存。开启gzip压缩)
4.负载均衡(nginx或者apache来进行,主要是使用一个分发的功能)。
5.共享session处理(1.使用Tomcat本身的Session复制功能。2.使用第三方(memcached)来存放共享Session。3.使用黏性session的策略)
6.工作方式选择(JK):代码进行动静分离,让 Tomcat 只负责 jsp 文件的解析工作.连接方式:JK,http_proxy和 ajp_proxy,选JK。
7.去掉对web.xml的监视,把jsp提前编辑成Servlet。
5 - Tomcat Server处理一个http请求的过程
Tomcat运行机制:
假设来自客户的请求为:http://localhost:8080/wsota/wsota_index.jsp
1) 请求端口8080,等待http请求。
2) Connector把该请求交给它所在的Service的Engine来处理,并等待来自Engine的回应
3) Engine获得请求localhost/wsota/wsota_index.jsp,匹配到名为localhost的Host
4)  localhost Host获得请求/wsota/wsota_index.jsp,匹配它所拥有的所有Context
6) Host匹配到路径为/wsota的Context(如果匹配不到就把该请求交给路径名为""的Context去处理)
7) path="/wsota"的Context获得请求/wsota_index.jsp,在它的mappingtable中寻找对应的servlet
8) Context匹配到URLPATTERN为*.jsp的servlet,对应于JspServlet类
9) 构造HttpServletRequest对象和HttpServletResponse对象,作为参数调用JspServlet的doGet或doPost方法
10)Context把执行完了之后的HttpServletResponse对象返回给Host
11)Host把HttpServletResponse对象返回给Engine
12)Engine把HttpServletResponse对象返回给Connector
13)Connector把HttpServletResponse对象返回给客户browser
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: