Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

参数——pg-pool连接池

在deployConfig.js中

  • 把下列内容放到module.exports = { }当中

    db:{
        database: 'xxx',
        user: 'yyyy',
        password: 'zzzzz',
        host: 'xxx.xx.x.xxx',
        max: 35,
        min: 5,
        idleTimeoutMillis: 10000, 
        connectionTimeoutMillis: 5000, 
        lock_timeout: 10000,
        idle_in_transaction_session_timeout: 10000
    }
    
  • 最后六行参数解释

    • max 和 min

      • 能从“总连接池”分配到的连接数范围
        • 最大不能超过 max 个
        • 最小要保持 min 个
    • idleTimeoutMillis

      • 某个连接若空闲超过此时间(ms),就会被归还到“总连接池”
    • connectionTimeoutMillis

      • pg-pool库 尝试连接 数据库 的最大等待时间(ms)
      • 如果超过此时间还没连接上,就会给查询者返回connection timeout
      • 增大此时间,能防止刚启动时还没连上就要查询,导致查询失败,进而初始化失败
    • lock_timeout

      • 如果语句试图在获取锁时,等待超过此时间(ms),则该语句被终止
    • idle_in_transaction_session_timeout

      • 通过let client = DB.pool.connect();拿到一个用于事务的专属连接后
      • 如果空闲时间超过这个值(ms),就会被强制归还
      • 增大此时间,能防止某个事务长时间占着连接又不用