我做了一个jsp项目,主页有动态数据,少人浏览的时候没问题,访问的人数多的时候,问题就出来了,主页还没加载到20%,IE浏览器就停住了,浏览器一片空白,本地测试时,一上主页,数据库连接数为2,慢慢的刷新它还是2,但是如果很快的刷新的话,连接数会增多,我用的是tomcat连接池,用jtds连接,我仔细检查过了,每一个connection都关闭了,请问有哪位遇到过类似的情况吗??很急,很重要,谢谢...

解决方案 »

  1.   

    没遇到过类似的问题    用jtds连接是什么意思?
    你做项目的时候有没有考虑同步与异步的问题
      

  2.   

    jtds是jdbc的一种连接方式吧...同步与异步??能够说的清楚点吗?
      

  3.   

    没遇到这种情况
    你的tomcat是怎么设置的?连接数是多少?
    检查一下应用的日志文件或tomcat的日志文件看看有没有什么异常信息
      

  4.   

    白页的话,前台也有可能,用HTTPSNIFFER或者FIREBUG看一下,后台是不是返回了,CSS太卡,也有可能导致IE无法RENDER。如果确定不是前台的问题,
    数据库连接只有两个,所以也有可能请求都锁在了数据库连接池上,木有用过jtds,但有些连接池,会生成connection的代理,关闭也并是真的关闭了数据库连接。
    这个问题,只能一点点排除
      

  5.   

    到tomcat配置文件里查找一下最大连接数。
    不过我没用过jtds。都是用的框架。要不楼主试一下hibernate?
      

  6.   

    我遇到过这种问题呀,的确很愁人,我当时每测试一次就要重起一下tomact,不然联结数超过2服务器就会报错了。应该是与数据库的联结在用完的时候没有断开,关闭一下看看。
      

  7.   

    jtds没用过应该是与数据库的联结在用完的时候没有断开
      

  8.   

    给点思路和建议:
    1. 在Firefox或者遨游上试试 -->确认不是浏览器导致的问题.
    2. 打开其他的页面(没有大量数据需要加载的) -->确认是否与数据库取值有关系
      

  9.   

    最好把你的tomcat连接池配置发出来看看
      

  10.   

    我发现好像是session数过多的问题,我在tomcat后台查看到我项目对应的session数目,当有120个用户访问页面的时候,session数有600多个,这时候页面就再也访问不了了,空白了,请问有人遇到过这样的情况吗??
      

  11.   

    页面空白 应该还是跟数据库有关系 跟 Session的关系不大
      

  12.   

    数据库连接没释放吧 慢慢刷新时有java的垃圾收集器帮忙释放 快速刷新没来得及
      

  13.   

    tomcat没有什么错误信息输出吗?
    网页空白的话首先是你后台没有给前台传送数据导致,至于是不是数据库的问题 你需要排除一下,先别定位到数据库如果没有确切的根据的话,从头一点点理。我觉得还有可能是代码里面的问题。
      

  14.   

    应该是tomcat连接池的 问题
      

  15.   

    JSP学习交流群:93722377,欢迎大家加入一起学习,一起进步!
      

  16.   

    下面是我的tomcat连接池
    <Context>    <!-- Default set of monitored resources -->
        <WatchedResource>WEB-INF/web.xml</WatchedResource>

        <!-- Uncomment this to disable session persistence across Tomcat restarts -->
        <!--
        <Manager pathname="" />
        -->
        
         <Resource
           name="jdbc/hebin" 
           auth="Container" 
           type="javax.sql.DataSource" 
           maxActive="100" 
           maxIdle="30" 
           maxWait="10000" 
           username="sa" 
           password="1" 
           driverClassName="net.sourceforge.jtds.jdbc.Driver" 
           url="jdbc:jtds:sqlserver://192.168.0.205:1433/mmcs"/> </Context>
      

  17.   

    tomcate和DB连接都设置超时。如何设置防刷新已经是long long ago的事情了,一直用框架,本身就有高速缓存数据,一秒刷上5000下也没问题。你要是不方便可以设置请求时间长一些,加上请求延时1.5s,这样就避免了。
      

  18.   

    原因是你每次都建立了一个session
    所以你要被卡死不能够无故建立session
      

  19.   

    楼上的兄弟都不失为考虑的因素和优化方案。 
    个人提出个可能: 
    JDK(son公司)版本不稳定,也会导致系统变慢,甚至会内存溢出问题。数据库连接数有增无减,即使在连接池中加入了释放连接也没用。原因是JDK内部出现异常,虽然程序中释放了内存和连接,但Tomcat服务器中却没有,而且自动回收速度较慢,当访问人数加大时,卡的更是厉害。 
    建议: 
    1. 检查JDK版本是否正确和一致。 
    2. 重新安装tomcat。 
    3. 重新安装JDK,推荐下载IBM的JDK(与现在用的同一版本)。 
    再监控服务器试试。 
    我们公司,之前就出现过这个问题,硬件升级、治标不治本。最后锁定在JDK版本上。 个人签名:http://hanguangmen.com 旅游信息化建设。
      

  20.   

    请问tomcat里面的日志manager,输出的内容代表什么呢? 我的项目在manager日志文件下输出了许多形如下面的代码: 
    2009-11-7 22:14:57 org.apache.catalina.core.ApplicationContext log 
    信息: HTMLManager: sessions: Session information for web application at '/twsztz' 
    2009-11-7 22:14:57 org.apache.catalina.core.ApplicationContext log 
    信息: HTMLManager: list: Listing contexts for virtual host 'localhost'
      

  21.   

    换jdbc试试 先检查下是不是数据源出问题了
      

  22.   

    主页静态化,因为列表太多,如果每个列表打开一个Connection的话,人数一多connection pool就会消耗完
      

  23.   

    技术有限,不知道jtds连接,也没听过,唉……爱莫能助