tomcat优化Word格式文档下载.docx
- 文档编号:19369202
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:12
- 大小:245.59KB
tomcat优化Word格式文档下载.docx
《tomcat优化Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《tomcat优化Word格式文档下载.docx(12页珍藏版)》请在冰豆网上搜索。
在tomcat新版本中,自动默认已经禁止列目录功能。
下面,列出几种常见功能,在web.xml中的表现形式:
站点默认主页:
自定义错误页面:
定义会话超时时间:
禁止列目录:
优化
server.xml
Tomcat的主配置文件,该文件中包含很多主要元素,比如Service、Connector、Host等,这些元素都会创建软件"
对象"
、排序及进程管道中设置的这些元素嵌套方,使我们可以执行过滤、分组等工作。
如果要对改文件做优化,我们需要先了解该文件的结构!
server.xml的结构图:
该文件描述了如何启动TomcatServe
<
Server>
<
Listener/>
GlobaNamingResources>
/GlobaNamingResources
Service>
Connector/>
Engine>
Logger/>
Realm/>
host>
Context/>
/host>
/Engine>
/Service>
/Server>
1、maxThreads连接数限制
maxThreads是Tomcat所能接受最大连接数。
一般设置不要超过8000以上,如果你的网站访问量非常大可能使用运行多个Tomcat实例的方法,即,在一个服务器上启动多个tomcat然后做负载均衡处理。
这里还需要注意的一点是,tomcat和php不同。
php可以按照cpu和内存的情况去配置连接数,上万很正常。
而java还需要注意jvm的参数配置。
如果不注意就会因为jvm参数过小而崩溃。
2、多虚拟主机
强烈建议不要使用Tomcat的虚拟主机,推荐每个站点使用一个实例。
即,可以启动多个Tomcat实例,而不是启动一个Tomcat里面包含多个虚拟主机。
因为Tomcat是多线程,共享内存,任何一个虚拟主机中的应用崩溃,都会影响到所有应用程序。
虽然采用多实例的方式会产生过多的开销,但至少保障了应用程序的隔离和安全。
3、压错传输
tomcat作为一个应用服务器,也是支持gzip压缩功能的。
我们可以在server.xml配置文件中的Connector节点中配置如下参数,来实现对指定资源类型进行压缩。
compression="
on"
#打开压缩功能compressionMinSize="
50"
#启用压缩的输出内容大小,默认为2KB
noCompressionUserAgents="
gozilla,traviata"
#对于以下的浏览器,不启用压缩
compressableMimeType="
text/html,text/xml,text/javascript,text/css,text/plain"
#哪些资源类型需要压缩
提示:
Tomcat的压缩是在客户端请求服务器对应资源后,从服务器端将资源文件压缩,再输出到客户端,由客户端的浏览器负责解压缩并浏览。
相对于普通的浏览过程HTML、CSS、Javascript和Text,它可以节省40%左右的流量。
更为重要的是,它可以对动态生成的,包括CGI、PHP、JSP、ASP、Servlet,SHTML等输出的网页也能进行压缩,压缩效率也很高。
但是,压缩会增加Tomcat的负担,因此最好采用Nginx+Tomcat或者Apache+Tomcat方式,将压缩的任务交由Nginx/Apache去做。
4、管理AJP端口
AJP是为Tomcat与HTTP服务器之间通信而定制的协议,能提供较高的通信速度和效率。
如果tomcat前端放的是apache的时候,会使用到AJP这个连接器。
由于我们公司前端是由nginx做的反向代理,因此不使用此连接器,因此需要注销掉该连接器。
!
--
Connector
port="
8009"
protocol="
AJP/1.3"
redirectPort="
8443"
/>
-->
5、更改关闭Tomcat实例的指令
server.xml中定义了可以直接关闭Tomcat实例的管理端口。
我们通过telnet连接上该端口之后,输入SHUTDOWN(此为默认关闭指令)即可关闭Tomcat实例(注意,此时虽然实例关闭了,但是进程还是存在的)。
由于默认关闭Tomcat的端口和指令都很简单。
默认端口为8005,指令为SHUTDOWN。
因此我们需要将关闭指令修改复杂一点。
当然,在新版的Tomcat中该端口仅监听在127.0.0.1上,因此大家也不必担心。
除非黑客登陆到tomcat本机去执行关闭操作。
修改实例:
Serverport="
8005"
shutdown="
9SDKJ29jksjf23sjf0LSDF92JKS9DKkjsd"
>
6、更改Tomcat的服务监听端口
一般公司的Tomcat都是放在内网的,因此我们针对Tomcat服务的监听地址都是内网地址。
8080"
address="
172.16.100.1"
7、关闭war自动部署
默认Tomcat是开启了对war包的热部署的。
为了防止被植入木马等恶意程序,因此我们要关闭自动部署。
Hostname="
localhost"
appBase="
"
unpackWARs="
false"
autoDeploy="
禁用Tomcat管理页面
一般线上是不使用Tomcat默认提供的管理页面的,因此都会在初始化的时候就把这些页面删掉。
这些页面是存放在Tomcat安装目录下的webapps目录下的。
我们只需要删除该目录下的所有文件即可。
当然,还有涉及管理页面的2个配置文件host-manager.xml和manager.xml也需要一并删掉。
这两个文件存放在Tomcat安装目录下的conf/Catalina/localhost目录下。
dev_max_backlog
=
32768
net.core.somaxconn
net.core.wmem_default
8388608
net.core.rmem_default
net.core.rmem_max
16777216
net.core.wmem_max
net.ipv4.ip_local_port_range
1024
65000
net.ipv4.route.gc_timeout
100
net.ipv4.tcp_fin_timeout
30
net.ipv4.tcp_keepalive_time
1200
net.ipv4.tcp_timestamps
net.ipv4.tcp_synack_retries
2
net.ipv4.tcp_syn_retries
net.ipv4.tcp_tw_recycle
1
net.ipv4.tcp_tw_reuse
net.ipv4.tcp_mem
94500000
915000000
927000000
net.ipv4.tcp_max_orphans
3276800
net.ipv4.tcp_max_syn_backlog
65535
linux内核的优化
保存退出,执行sysctl-p生效。
Sysctl-p(至少两次建议三次)
服务器资源配置优化
使用脚本执行系统初始化的时候对系统参数进行优化
配置参数优化
tomcat中如何禁止和允许主机或IP地址访问
Host
name="
...>
...
Valve
className="
org.apache.catalina.valves.RemoteHostValve"
allow="
*,"
org.apache.catalina.valves.RemoteAddrValve"
deny="
192.168.1.*"
/Host>
编辑tomcat安装目录下的conf目录下的server.xml文件,
enableLookups:
是否反查域名,默认值为true。
为了提高处理能力,应配置为false
在tomcat配置文件server.xml中的<
配置中,和连接数相关的参数有:
maxThreads="
150"
#表示最多同时处理150个连接线程请求。
这个值表示Tomcat可创建最大的线程数。
默认值200。
minSpareThreads="
25"
表示即使没有人使用也开这么多空线程等待。
maxSpareThreads="
75"
表示如果最多可以空75个线程,例如某时刻有80人访问,之后没有人访问了,则tomcat不会保留80个空线程,而是关闭5个空的。
(一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
默认值50)
acceptCount="
100"
当同时连接的人数达到maxThreads时,还可以接收排队的连接数量,超过这个连接的则直接返回拒绝连接。
(默认值100)
其中和最大连接数相关的参数为maxThreads和acceptCount。
如果要加大并发连接数,应同时加大这两个参数。
webserver允许的最大连接数还受制于操作系统内核参数设置,通常Windows是2000个左右,Linux是1000个左右。
当然这些值都不是越大越好,需要根据实际情况来设定。
可以基于测试的基础上来不断的调优分析。
Tomcat并发参数优化
Connectorport="
protocol="
HTTP/1.1"
maxHttpHeaderSize="
8192"
maxThreads="
1000"
minSpareThreads="
maxSpareThreads="
minProcessors="
maxProcessors="
enableLookups="
compression="
compressionMinSize="
2048"
compressableMimeType="
connectionTimeout="
20000"
URIEncoding="
utf-8"
acceptCount="
redirectPort="
disableUploadTimeout="
true"
bufferSize:
输入流缓冲大小,默认值2048bytes。
compression:
压缩传输,取值on/off/force,默认值off。
connnectionTimeout:
网络连接超时,默认值60000,单位:
毫秒。
配置为0表示永不超时,这样配置有隐患的。
通常可配置为30000毫秒。
maxKeepAliveRequests:
nginx动态的转给tomcat,nginx是不能keepalive的,而tomcat端默认开启了keepalive,会等待keepalive的timeout,默认不设置就是使用connectionTimeout。
所以必须设置tomcat的超时时间,并关闭tomcat的keepalive。
否则会产生大量tomcat的sockettimewait。
vim/tomcat/conf/server.xml
Connectorexecutor="
tomcatThreadPool"
port="
30000"
maxKeepAliveRequests="
1"
bufferSize="
sockedBuffer="
65536"
200"
其中maxKeepAliveRequests="
表示每个连接只响应一次就关闭,这样就不会等待timeout了。
Catalina.shJVM参数优化
linux下编辑tomcat安装目录下的bin目录下的catalina.sh文件,windows下为catalina.bat
Catalina.sh添加如下内容:
CATALINA_OPTS="
$CATALINA_OPTS–Xms
4000M
–Xmx
–Xmn
1000M
-
XX:
SurvivorRatio=4-XX:
+UseConcMarkSweepGC
CMSInitiatingOccupancyFraction=82-DLOCALE=UTF-16LE
-DRAMDISK=/-
DUSE_RAM_DISK=ture
-DRAM_DISK=true"
-Xms为tomcat启动初始内存,一般为服务器开机后可用空闲内存减去100M
-Xmx为tomcat最大占用内存,一般为服务器开机后可用空闲内存减去50M
一般说来,您应该使用物理内存的80%作为堆大小。
Tomcat默认能够使用的内存为128MB,在较大型的应用项目中,这点内存是不够的,需要调大。
说明:
以上两个参数关系到tomcat承受的访问性能,但也要根据服务器实际内存情况设定。
为了提升整个网站的性能,还需要在tomcat前面架设nginx或者apache反向代理服务器,用以提高用户高速访问。
配置完成后可重启Tomcat,通过以下命令进行查看配置是否生效:
首先查看Tomcat
进程号:
Lsof-i:
8080
查看是否配置生效:
Jmap-heapPID
AttachingtoprocessID11867,pleasewait...
Debuggerattachedsuccessfully.
Servercompilerdetected.
JVMversionis24.65-b04
usingthread-localobjectallocation.
ParallelGCwith4thread(s)
HeapConfiguration:
MinHeapFreeRatio=0
MaxHeapFreeRatio=100
MaxHeapSize=4294967296(4096.0MB)
NewSize=1073741824(1024.0MB)
MaxNewSize=1073741824(1024.0MB)
OldSize=5439488(5.1875MB)
NewRatio=2
SurvivorRatio=8
PermSize=268435456(256.0MB)
MaxPermSize=536870912(512.0MB)
G1HeapRegionSize=0(0.0MB)
HeapUsage:
PSYoungGeneration
EdenSpace:
capacity=1034944512(987.0MB)
used=421761112(402.22274017333984MB)
free=613183400(584.7772598266602MB)
40.75205067612359%used
FromSpace:
capacity=19398656(18.5MB)
used=18513920(17.65625MB)
free=884736(0.84375MB)
95.4391891891892%used
ToSpace:
used=0(0.0MB)
free=19398656(18.5MB)
0.0%used
PSOldGeneration
capacity=1073741824(1024.0MB)
used=717480536(684.2427597045898MB)
free=356261288(339.75724029541016MB)
66.82058200240135%used
PSPermGeneration
capacity=268435456(256.0MB)
used=262707240(250.53714752197266MB)
free=5728216(5.462852478027344MB)
97.86607325077057%used
72392internedStringsoccupying7607216bytes.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tomcat 优化