最近在做一个OA项目,做了大半后发现,每次点击几个按钮之后请求就发不过去, 必须重启tomcat之后才能好,然后就将tomcat的内存数,并法数都加大了,但是发现问题好像还是没有什么好转,请问是什么原因,求教

解决方案 »

  1.   

    1.Java虚拟机调优 
    应该选择SUN的JVM,在满足项目需要的前提下,尽量选用版本较高的JVM,一般来说高版本产品在速度和效率上比低版本会有改进。 JDK1.4比JDK1.3性能提高了近10%-20%,JDK1.5比JDK1.4性能提高25%-75%。2.修改tomcat让其支持NIO 
    修改前: 
    <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/> 
    修改成支持NIO的类型,配置如下 : 
    <Connector port="80" protocol="org.apache.coyote.http11.Http11NioProtocol " connectionTimeout="20000" redirectPort="8443" /> 
      

  2.   

    server.xml里面的改成这个参数<Connector 
         className="org.apache.coyote.tomcat4.CoyoteConnector"
    port="8080"
    enableLookups="false"
    redirectPort="8443"
    acceptCount="500"
    minProcessors="500"
    maxProcessors="500"
    maxSpareProcessors="200"
    connectionTimeout="20000"
    useURIValidationHack="false" disableUploadTimeout="true"
    protocol="org.apache.coyote.http11.Http11NioProtocol" />
    这样支持可能到400无压力吧
      

  3.   

    不是tomcat需要优化,是你的代码需要优化吧?才简单操作几次,系统就挂了,系统有点脆弱。必须要找问题所在:
    (1)是否是内存不足,可以看看有没有oom异常,试着用jstat命令看下内存使用情况;
    (2)是否是有线程卡在某个地方了;
    (3)就看看哪个操作慢,隔一段就加个运行时间打印,看看时间耗在哪里。