最近有在做一个网站,用的是struts,但是没有用formbean和标签,在action中处理数据库查询部分,然后在jsp中来完成页面的显示功能。其实和jsp+beans好像也差不多。现在的问题是只要用户稍微多一点,大概40-50个人同时在线的样子就会特别的慢,10多秒甚至几分钟都有可能才能够打开一个页面。目前用的是tomcat5.5.9+mysql。因为所有的数据库操作都是在action中做处理,我有打印action的处理时间,基本上比较稳定,在16-47ms之间,因为有用数据库连接池,所以感觉应该数据库操作部分不存在问题。但是我记录的整个jsp执行的时间就通常都要10秒左右,甚至100多秒都经常出现。服务器硬件和带宽应该都不是问题。占用的内存和CPU都OK,JVM我也有调整过,基本上应该不存在问题。所以很纳闷为什么页面处理为何会这么不稳定,能够想到的都做过了尝试,但是都不见效。哪位大侠能够指点一下小弟,万分感谢。我在tomcat的后台有看到
Max threads: 200 Min spare threads: 25 Max spare threads: 100 Current thread count: 139 Current thread busy: 94好像Current thread busy一直都很大。

解决方案 »

  1.   

    在数据库操作完以后及时地把连接返回给连接池
      

  2.   

    如果用的是连接池,
    那么就要仔细检查你的程序,看对数据库操作完了之后,是否对连接进行了释放。
    这个很重要,如果没有释放,那么其他用户(大于连接池容量)进行数据库操作时,还是得进行连接,而不是从池中取。这样会影响速度。
      

  3.   

    有关数据库连接释放的问题应该已经特别注意,而且操作数据库部分的消耗时间根据记录来看,都比较稳定。所以才比较迷茫。