16.08.2015
При длительной работе без перезагрузки сервера, на котором размещен кластер "1С:Предприятия", может наблюдаться проблема, сопровождающаяся следующими симптомами:
При этом в технологическом журнале регистрируется следующая ошибка:
«An operation on a socket could not be performed because the system lacked sufficient buffer space or because a queue was full»
либо ошибка (если используется русская версия операционной системы):
«Операция с сокетом не может быть выполнена из-за недостатка места в системном буфере или из-за переполнения очереди»
После перезагрузки сервера, на котором размещен кластер 1С:Предприятия, ошибка временно пропадает. Затем через некоторый промежуток времени проблема возобновляется.
При открытии большого количества TCP-соединений есть вероятность того, что в операционной системе будут выбраны все доступные динамические порты.
По умолчанию в Windows в качестве динамических доступны порты в диапазоне 1024-5000.
Но использовать умолчательное значение не очень хорошо, т.к. необходимо обеспечить непересечение динамического диапазона портов с портами процессов 1С:Предприятие на этом сервере.
Для устранения проблемы необходимо увеличить количество доступных динамических портов на сервере, на котором расположен кластер серверов 1С:Предприятия.
В ключе реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters добавьте следующий параметр:
После выполнения настройки произведите перезапуск сервера.
После выполнения настройки произведите перезагрузку сервера.
При необходимости start указать меньше 10000 требуется проследить, что задаваемый диапазон портов не пересекается с портами процессов 1С:Предприятие на этом сервере.
net.ipv4.netfilter.ip_conntrack_max = 1048576
Максимальное количество соединений для работы механизма connection tracking (используется, например, iptables). При слишком маленьких значениях ядро начинает отвергать входящие подключения с соответствующей записью в системном логе.
sysctl -w net.ipv4.netfilter.ip_conntrack_max=1048576