简谈Tomcat调优
一、Tomcat和apache的比较
- 共同点:apache和tomcat都是属于web服务器。
- 不同点:他们是两个不同的容器,承载的东西不一样,tomcat属于一种java应用的服务
器,只针对java提供,比如JSP;apache都是属于web服务器,给web服务,比如HTML。
二、启动tomcat服务
- 首先启动tomcat
- 输入命令 service tomcat6 start
- 浏览器输入:http://192.168.110.131:8080/
- 点击进入status
Server status属于一个简单的后台监控
1、JVM
-
Free memory:空闲内存
-
total memory:当前已经分配的内存
-
Max memory:当前允许分配给tomcat JVM的最大内存
2、HTTP-8080
-
Max threads:最大可承受的线程数,第一行表示当前最大可承受的线程数为200、当前的线程数为6、当前属于运行态的线程数为1。
-
Max processing:单个请求的最大处理时间
-
Processing time:请求处理的总时间
三、tomcat调优
- Tomcat调优分为:tomcat本身参数化调优和JVM调优
1、tomcat本身参数化调优
- 修改配置文件前先备份
- cd /etc/tomcat6/
- vi server.xml
- /URIEncoding="UTF-8" (搜索URIEncoding="UTF-8")
-
URIEncoding="UTF-8" :tomcat能解析含有中文名的URL(和性能没有多大影响)
-
minSpareThreads="25" :两层含义:1、最小的空闲线程数
2、启动的时候初始化的线程数 -
enableLookups="false" :关闭域名的反复查找
-
disableUploadTimeout="true" :上传超时机制,设置为ture,上传超时的时候自动断掉,
避免占用资源 -
connectionTimeout="20000" :链接超时,单位为毫秒,设置为0的话就是永远不超时;建
议设置为三万毫秒。如果设置太小,访问量大的时候可能会出现“500”返回。 -
KeepAliveTimeout:长链接超时时间
-
Maxthreads:最大请求数量
-
acceptcount:能接受队列的长度,当请求数超过Max threads的时候,请求进入队列,
Acceptcount有一定的范围,排队的请求超过Acceptcount时,链接就会被拒绝。
四、tomcat的gzip配置
tomcat的gzip配置如下:
compression="on"
compressionMinSize="2048"
noCompressionUserAgents="gozilla,traviata"
compressableMimeType="textml,text/xml,text/css,application/javascript,text/plain" />
总结:tomcat从哪几方面进行考虑
*1、环境
*2、集群,多部署几个tomcat
*3、本身参数和JVM
*4、环境依赖问题