Довольно странные вещи происходят. На серваке под
Server 2012 R2 крутятся
Eserv и сайты на PHP+
MySQL (база локальная). С периодичностью раз в пару недель все исходящие подключения перестаёт работать, попытка подключиться к базе данных даёт ошибку сокета 10055 или 10048. Помогал только полный перезапуск машины. В интернете везде пишут что это исчерпан лимит подключений, но я вчера застал снова эту ситуацию и решил разобраться:
TcpTimedWaitDelay уже 30;
MaxUserPort уже 65530;
`netstat -abn | find /c ":"` выдаёт ~1000
`netstat -abn | find /c "ESTABLISHED"` выдаёт ~500
`Get-Counter -Counter \TCPv4\*` выдаёт ~500 установленных подключений
`Get-Counter -Counter \TCPv6\*` выдаёт 0 установленных подключений
Лимиты точно не превышены
Перезапуск Веб-сервера ничего не дал
Перезапуск MySQL ничего не дал
После перезапуска служб Eserv всё заработало!
В логах по этому поводу можно найти:
у acWEB повторяются: cURL: Couldn't resolve host name cURL: Couldn't connect to server
у acSMTP:
SendDnsQuery ERR=10065 9 6358784 <IP DNS-сервера 1>
SendDnsQuery ERR=10065 9 6358768 <IP DNS-сервера 2>
Какие мысли по этому поводу?
Пока ограничился написанием скрипта, периодически проверяющего коннект и перезапускающий службы Eserv в случае ошибки.