【发布时间】:2017-11-23 04:23:53
【问题描述】:
我有一个运行 bash 文件的 cron,这个 bash 文件将同时打开大约 1000 个 PHP 脚本,这些 PHP 脚本中的每一个都与 MySQL 建立连接。运行一段时间后,我看到间歇性 MySQL 错误,例如:
SQLSTATE[HY000] [2003] Can't connect to MySQL server on '127.0.0.1' (4)
我发现错误 (4) 是操作系统级别(系统调用中断)。
/var/log/messages/kernel: nf_conntrack: table full, dropping packet留言很多,不知道是不是和这个问题有关。
有人可以帮我吗?
【问题讨论】:
-
为什么需要并行运行1000个php脚本?
-
这是一个需要并行运行的大系统。
-
为什么不能并行运行 100 个,每个做 10 个任务?或者你为什么不把它们错开,让前 100 个运行,当每个终止时另一个开始,直到所有 1000 个都运行,排队?通常有一些替代方法来构建一些东西以避免 1000 个并发任务
-
您应该在此处的脚本中至少显示 SQL 语句和至少一个示例脚本,以便有人可以帮助您。
标签: php mysql linux-kernel centos