zoukankan      html  css  js  c++  java
  • 生产环境报表未生成原因排查

    从log日志中抓取错误信息,如下:

    The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

    月初生成的报表比较多,所以会出现较大数据库访问量,大致是数据库连接缓冲池的问题。

    解决办法:

    (1)使用JDBC URL中使用autoReconnect属性,url添加

    &autoReconnect=true&failOverReadOnly=false
    例如:
    String URL = "jdbc:mysql://localhost:3306/devops&autoReconnect=true&failOverReadOnly=false";

    (2) 修改MySQL的参数. /etc/my.cnf 添加

    [mysqld]
    wait_timeout=31536000
    interactive_timeout=31536000

    (3)重启mysql

    service mysql restart

    原因分析:

    (1)大量数据访问情况下,mysql connection连接有可能失效

    (2)长时间不妨问,connection会失效

    下边这个是从别的地方摘抄过来的,大家可以借鉴一下

    可以通过配置,让缓冲池去测试连接是否被回收,如果被回收,则不继续使用,以dbcp为例:

    #SQL查询,用来验证从连接池取出的连接

    dbcp.validationQuery=SELECT 1

    #指明连接是否被空闲连接回收器(如果有)进行检验,如果检测失败,则连接将被从池中去除

    dbcp.testWhileIdle=true

    #在空闲连接回收器线程运行期间休眠的时间值,以毫秒为单位,一般比minEvictableIdleTimeMillis小

    dbcp.timeBetweenEvictionRunsMillis=300000

    #在每次空闲连接回收器线程(如果有)运行时检查的连接数量,最好和maxActive一致

    dbcp.numTestsPerEvictionRun=50

    #连接池中连接,在时间段内一直空闲,被逐出连接池的时间(1000*60*60),以毫秒为单位

    dbcp.minEvictableIdleTimeMillis=3600000

    生产环境报表未生成原因排查
  • 相关阅读:
    Beanshell 创建全局变量(跨线程组)
    Beanshell 将外部文件导入到jmeter中使用
    session 、cookie、token的区别及联系
    Fiddler Everywhere 结合了postman和fiddler的抓包神器
    jmeter+ant+jenkins接口自动化测试框架
    虚拟机 VMware Workstation Pro 15.5.0 及永久激活密钥
    Mysql--编译安装5.6版本
    Mysql--调优
    Nginx--调优
    ulimit
  • 原文地址:https://www.cnblogs.com/mengtaoadmin/p/11184031.html
Copyright © 2011-2022 走看看