zoukankan      html  css  js  c++  java
  • 关于配置mongoDB连接池

    首先列一下mongoDB连接的一些基本配置信息

    mongoDB.user=
    mongoDB.password=
    mongoDB.port=27017
    mongoDB.databaseName=job
    mongoDB.address=10.13.45.166

    mongoDB.collection=job
    mongoDB.collection2=ReadRecord
    #连接池最大连接数
    mongoDB.connectionsPerHost=20
    #连接池最小连接数
    mongoDB.minConnectionsPerHost=5
    #线程队列数,此值和连接池的乘积为最大连接数,超出这个数会让请求线程等待
    mongoDB.threadsAllowedToBlockForConnectionMultiplier=5
    #单位为ms,默认0,无限时间,客户端访问服务器的超时时间
    mongoDB.connectTimeout=10000
    #最大等待时间,若连接都被使用,线程的最大等待时间
    mongoDB.maxWaitTime=10000
    #线程最大空闲时间,默认0,无限制
    mongoDB.maxConnectionIdleTime=0
    #线程的生命时间
    mongoDB.maxConnectionLifeTime=0
    #客户端连接到数据库后,等待数据返回的最大等待时间,默认为0,无限制
    mongoDB.socketTimeout=10000

    这些是比较重要的信息,再说说今天开发遇到的问题,就是配置完mongoDB的连接池启动项目后,控制台一直在打印close Connection 然后 openConnection ,就是5个最小连接数一直在重复的

    关闭然后创建,这样多了很多无用的服务器负载,本意是连接创建后一直等待调用。然后查了一下貌似mongoDB 4.0以上的版本才支持spring的事务管理,并且mongoDB的驱动jar包中内置了连

    接池,并且线程安全。那就说明人家给我们都已经准备好了,那就是我配置的连接池参数出现了问题,首先注意到的是maxConnectionLifeTime(连接的生命时间),设0之后发现没有改善。

      最后发现是maxConnectionIdleTime   连接的最长等待时间,连接被创建后,等待被调用,一直没被调用,就销毁了,然后为了保持最小连接数,就一直在close+open,设0,启动服务器,无异常。

  • 相关阅读:
    html基础起航
    必杀技———SQL基础整理系列(一)
    JavaScript代码段整理笔记系列(一)
    与JSP的初次邂逅……
    产品第二篇
    产品第一篇
    进程在后台可靠运行的几种方法
    Vue.js模板语法
    更靠谱的横竖屏检测方法
    浮动【电梯】或【回到顶部】小插件:iElevator.js
  • 原文地址:https://www.cnblogs.com/jinsheng1027/p/11805226.html
Copyright © 2011-2022 走看看