Странная проблема с несколькими одновременными подключениями к MySQL

У меня есть cron, который запускает файл bash, и этот файл 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 сообщения, я не знаю, связано ли это с этой проблемой.

Может ли кто-нибудь помочь мне?

-1

Решение

Короче говоря, ваш сервер занят, вы достигли максимально разрешенных соединений.

Чтобы исправить это, увеличьте максимальный предел настроенных соединений

# Temporarily Solution
echo 524288 > /proc/sys/net/netfilter/nf_conntrack_max# Permanent Solution
# Add following line on /etc/rc.d/rc.local

$ vim /etc/rc.d/rc.local
echo 524288 > /proc/sys/net/netfilter/nf_conntrack_max

$ chmod a + x /etc/rc.d/rc.local

отредактированный

более простой способ сделать это
/etc/sysctl.conf файл.
Откройте ssh / term с правами root и добавьте строку в
Файл /etc/sysctl.conf как:
net.netfilter.nf_conntrack_max = 65536
и сохраните файл, затем введите:
sysctl -p

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]