参考了网上的一些优化参数,可是在启动中发现 有2个报错: 11-Feb-2018 15:57:23.293 警告 [main] org.apache.catalina.startup.SetAllPropertiesRule.begin [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'maxSpareThreads' to '200' did not find a matching property. 11-Feb-2018 15:57:23.343 警告 [main] org.apache.catalina.startup.SetAllPropertiesRule.begin [SetAllPropertiesRule]{Server/Service/Connector} Setting property 'compressableMimeType' to 'text/html,text/xml,application/javascript,text/css,text/plain' did not find a matching property. 参考官方文档 http://tomcat.apache.org/tomcat-9.0-doc/config/http.html maxSpareThread 这个参数已经找不到了。 compressableMimeTyp 已更换名字为 compressibleMimeType
最后修改以下: <Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol" enableLookups="false" maxThreads="1000" minSpareThreads="100" acceptCount="900" disableUploadTimeout="true" connectionTimeout="20000" URIEncoding="UTF-8" redirectPort="8443" compression="on" compressionMinSize="1024" useSendfile="false" noCompressionUserAgents="gozilla, traviata" compressibleMimeType="text/html,text/xml,text/plain,text/css,text/javascript,application/javascript " /> 参数说明: org.apache.coyote.http11.Http11NioProtocol:调整工做模式为Nio maxThreads:最大线程数,默认150。增大值避免队列请求过多,致使响应缓慢。 minSpareThreads:最小空闲线程数。 acceptCount:当处理请求超过此值时,将后来请求放到队列中等待。 disableUploadTimeout:禁用上传超时时间 connectionTimeout:链接超时,单位毫秒,0表明不限制 URIEncoding:URI地址编码使用UTF-8 enableLookups:关闭dns解析,提升响应时间 compression:启用压缩功能 compressionMinSize:最小压缩大小,单位Byte compressibleMimeType :压缩的文件类型 实际测试,可正常运行。无报错 ©著做权归做者全部:来自51CTO博客做者295631788的原创做品,如需转载,请注明出处,不然将追究法律责任
Alan@wu Tomcat 内存与优化篇 Tomcat 内存与优化 1、Tomcat 运行环境介绍 1.Tomcat 自己没法直接在计算机上运行,须要依赖硬件基础上的操做系统和Java虚拟机; 2.Java 程序启动时JVM都会分配一个初始内存和最大内存给这个应用; 3.当应用程序用到最大内存的时刻,就会触发JVM作垃圾回收(GC)动做,释放被占用的内存; 4.所以想要调整Java程序启动时的初始内存和最大内存,须要向JVM申请; 5.若是初始内存大小设置太小,且此时初始化的应用对象过多,虚拟机就必须重复的加载内存来知足使用; 6.基于以上缘由,最好把初始内存大小(Xms)和最大内存(Xmx)设置成同样; 7.JVM上全部的对象都在"""堆区(heap)"""上分配内存(也有在"栈"上分配内存的) 8.堆区的大小是能够动态扩展的,但"""堆"""的大小受限于系统使用的物理内存,当应用程序须要的内存超出"堆"的最大值时,JVM虚拟机就会抛出内存溢出异常,而且致使应用程序奔溃; 9.基于以上缘由,建议“堆”的大小设置成物理内存的80%
Linux下的tomcat: 须要找到catalina.sh,在 cygwin=false 的上面一行加上: 1 JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m" Windows下解压版的tomcat 要经过startup.bat启动tomcat才能加载配置 要添加在tomcat 的bin 下catalina.bat 里 rem Guess CATALINA_HOME if not defined set CURRENT_DIR=%cd%后面添加,红色的为新添加的. 1 set JAVA_OPTS=-Xms256m -Xmx512m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m -Djava.awt.headless=true 状况二:安装版的Tomcat ,没有catalina.bat 安装版的Tomcat下没有catalina.bat 若是tomcat 6 注册成了windows服务,或者windows2003下用tomcat的安装版, 在/bin/tomcat6w.exe里修改就能够了 。 若是tomcat 5, windows服务执行的是bin\tomcat.exe.他读取注册表中的值,而不是catalina.bat的设置. 修改注册表HKEY_LOCAL_MACHINE\SOFTWARE\Apache Software Foundation\Tomcat Service Manager\Tomcat5\Parameters\JavaOptions 原值为 -Dcatalina.home="C:\ApacheGroup\Tomcat 5.0" -Djava.endorsed.dirs="C:\ApacheGroup\Tomcat 5.0\common\endorsed" -Xrs 加入 -Xms300m -Xmx350m 重起tomcat服务,设置生效