前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ASP.NET Core MySql To many connections 异常排查解决

ASP.NET Core MySql To many connections 异常排查解决

作者头像
晓晨
发布2020-05-27 10:16:52
8050
发布2020-05-27 10:16:52
举报
文章被收录于专栏:晓晨的专栏晓晨的专栏

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

环境: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数据库连接信息提供给了测试工程师来编写测试脚本,然后过去排查,发现果然是测试工程师写的脚本问题,至此引发问题的原因找到并解决。

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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-26 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一.异常描述
  • 二.分析
  • 三.解决
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档