【问题标题】:Why hikari connection pool uses only 1 or 2 connections when receiving simultaeous multiple request?为什么 hikari 连接池在接收同时多个请求时只使用 1 或 2 个连接?
【发布时间】:2019-11-15 00:15:54
【问题描述】:

Hikari Pool 看起来在池中的许多连接中只使用 1 或 2 个连接。不知道为什么?

我们的服务在启动我的服务时使用 hikari 连接池。 最大池大小 50 连接超时 3000

我从 jmeter 向我们的服务发送了 100 个请求并监控 mysql 进程列表。 mysql进程是100个进程。 但只使用了 2 个连接。这个别人在睡觉。 为什么连接池只使用 2 ? Hikari 池中有配置吗?

【问题讨论】:

    标签: spring-boot connection-pooling hikaricp spring-mybatis


    【解决方案1】:

    要么您在 MySQL 中测量错误,要么应用程序不需要更多连接,您可以减小池大小。如果您不确定是否应该检查您的 JMeter 测试用例,只需针对单个并发用户对其进行调试,以证明它在使用 100 个并发用户之前完成了您的预期。

    使用像 HikariCP 这样的池,您的应用程序代码会在每次调用 DataSource.getConnection() 时获得物理 Connection 对象的代理 Connection 对象。如果您的应用程序具有短暂的事务,例如快速SELECT ... FROM ... 语句的新事务物理连接利用率可能较低。

    【讨论】:

    • 我认为你是对的。但是,当同时触发多个请求时使用 jmeters,响应会变得越来越慢,因为实际处理是使用两个连接完成的。不知道是Hicari CP的问题还是其他的问题。
    • 你必须调试应用程序才能理解这一点,没有别的办法。
    猜你喜欢
    • 1970-01-01
    • 2021-10-05
    • 1970-01-01
    • 1970-01-01
    • 2022-07-24
    • 2023-02-10
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    相关资源
    最近更新 更多