zoukankan      html  css  js  c++  java
  • ASP.NET Core MySql To many connections 异常排查解决

    本篇文章比较偏笔记形式,记录了今天排查解决的一个异常,解决过程中没有保存记录图片,所以未配图

    环境:ASP.NET Core 3.1

    Mysql 驱动:mysqlconnector

    一.异常描述

    今天在测试环境,测试工程师反应很多接口500错误,异常信息是 “To many connections”,因为是微服务架构,多个服务出现这个情况 ,并且有同事的navicat也连接不到MySql。

    二.分析

    根据此情况分析排除了代码原因(这块我写的,所以结合现有情况做了排除)造成连接数爆掉,可能是达到数据库的连接数限制。

    show variables like 'max_connections'; 查看最大连接数:100

    show processlist; 统计目标数据库连接数达到了 100 满了。

    根据数据库过滤使用此SQL比较方便:SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST where DB='<dbname>'

    至此问题找到。

    三.解决

    当务之急是先行恢复数据库的使用,所以临时设置了连接数限制到1000(永久设置需要改mysql配置文件)

    SET GLOBAL max_connections = 1000;

    执行后,服务恢复正常。

    恢复后通过 show processlist; 观察连接数,几乎稳定在 10x,且发现有来自一个局域网的IP长时间占用了46个连接数,遂排查开发人员电脑IP,未发现匹配的。

    根据IP统计连接数 SELECT * FROM INFORMATION_SCHEMA.PROCESSLIST where HOST like '192.168.2.2%'

    后问同事,才知晓MySql数据库连接信息提供给了测试工程师来编写测试脚本,然后过去排查,发现果然是测试工程师写的脚本问题,至此引发问题的原因找到并解决。

    由于是本地测试环境,所以并没有对数据库的连接数限制做设置,用的默认值。

  • 相关阅读:
    基于Linux平台的自动化运维Devops-----之自动化系统部署
    Centos7.1 mini版安装后安装图形界面教程
    python包管理之Pip安装及使用-1
    maven中jar、war、pom的区别
    黄焖鸡
    django-celery配置
    文档编写注意事项
    java时间处理,获取当前时间的小时,天,本周周几,本周周一的日期,本月一号的日期
    flink连接hbase方法及遇到的问题
    pycharm远程debug(内网环境,跳板机)
  • 原文地址:https://www.cnblogs.com/stulzq/p/12969449.html
Copyright © 2011-2022 走看看