在开发和测试时,我们往往不会很在意数据库相关的一些并发数的配置,因为开发和测试时,系统的并发量并不会很大,
因此,是否正确设置这些参数也不会对结果造成什么影响
但是,上生产环境后,系统的并发量大大提高,这时,没有注意数据库的并发数配置的话就会使数据库成为系统最终的
并发瓶颈。根据我在实际项目中一段时间的并发测试后,发现关于数据库并发数需要配置的几个地方,希望跟大家分享一下,
能少走一些弯路
数据库并发配置
- 查看mysql数据库的服务器的最大连接数
show variables like 'max_connections';(查看目前的最大连接数)
show global status like 'Max_used_connections';(查看数据库历史出现的最大连接)
- 修改mysql配置文件my.cnf
max_connections = 3000
尽量保持 Max_used_connections/max_connections = 85%左右
- 修改程序中数据源的配置(这个很重要,我之前就是忘记修改这里而只改了数据库,导致数据库出现的历史并发数一直上
不去)
<property name="maxActive" value="500"/>
<property name="maxIdle" value="10"/>
<property name="initialSize" value="10"/>