我正在使用myBatis POOLED datasource。以下是连接池配置 -
poolMaximumIdleConnections: 5
poolMaximumActiveConnections: 20
我使用102, 742 request (160 TPS)
点击了该服务,并通过启用mybatis日志获得了以下指标 -
No of Request: 102,742
No of Created connection: 8,841
No of Checked out connection: 93,901
No of Returned connection: 93,911
No of Closed connection: 8,831
No of Claimed overdue connection: 0
No of bad connection: 0
答案 0 :(得分:1)
正如您在源代码中看到的那样,"签出"连接意味着从空闲池中获取它,如果有空,请参见第375行。
如果没有可用的,代码会尝试"创建"一个(见第381行)
因此,签出意味着"重用",这解释了"签出"号。
当然,没有人永远活着 - 即使是旧的联系也不会。因此,较旧的连接通常在空闲一段时间后被杀死,这意味着空闲池会缩小,如果需要,则需要新的连接。这导致"创建"连接。
不,如果最终,10人还活着,这可能是完全正常的。正如您所看到的,10个连接甚至尚未关闭,这通常意味着仍然使用它们。或者它可能是你的最终错误,很难说。