Tomcat性能调优

一、简介

1. 1  Tomcat 是什么?

  tomcat是市场比较流行的WEB中间件 ,tomcat是配合Java运行而生容器;

1.2  Apache 和tomcate的区别

  1.  Apache属于web服务器,Tomcat 属于java服务器
  2.  Tomcat 是用来运行java程序的。Apache无法运行java程序
  3.   二者可单独使用,也可配合使用。Tomcat 处理java服务,Apache 处理偏静态服务;

二、监控

2.1 自带的Server Status监控

  

  1.  tomcat 自带监控Server Status如下图:

  

  2.初始化的tomcat是进不了 Server Status;需要修改配置文件

  3.tomcat配置文件 都在conf目录里面 如图 找到 tomcat-users.xml

  <role rolename="manager-gui"/>

  <user username="admin" password="123123" roles="manager-gui"/>

  

  

  4.配置完后 访问 点击页面的 Server Status ,在弹框中输入你配置的用户名和密码(admin/123123)

 

   

  5.进去监控画面

  注:1)Server Status监控界面分jvm显示区域  /ajp-bio-8009 显示区域 / http-nio-8080显示区域;

    2)JVM区域参数含义以后JVM篇在集中说明;

    3)apache与tomcat的链接方式分两种不一样的方式有不一样的性能 默认是bio的形式

  6.监控中的参数说明:

  Max threads :最大线程数
  Current thread count:当前线程数
  Current thread busy:当前正在运行的线程/正在处理的线程

  Max processing time: 246 ms 单个请求最大处理时间 单位毫秒
  Processing time: 总处理时间
  Request count: 有多少次请求
  Error count: 多少失败的

  Bytes received: 接受到的数据量
  Bytes sent: 发送出去的数据量

2.2 利用LoadRunner进行打点监控 --很少用

  待我亲自实验好了日后补上

三、参数调优

3.1参数配置调优

  注:所有的参数调优都在这个文件 /conf/server.xml 基本上的参数调优都在 -- <Connector port="8080" protocol  这个标签里面;如下图

3.1.1 链接方式优化 默认方式的链接方式性能很低
  将Connector port="8080" protocol="HTTP/1.1"
  中的protocol值改成 "org.apache.coyote.http11.Http11Protocol" --org.apache.coyote.http11.Http11NioProtocol
  效果如图:

3.1.2 URIEncoding="UTF-8"这个参数和性能无关;

  这个配置解决tomcat的健壮性,可以帮助tomcat解析含有中文的url

3.1.3 minSpareThreads="25" 这个参数含义:启动tomcat初始化的线程数;

  注:tomcat里面没有 maxSpareThreads这个参数;

3.1.4 enableLookups="false" 这个参数含义是 是否进行域名反查询;

  一般情况下是不需要进行域名反查询的;因为进行域名反查询耗费一定的时间,及影响性能;

3.1.5 useURIValidationHack="false" 这个参数含义:对URL是否进行规范性的检查;

  大流量话做检查会影响性能,建议为false;

3.1.6 connectionTimeout="20000" 链接的超时时间,这单位是ms;

  调节按流量大小调 参考值30000

3.1.7 maxThreads="50" 代表服务器最大请求数量 默认是200;(最重要的调优参数)

  流量高的需要调大,不能太高,也不能太低;调节可以根据监控的值来调节
  Max threads: 200 Current thread count: 10 Current thread busy: 

3.1.8 acceptCount="300" 可以理解为 队列; 默认是100 ;(最重要的调优参数)

  a.当请求达到acceptCount这个值 ,就会报‘拒绝链接’

  b.当请求数在 大于 maxThreads 小于 acceptCount ,请求会在acceptCount里面。

3.1.9 压缩调优 (以下参数是成队出现的)
  compression="on"                                    打开压缩
  compressionMinSize="2048"                             小于2048的不压缩
  noCompressionUserAgents="gozilla,traviata"                      对于哪些浏览器不进行压缩
  compressableMimeType="text/html,text/xml,text/css,text/plain,application/javascript"    支持压缩的文件类型

 3.2 JVM调优 

   JVM调优内容较多日后单独说明

四、tomcat优化方向(非自身参数配置)

  4.1 硬件配置 ...需要大内存,因为Java程序吃内存

  4.2 选择 合适的jdk版本

  4.3 做负载均衡

 

 

 

 

 

@版权所有禁止非法转载!!!!!

posted @ 2018-03-27 16:40  肖疯子  阅读(649)  评论(0)    收藏  举报