下面给出的是tomcat的优化建议,如果不同意见请留言。
上配置:
tomcat jmx配置访问:
修改catalina.sh CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostnqme=192.168.85.88" 设置jvm堆内存大小:
修改catalina.sh 下面是1G内存环境下的jvm java的参数设置: JAVA_OPTS="-server -Xms800m -Xmx800m -XX:PermSize=64M -XX:MaxNewSize=256m -XX:MaxPermSize=128m -Djava.awt.headless=true " JAVA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX: NewSize=192m -XX:MaxNewSize=384m" CATALINA_OPTS="-server -Xms768m -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=256m -XX:NewSize=192m -XX:MaxNewSize=384m" -Xms40m //初始内存 -Xmx256m //最大内存 -Xmn16m //最小内存 -XX:PermSize=128M //非堆内存 -XX:MaxPermSize=256M tomcat线程池配置:
修改server.xml
相对来说下面给出的比较全。 <Connector port="8080" protocol="HTTP/1.1" URIEncoding="UTF-8" enableLookups="false" disableUploadTimeout="true" connectionTimeout="20000" redirectPort="8443" minProcessors="5" maxProcessors="1000" maxThreads="600" minSpareThreads="100" maxSpareThreads="500" acceptCount="700" compression="on" compressionMinSize="2048" compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain" /> maxThreads //最大线程数 minSpareThreads //初始化时创建的线程数。 maxSpareThreads //一旦创建的线程超过这个值,tomcat就会关闭不再需要的socket线程。 acceptCount //指定当所有可以使用的处理请求的县城都被使用时, 可以放到处理队列中的请求数,超过这个数的请求将不予处理。 tomcat 关闭DNS查询
修改server.xml enableLookups="false" 设置tomcat压缩,
修改server.xml compression="on" compressionMinSize="2048" noCompressionUserAgents="gozilla, compressableMimeType="text/html,text/xml,text/javascript,text/css,text/plain"