orm db config

来源:互联网 发布:数据质量控制 编辑:程序博客网 时间:2024/06/07 06:17



db.initialPoolSize=200 它们把这个 改成 1....就好了.   
maxIdletimeout =30



orm层的 initialPoolSize + maxIdletimeout    还是要跟mysql的timeout  紧密配合..不然真是像个死循环一样.


总之  maxIdletimeout    > Mysql的 wait_timeout了,, 就容易死循环..




Tomcat启动的流程 目测:

jdbc.minPoolSize=10

需求正常下,开一个10的pool ,不够再增加10个,

jdbc.maxIdleTime=30

超过30s空闲,释放各个连接,


poolMaximumIdleConnections =0     #最大空闲连接数

因为我们系统是采用Mybatis,会判断当前空闲连接数和poolMaximumIdleConnections的大小,如果小于他,会new PooledConnection并放进队列中,这就导致一个问题,当所有的连接被占满后,Mybatis为了保持一定的空闲连接,会不断获取新的连接,然后这些新连接被占用后,就会再去new PooledConnection,结果就是超过了mysql设置的最大连接数,





Mysql:

connect_timeout在获取连接阶段(authenticate)起作用,interactive_timeout和wait_timeout在连接空闲阶段(sleep)起作用,而net_read_timeout和net_write_timeout则是在连接繁忙阶段(query)起作用。


net_read_timeout是第一步认证(默认3s),wait_timeout(默认120s)是第二步回归数据
wait_timeout   mysql的一个connection空闲时间超过8小时,mysql会自动断开该连接。
要连interactive_timeout一起改。

0 0
原创粉丝点击