Tomcat 7.0.x性能优化

        Tomcat 服务器是一个免费的开放源代码的Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是不少的场合下被广泛使用,是开发和调试JSP 程序的首选。java

       是目前的开发焦点。它在汲取了Tomcat 6.0.x优势的基础上,实现了对于Servlet 3.0、JSP 2.2和EL 2.2等特性的支持。除此之外的改进列表以下:linux

        · Web应用内存溢出侦测和预防web

        · 加强了管理程序和服务器管理程序的安全性shell

        · 通常 CSRF保护tomcat

        · 支持web应用中的外部内容的直接引用安全

        · 重构 (connectors, lifecycle)及不少核心代码的全面梳理服务器

1. 配置方法并发

  • 启动内存参数的配置app

        tomcat/bin/catalina.bat 若是是linux 就是 catalina.shwebapp

        在rem 的后面增长以下参数

        set JAVA_OPTS= -Xms256m -Xmx256m -XX:MaxPermSize=64m

  • 修改Tomcat的JDK目录

        打开tomcat/bin/catalina.bat

        在最后一个rem后面增长

        set JAVA_HOME=C:\Program Files\Java\jdk1.8.0

  • 增长虚拟目录

        /tomcat/conf/server.xml

        第一行是之前默认存在的,第二行是新增的

        <Context path="" docBase="ROOT" debug="0" reloadable="true"></Context>

        <Context path="/jsp/a" reloadable="true" docBase="E:\workplace\www.java2000. net\WebContent" />

        使用默认配置的tomcat,另外虚拟目录也可这设置:

        <Context path="/test" docBase="webContent" reloadable="true"/>

        由于默认状况下,tomcat启动过程当中配置虚拟目录的时候会从 webapps目录下查找webContent应用。

        这样配置好了,即便之后从一台服务器移植到另外一台服务器,不作任何修改也能运行起来。

  • GET方式URL乱码问题解决

        打开 tomcat/conf/server.xml

        查找下面这部分,在最后增长一段代码就能够了。

        <Connector port="80" maxHttpHeaderSize="8192"

        .................

        URIEncoding="UTF-8" useBodyEncodingForURI="true"

        ...............

        />

        其中的UTF-8 请根据你的须要本身修改,好比GBK

  • 虚拟主机配置文件

        tomcat/conf/server.xml

        <!-- 默认的主机 -->

        <Host name="localhost" appBase="webapps"

        unpackWARs="true" autoDeploy="true"

        xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="ROOT" debug="0" reloadable="true"></Context>

        ...

        </host>

        <!-- 如下是新增的虚拟主机 -->

        <Host name="" appBase="webapps"

        unpackWARs="true" autoDeploy="true"

        xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="d:\" debug="0" reloadable="true"></Context>

        <!-- 虚拟目录 -->

        <Context path="/count" docBase="d:\counter.java2000. net" debug="0" reloadable="true"></Context>

        </Host>

        <Host name="java2000. net" appBase="webapps"

        unpackWARs="true" autoDeploy="true"

        xmlValidation="false" xmlNamespaceAware="false">

        <Context path="" docBase="d:\ " debug="0" reloadable="true"></Context>

        <Context path="/count" docBase="d:\counter.java2000. net" debug="0" reloadable="true"></Context>

        </Host>

2. Tomcat优化

    思路:

        首先要掌握未优化以前,服务器性能现状; 
        设置虚拟机内存,性能提高明显; 
        设置tomcat运行模式略微有提升; 
        设置tomcat线程池,通常设置的比较大以避免成为瓶颈; 
        逐步递增的性能调试计划,从较少请求数,较低并发开始逐步递增。直到性能明显降低位置; 
        以吞吐率、并发、响应时间等为关键性能指标; 
        区分裸奔性能和分布式调用的性能; 
        尽可能覆盖所有代码运行,服务启动要为性能测试作特殊处理(callId,timeStamp); 
        作AB压力测试,能够编写个shell夜间运行并将结果重定向;

实现:

  (1)屏蔽AJP


  (2)启用NIO或者APR模式运行 


 (3)调整nio的线程池


 (4)调整内存


 (5)启用APR


 (6)调整线程池

相关文章
相关标签/搜索