开发者社区> 问答> 正文

在并发条件下 大量 连接sleep 提示 Could not open JDBC Connectio

Could not get JDBC Connection; nested exception is com.alibaba.druid.pool.GetConnectionTimeoutException: wait millis 8000, active 300, maxActive 300, creating 0 用的是druid + mybatis 在并发条件下 数据库报错 查询数据库 300个连接有200多sleep的 但是还是会拿新的连接 不知道 这个应该怎么配置

原提问者GitHub用户yihuiyu

展开
收起
山海行 2023-07-05 18:13:12 272 0
4 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    看起来是在并发条件下使用 JDBC 连接池时出现了连接池耗尽的异常。这种情况通常是由于连接池中的连接被过度消耗,导致连接不足而引发的异常。

    为了解决这个问题,可以考虑以下几个方面:

    调整连接池的大小。如果连接池中的连接数不足,可以考虑增加连接池的大小,以满足更高的并发访问需求。请注意,增加连接池的大小也会增加系统的资源消耗,需要谨慎操作。

    调整连接的超时时间。如果连接池中的连接被占用时间过长,可以考虑缩短连接的超时时间,以便及时回收连接并释放资源。请注意,缩短连接的超时时间可能会增加连接池的负担,需要根据实际情况进行调整。

    检查数据库连接的配置。如果数据库连接的配置存在问题,例如连接池中的连接数过少、连接超时时间过长等,都可能会导致连接池耗尽。可以检查连接池配置和数据库配置,确保其符合实际需求。

    优化代码逻辑。如果代码逻辑存在问题,例如频繁创建和关闭连接、长时间占用连接等,都可能会导致连接池耗尽。可以优化代码逻辑,减少对连接池的消耗,提高连接池的利用率。

    2023-07-30 20:00:12
    赞同 展开评论 打赏
  • 根据您提供的信息,您在使用Druid连接数据库时遇到了问题。该问题可能是由于您在Druid的配置文件中没有正确配置数据库连接驱动导致的。具体来说,您在Druid的配置文件中使用了错误的驱动名称,导致Druid无法正确连接数据库。
    为了解决这个问题,您可以考虑在Druid的配置文件中正确配置数据库连接驱动。

    2023-07-09 10:35:05
    赞同 展开评论 打赏
  • 问题已解决 发现是自己写的队列满了之后再请求就会报上面的错,最后加大了队列

    原回答者GitHub用户yihuiyu

    2023-07-06 10:48:24
    赞同 展开评论 打赏
  • 你遇到的问题是无法获取 JDBC 连接,报错信息中显示了 com.alibaba.druid.pool.GetConnectionTimeoutException 异常。根据异常信息可以分析出,在并发条件下,数据库连接数达到 300 个后,有200多个连接处于 sleep 状态,但仍然会创建新的连接。

    这种情况通常是由于连接池配置不合理引起的。你可以尝试调整以下几个参数来优化连接池的配置:

    1. maxActive:该参数定义了最大活动连接数,即连接池中最多同时存在的连接数量。你可以根据系统负载和数据库性能来调整该值,确保它能够满足并发需求,但不要设置过高以至于超出数据库的最大连接数限制。

    2. maxWait:该参数定义了获取连接时的最大等待时间,单位为毫秒。如果连接池已经达到最大活动连接数,并且所有连接都处于忙碌状态,那么在此时间内如果没有可用连接,将会抛出超时异常。你可以适当增加该值,使得等待时间更长,但也要注意合理设置,以免长时间的等待影响系统性能。

    3. minIdle:该参数定义了连接池中最小空闲连接数。当连接池中的连接数少于该值时,连接池会自动创建新的连接。你可以适当增加该值,确保连接池中始终有足够的连接可用。

    你可以在 Druid 配置文件中找到这些参数进行调整。一般来说,Druid 的配置文件是以 druid.propertiesdruid.yml 的形式存在。根据你的具体配置方式,修改对应的参数值,并重新启动应用程序,观察是否能够解决连接获取问题。

    如果问题仍然存在,请提供更多关于你当前的 Druid 和 MyBatis 配置的细节以及数据库的相关信息,我将尽力帮助你找到解决方案。

    2023-07-05 18:52:58
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载