Tomcat大家都知道吧,这次我们要讲解的是tomcat的性能优化,看完本篇文章后,相信你的tomcat一定会更加高效、快捷的。
一、 启动时的占用内存优化;
调优中,Windows下是在catalina.bat中,Linux中是在catalina.sh中设置。例如:-XX:PermSize=256M
-XX:MaxPermSize=512M -Xms512m -Xmx1024m
其中,
Xms JVM初始堆大小
-XmxJVM堆的最大值,实际参数根据服务器配置或项目具体设置。
-XX:PermSize= JVM初始分配的非堆内存
-XX:MaxPermSize= JVM最大允许分配的非堆内存,按需分配
二、tomcat线程池优化
配置文件server.xml中有:
< minSpareThreads = "100" maxThreads = "600" protocol = "HTTP/1.1" port = "80" > maxSpareThreads = "500" acceptCount = "700" connectionTimeout = "20000" / >
其中, maxThreads="x"表示最多同时处理x个连接; minSpareThreads="x"表示初始化x个连接; maxSpareThreads="x"表示最多可以有x个连接,一旦超过x个,则会关闭不再需要的线程; acceptCount="x"当同时连接的人数到达maxThreads时还可以排队,队列大小为x,超过x就不处理。
三、HTTP压缩优化;
HTTP压缩可以极大的提高网站访问速度,相对于普通浏览过程HTML、CSS、JS、Text等可以提高40%左右的流量。它的工作原理是在客户端请求网页后,从服务端将网页文件压缩,再下载到客户端,再由客户端浏览器负责解压缩并浏览。相对于普通的浏览过程HTML、CSS、JS、Text等,可以节省40%的流量,最最重要的是对于动态生成的如CGI、php、jsp、asp、servlet等输出的网页也可以进行压缩,而且压缩效率十分厉害。
参数说明: compression 打开压缩功能 compressionMinSize 启用压缩的输出内容大小,这里默认是2kb compressionableMimeType 压缩类型 connectionTimeout 建立客户连接超时时间,如果为-1,表示不限制建立客户连接的时间。
Tomcat配置示例:
< port = "9027" > protocol = "HTTP/1.1" maxHttpHeaderSize = "8192" maxThreads = "1000" minSpareThreads = "100" maxSpareThreads = "1000" minProcessors = "100" maxProcessors = "1000" enableLookups = "false" compression = "on" compressionMinSize = "2048" compressableMimeType = "text/html,text/xml,text/javascript,text/css,text/plain" connectionTimeout = "20000" URIEncoding = "utf-8" acceptCount = "1000" redirectPort = "8443" disableUploadTimeout = "true" / >
以上就是今天的所有内容了,想了解更多有关java架构师的相关知识的话,请一直支持我们的网站吧。