mysql show processlist info,mysql show processlist列出了许多进程睡眠,而info = null?

I'm injecting a stress test into my web app that connects to a mysql server and I'm monitoring the show processlist of mysql.

When the load is high (high swap i/o) I get many processes like that:

| 97535 | db| localhost | userA | Sleep | 515 | | NULL

| 97536 | db| localhost | userA | Sleep | 516 | | NULL

| 97786 | db| localhost | userA | Sleep | 343 | | NULL

| 97889 | db| localhost | userA | Sleep | 310 | | NULL

But I can't understand why are they still there and are not killed? This eventually leads to my app using all max_connections and stop processing incoming requests...

Any idea what are those processes and what are they doing there :) ?

解决方案

Those are idle connections being held by a client. You should make sure that whatever client library you are using (JDBC, ...) is configured to not keep unused connections open so long, or that your # clients * max # of connections isn't too big.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值