zoukankan      html  css  js  c++  java
  • Tomcat的优化

    http://blog.csdn.net/xyang81/article/details/51530979

    http://www.netkiller.cn/journal/tomcat.html#compression

    修改Tomcat的内存配置,打开$TOMCAT_HOME/bin/catalina.sh文件(Windows系统是catalina.bat文件),大楖在250行左右,在JAVA_OPTS参数上添加内存参数设置即可。完整的JVM参数设置如下所示:

    JAVA_OPTS="$JAVA_OPTS -server -Xms2048m -Xmx2048m -XX:PermSize=128m -XX:MaxPermSize=256 -Djava.awt.headless=true"
    • 1

    -server参数:表示以服务模式启动,启动速度会稍微慢一点,但性能会高很多。不加这个参数,默认是以客户端模式启动。 
    java.awt.headless=true参数:与图形操作有关,适用于linux系统。如生成验证码,含义是当前使用的是没有安装图安装图形界面的服务器,应用中如果获取系统显示有关参数会抛异常,可通过jmap -heap proccess_id查看设置是否成功。 
    JAVA_OPTS参数设置

    二、并发配置优化

    主要配置Tomcat能处理的请求数,当一个进程的线程数超过500个的话,那么这个进程的运行效率就很低了。表面上看线程越多处理的请求越多,其实过多的线程会占用CPU在不同线程之间切换的资源,导致CPU在每个线程上处理的时间片极期有限,反而会降低服务器的响应性能。

    <Connector port="8080" protocol="org.apache.coyote.http11.Http11AprProtocol"
                   connectionTimeout="20000"
                   redirectPort="8443" 
    
                    maxThreads="500"
                    minSpareThreads="100"
                    maxSpareThreads="200"
                    acceptCount="200"
                    maxIdleTime="30000"
                    enableLookups="false"
                   />
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    Tomcat的并发请求处理数量=maxThreads + acceptCount

    protocol:启用APR连接模式,提高异步IO处理性能。启用配置请参考:《开启Tomcat APR运行模式,优化并发性能》 
    maxThreads:最大能接受的请求数,默认为200 
    minSpareThreads:最少备用线程数,默认初始化,默认为25 
    maxSpareThreads:最多备用线程数,一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程 
    acceptCount:等待处理的请求队列,默认为100,超过队列长度,服务器则拒绝客户端请求,直接返回403 
    maxIdleTime:如果一个线程在30秒以内没有活跃,则终止运行并从线程池中移除。除非线程池数量小于或等于minSpareThreads数量。默认值是1分钟 
    enableLookups:如果为true,调用request.getRemoteHost会执行DNS反查,反向解析IP对应的域名或主机,效率较低,建议设为false。 
    更多参数设置,请参考Tomcat官方文档:http://tomcat.apache.org/tomcat-8.0-doc/config/http.html

    三、管理员配置

    Tomcat默认没有配置管理员帐户的权限,如果要查看app的部署状态、通过管理界面deploy或undeploy,则需要在tomcat-user.xml中配置具有管理权限登录的用户。

    <role rolename="tomcat"/>
    <role rolename="manager-gui"/>
    <role rolename="manager-status"/>
    <role rolename="manager-script"/>
    <role rolename="manager-jmx"/>
    <user username="tomcat" password="tomcat" roles="tomcat,manager-gui,manager-status,manager-script,manag
  • 相关阅读:
    C++ 二叉树的实现
    T-SQL---事务操作
    CSS3---last-of-type选择器
    CSS3---nth-of-type(n)选择器
    CSS3---first-of-type选择器
    CSS3---结构性伪类选择器—nth-last-child(n)
    CSS3---结构性伪类选择器—nth-child(n)
    CSS3---结构性伪类选择器—last-child
    CSS3---结构性伪类选择器—first-child
    CSS3---结构性伪类选择器—target
  • 原文地址:https://www.cnblogs.com/fyy-hhzzj/p/8430612.html
Copyright © 2011-2022 走看看