高并发报错”too many clients already”或无法创建线程

    该类报错是由于操作系统线程资源不足引起,查看操作系统ulimit -u,如果过小(例如小于32768),则基本可以判断是操作系统限制引起的。

    通过“ulimit -u”命令查看操作系统max user processes的值。

    其中实例数目指本节点所有实例总数。

    设置最小值方法为,修改/etc/security/limits.conf,追加如下两行:

    另外,也可以直接通过如下命令设置,但OS重启会失效,可以添加到全局环境变量/etc/profile文件中使其生效。

    在大并发模式下,建议开启线程池,使数据库内部的线程资源受控。