zoukankan      html  css  js  c++  java
  • Tomcat崩溃,无法访问

    Tomcat 在Linux上,使用Hibernate,MySql。网站运行正常,可是过一天或两天,网站就连接不上,有的时候网站运行几个星期都没有事,访问量并不 大啊。很郁闷,不知道是那个地方出了问题。

    Tomcat设置最大连接数 1000,MySql设置最大连接数500,CATALINA_OPTS配置512M 1024M。

    这些应该都没有问题,用Top查看cpu情况,也没有异常。

    通过http://loclahost/manager/status 发现tomcat的当前连接数并没有超过最大连接数,但是发现几个连接一直处于连接状态,时间比较长。在网站上进行访问时,发现只要不使用数据库,单纯访 问个页面没有问题,难道是数据连接有问题?

    这些连接的进程应该是等待的进程 吧。那等待什么呢?我索性模拟 200个并发用户访问网站试试。发现问题肯定是出在数据库读取数据上,由于数据库处理请求有一定的数量控制,请求太多的话肯定要是要排队的。要是能及时处 理掉这些请求的话,那应该就能够解决问题。

    想来想去,是不是c3p0设置有问题,检查,我把hibernate.c3p0.timeout设置成了1200,改成60试试,果然,问题解决 了。

    最近有发现 问题,原来主要的问题可能是MySql,hibernate中配置mysql连接池可能是100,由于mysql自动释放关闭连接池的时间是8个小时,如 果hibernate中mysql连接池设置的数值多大,将会有很多连接池是sleep状态,由于开的进程过多,将严重影响性能。所以可以将my.cnf 中的wait_timeout=28800值改小一些。

  • 相关阅读:
    jsp 头像上传显示部分代码实现
    Spring Boot
    php好书推荐
    提升PHP编程效率的20个要素
    mysql怎么查询一条记录的前一条记录和后一条记录
    jquery load 和 iframe 比较
    setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式
    每日时间计划表
    Java获取某年第一天和最后一天
    s:if 判断
  • 原文地址:https://www.cnblogs.com/liuzhengdao/p/1881786.html
Copyright © 2011-2022 走看看