MySQL 最大连接数问题
版权声明:本文为博主原创文章,转载请注明出处。
前言
有些问题,在开发过程中不会遇到;但当要在生产环境中进行部署的时候便会暴露出来。
1 | sqlalchemy.exc.OperationalError: (pymysql.err.OperationalError) (1040, 'Too many connections') |
为什么会引发这个问题?因为生产环境的 CPU 核心数太多了。
业务进程的数量一般为 CPU 数量的倍数,而数据库进程最大打开文件数一般为常量(记得默认好像是100+),那么假设一个 CPU 启动两个进程,两个进程各建立四个连接,很容易就会超过这个数量而导致异常。