一、简介
1. 1 Tomcat 是什么?
tomcat是市场比较流行的WEB中间件 ,tomcat是配合Java运行而生容器;
1.2 Apache 和tomcate的区别
- Apache属于web服务器,Tomcat 属于java服务器
- Tomcat 是用来运行java程序的。Apache无法运行java程序
- 二者可单独使用,也可配合使用。Tomcat 处理java服务,Apache 处理偏静态服务;
二、监控
2.1 自带的Server Status监控
- 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 做负载均衡
@版权所有禁止非法转载!!!!!