【问题标题】:There are many connections that how many set on C3P0.properties在 C3P0.properties 上设置了多少个连接
【发布时间】:2018-09-14 07:31:31
【问题描述】:

我正在尝试使用 C3P0 库来处理连接池。 这些是我的 C3P0 设置:

minPoolSize=3
maxPoolSize=20
acquireIncrement=1
maxIdleTime=240
maxStatements=20

在日志中我可以看到 C3P0 似乎通过读取正确初始化

INFO com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource - Initializing c3p0 pool...

但是当我尝试这样查看我的 MySQL 数据库上有多少连接时

SHOW STATUS WHERE `variable_name` = 'Threads_connected'

我可以看到结果是 48、46、49 ecc。

我不明白我尝试查看数据库上有多少连接的方式是否不正确,或者我不理解 C3P0 的工作方式

【问题讨论】:

    标签: mysql spring c3p0


    【解决方案1】:

    我在 MySQL 中的线程和连接方面也遇到了这样的困惑。我将解释我在学习时所学和掌握的知识,如果我当时有什么误解或仍然感到困惑,请纠正我。

    MySQL 的一些基础知识:

    - MySQL server is a single process application.
    - It is multithreaded.
    - It accepts connections like TCP/IP server.
    - Each connection gets a thread.
    - These threads are sometimes named processes, and sometimes they're referred to as connections.
    

    最后一点和倒数第二点造成了很多混乱,在我们看来,我们认为连接和活动线程之间存在 1-1 映射。也确实如此,但是,有一个线程池,这意味着可能存在与任何连接无关的线程。

    每个新连接都有自己的线程。每个新连接都会产生新线程,而断开连接则需要销毁线程。因此,连接和活动线程之间存在 1-1 映射。线程销毁后,它可能会进入线程池。所以,线程数大于等于连接数。

    如果你在下面运行查询

    SELECT t.PROCESSLIST_ID,IF (NAME = 'thread/sql/event_scheduler','event_scheduler',t.PROCESSLIST_USER) PROCESSLIST_USER,t.PROCESSLIST_HOST,t.PROCESSLIST_DB,t.PROCESSLIST_COMMAND,t.PROCESSLIST_TIME,t.PROCESSLIST_STATE,t.THREAD_ID,t.TYPE,t.NAME,t.PARENT_THREAD_ID,t.INSTRUMENTED,t.PROCESSLIST_INFO,a.ATTR_VALUE FROM performance_schema.threads t  LEFT OUTER JOIN performance_schema.session_connect_attrs a ON t.processlist_id = a.processlist_id AND (a.attr_name IS NULL OR a.attr_name = 'program_name') WHERE 1=1
    

    然后您将看到TYPE 列,其中的值要么是FOREGROUND,要么是BACKGROUND,所以这表明可能有一些线程与数据库连接以执行一些(后台)工作(例如,事件线程、监视器线程等)。

    通常,c3p0 关注的是连接而不是线程,因此您应该检查SHOW FULL PROCESSLIST 是否与数据库服务器连接。

    我希望我已经消除了您对 MySQL 线程和连接的困惑。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-14
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 2011-07-31
      • 2011-02-10
      相关资源
      最近更新 更多