被这个问题困扰了一天,今天做微信开发,流量一大,django占用CPU很大,这个比较好解决,加进程加硬件即可。然而数据库连接开始报Too many connections,查了网上一些文章,直接改/etc/my.cnf加入max-connections=3000,无果。又查,在mysql里输入set GLOBAL max-connections=3000,数值是变了,然并卵。
刚才找到一个文章,才想起原来是CentOS7的systemd限制了服务进程的NOFILE,导致每次启动mysql服务后,查询max-connections一直是214,这个数字可能是默认的最大值吧。解决方法如下:
编辑 /usr/lib/systemd/system/mysqld.service,加入: LimitNOFILE=infinity LimitMEMLOCK=infinity
困扰整天的问题终于解决,撰文记下。
参考文献:
http://www.nethings.eu/quick-picks/mysql-max-connections/