V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
? MySQL 5.5 Community Server
? MySQL 5.6 Community Server
? Percona Configuration Wizard
? XtraBackup 搭建主从复制
Great Sites on MySQL
? Percona
? MySQL Performance Blog
? Severalnines
推荐管理工具
? Sequel Pro
? phpMyAdmin
推荐书目
? MySQL Cookbook
MySQL 相关项目
? MariaDB
? Drizzle
参考文档
? http://mysql-python.sourceforge.net/MySQLdb.html
yuyang1992test
V2EX  ?  MySQL

[mysql] 最近老是遇到连接数打满的情况,求助

  •  
  •   yuyang1992test · 33 天前 · 1465 次点击
    这是一个创建于 33 天前的主题,其中的信息可能已经有所发展或是发生改变。

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

    默认的最大连接数是 151 ,改到了 1000 ,暂时解决。 我排查代码,用的 gorm,是有设置连接数的

    	db, err := gorm.Open("mysql", c.DSN)
    	if err != nil || db == nil {
    		panic(err)
    	}
    	db.DB().SetMaxIdleConns(c.MaxIdle)
    	db.DB().SetMaxOpenConns(c.MaxConn)
    

    但是执行 select * from information_schema.PROCESSLIST 会看到很多 command 是 sleep 我排查代码应该是没有未提交的事务 我自己起终端测试,在提交了事务后还是会有 sleep, 只有吧客户端关了才可以 是和 mysql 的 wait_timout 有关系吗?我看这个默认 8 小时,一般线上这个值是多少?

    5 条回复  ?  2024-04-02 17:45:03 +08:00
    idontnowhat2say
        1
    idontnowhat2say  
       33 天前
    感觉是你用完了连接没有放回池子。

    一般 wait_timeout 要看 连接池有没有 keepalived 的机制,没有的话就会用 linux 自己的 tcp 连接 keepalived 参数。wait_timeout 要确保至少大于长链接心跳间隔。
    yuyang1992test
        2
    yuyang1992test  
    OP
       33 天前
    @idontnowhat2say 我没看到 gorm 需要手动放回池子的操作,我设置 wait_timeou=600 秒看起来是解决了,现在 show processlist 不会有 sleep 超过 600 秒的了
    davionnini
        3
    davionnini  
       33 天前
    1.是不是有重复创建链接的场景
    2.是不是事务没有 commit
    3.你可以 show processlist 查看 ip 看看来源是那个机器,在定位一下具体哪一行代码
    4357
        4
    4357  
       33 天前
    gorm 有连接池,且不需要手动释放。同一个连接给多次查询复用
    默认的 8 小时是连接释放的时间
    XuHuan1025
        5
    XuHuan1025  
       33 天前
    因为你用了 jetbrain
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1369 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:03 · PVG 01:03 · LAX 10:03 · JFK 13:03
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com