java数据库连接池最大连接数最小连接数怎么设置

珞珈王 2016-07-25 02:02:23
假如项目最大并发3000,那么数据库连接池最大连接数最小连接数应该怎么设置呢 ?
...全文
10077 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
自由自在_Yu 2016-07-26
  • 打赏
  • 举报
回复
可以先设定这些参数,运行一下,如果如云缓慢,再修改一下,多试几次,就有最接近的参数了
自由自在_Yu 2016-07-26
  • 打赏
  • 举报
回复
引用 3 楼 luojia_wang 的回复:
[quote=引用 1 楼 yuxiangaaaaa 的回复:] http://www.nikest.com/web/jswd/2015/0325/158981.html jedipool连接池配置推荐的设置(适合v2.5+版本,咨询了用户团队的开发人员): // 设置最大连接数,(根据并发请求合理设置)。 config.setMaxTotal(100); // 设置最大空闲连接数,(根据并发请求合理设置) config.setMaxIdle(20); // 多长空闲时间之后回收空闲连接 setMinEvictableIdleTimeMillis(60000); // 设置最小空闲连接数或者说初始化连接数 config.setMinIdle(10); // 设置最大等待时间 config.setMaxWaitMillis(500); // 跟验证有关 config.setTestOnBorrow(true); // 跟验证有关 config.setTestOnReturn(false); // 启动空闲连接的测试 config.setTestWhileIdle(false);
你这个设置我知道我 , 但是我就是问3000的并发实际应该设置多少呢 ?不会就设置100把 ?[/quote] 这个没法确定具体是多少呀,要想确定,除非要把系统运行起来,你自己写监听,统计一段时间内的连接池,然后查看最大的,最小的和平均值,根据这些获得的参数信息来确定。
  • 打赏
  • 举报
回复
这个应该是根据项目通过压力测试寻得最佳的配置吧。
「已注销」 2016-07-25
  • 打赏
  • 举报
回复
apache的DBCP,可以通过配置文件修改。
#连接设置
driverClassName=com.mysql.jdbc.Driver
url=jdbc:mysql://localhost:3306/database
username=root
password=password

#<!-- 初始化连接 -->
initialSize=10

#最大连接数量
maxActive=50

#<!-- 最大空闲连接 -->
maxIdle=20

#<!-- 最小空闲连接 -->
minIdle=5

#<!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒 -->
maxWait=60000


#JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;]
#注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。
connectionProperties=useUnicode=true;characterEncoding=utf8

#指定由连接池所创建的连接的自动提交(auto-commit)状态。
defaultAutoCommit=true

#driver default 指定由连接池所创建的连接的只读(read-only)状态。
#如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix)
defaultReadOnly=

#driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。
#可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE
defaultTransactionIsolation=REPEATABLE_READ
珞珈王 2016-07-25
  • 打赏
  • 举报
回复
引用 2 楼 FIFTEENHO 的回复:
apache的DBCP,可以通过配置文件修改。 #连接设置 driverClassName=com.mysql.jdbc.Driver url=jdbc:mysql://localhost:3306/database username=root password=password #<!-- 初始化连接 --> initialSize=10 #最大连接数量 maxActive=50 #<!-- 最大空闲连接 --> maxIdle=20 #<!-- 最小空闲连接 --> minIdle=5 #<!-- 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒 --> maxWait=60000 #JDBC驱动建立连接时附带的连接属性属性的格式必须为这样:[属性名=property;] #注意:"user" 与 "password" 两个属性会被明确地传递,因此这里不需要包含他们。 connectionProperties=useUnicode=true;characterEncoding=utf8 #指定由连接池所创建的连接的自动提交(auto-commit)状态。 defaultAutoCommit=true #driver default 指定由连接池所创建的连接的只读(read-only)状态。 #如果没有设置该值,则“setReadOnly”方法将不被调用。(某些驱动并不支持只读模式,如:Informix) defaultReadOnly= #driver default 指定由连接池所创建的连接的事务级别(TransactionIsolation)。 #可用值为下列之一:(详情可见javadoc。)NONE,READ_UNCOMMITTED, READ_COMMITTED, REPEATABLE_READ, SERIALIZABLE defaultTransactionIsolation=REPEATABLE_READ
可能我描述的不太准确,我的意思是并发3000的项目,这个最大值和初始化的值分别应该是多少呢 ?
珞珈王 2016-07-25
  • 打赏
  • 举报
回复
引用 1 楼 yuxiangaaaaa 的回复:
http://www.nikest.com/web/jswd/2015/0325/158981.html jedipool连接池配置推荐的设置(适合v2.5+版本,咨询了用户团队的开发人员): // 设置最大连接数,(根据并发请求合理设置)。 config.setMaxTotal(100); // 设置最大空闲连接数,(根据并发请求合理设置) config.setMaxIdle(20); // 多长空闲时间之后回收空闲连接 setMinEvictableIdleTimeMillis(60000); // 设置最小空闲连接数或者说初始化连接数 config.setMinIdle(10); // 设置最大等待时间 config.setMaxWaitMillis(500); // 跟验证有关 config.setTestOnBorrow(true); // 跟验证有关 config.setTestOnReturn(false); // 启动空闲连接的测试 config.setTestWhileIdle(false);
你这个设置我知道我 , 但是我就是问3000的并发实际应该设置多少呢 ?不会就设置100把 ?
自由自在_Yu 2016-07-25
  • 打赏
  • 举报
回复
http://www.nikest.com/web/jswd/2015/0325/158981.html jedipool连接池配置推荐的设置(适合v2.5+版本,咨询了用户团队的开发人员): // 设置最大连接数,(根据并发请求合理设置)。 config.setMaxTotal(100); // 设置最大空闲连接数,(根据并发请求合理设置) config.setMaxIdle(20); // 多长空闲时间之后回收空闲连接 setMinEvictableIdleTimeMillis(60000); // 设置最小空闲连接数或者说初始化连接数 config.setMinIdle(10); // 设置最大等待时间 config.setMaxWaitMillis(500); // 跟验证有关 config.setTestOnBorrow(true); // 跟验证有关 config.setTestOnReturn(false); // 启动空闲连接的测试 config.setTestWhileIdle(false);

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧