Исправляем ошибку в 1С v.8.3: Ошибка установки соединения. Выполняется ожидание возможности запуска.

Привет всем читателям моего блога. Сегодня статья по администрированию. Да-да, Вы не ошиблись в чтении букв. И сегодня речь у нас пойдет про платформу 1С v.8.3. Чтобы не было глупых вопросов, БД 1С у меня не файловая. В качестве СУБД используется MSSQL Server. На момент написания статьи 46 БД вместе с тестовыми.

Теперь к проблеме. Последнее время начало сыпаться много жалоб, что невозможно открыть базу данных. Самое, что интересное, народ в моменты жалоб работает и по идее всё хорошо. Но часть баз при этом недоступные. Текст ошибки при этом простой:

«Ошибка установки соединения. Выполняется ожидание возможности запуска. При появлении возможности, запуск будет выполнен автоматически».

Так это выглядит в живую:

Ошибка ни о чем, разбирайтесь сами как хотите. Вообще такая ошибка может быть по разным причинам. Информации в интернете практически ни какой, либо я не правильно искал. Пришлось разбираться самому. Это могут проблемы и с «сетью» и сервером, где установлена 1С, а также по ряду других причин. Сначала я эту ошибку связывал с количеством лицензий, и обосновывал, что лицензии заканчивались и по этому просто нельзя было открыть БД. В моем случаем это происходило когда было 95 с «+» сеансов, а установленное количество лицензий всего 100. Но мои выводы оказались неверными.
Когда уже полностью я начал заниматься сервером 1С, была замечена интересная особенность. В моменты когда появлялась ошибка и недоступность баз было почему-то 13 рабочих процессов. Это был максимальный «потолок» по возможному количеству процессов.
У меня в настройках сервера в свое время было установлено, что под одну БД — один рабочий процесс и + по одному менеджеру на каждый сервис. Большая часть настроек практически из «коробки». Диапазон портов с 1560 по 1591. Всего 32 доступных порта. Вот этот диапазон портов меня и навел на мысль.
В момент когда начала возникать ошибка снова, я сделал проще. Зашел на сервер с 1С и решил посмотреть, что происходит с TCP-соединениями. Открываем командную строку, и набираем:
netstat -a|more
Построчно нам отдается такая табличка. Часть информации я скрыл, как и на многих других скриншотах, да и для понимания проблемы она не нужна.
Начинаем считать. Количество портов под 1С занято 34. Один из них порт 1541 — это порт главного менеджера кластера, 1540 — порт центрального сервера. Отняв эти два порта, получаем ровно 32 которые указаны в диапазоне 1560 — 1591. Здесь получается, что все выделенные порты заняты. Но возникает один вопрос. Рабочих процессов то 13, где остальные порты???!!! Оказалось всё намного проще. Остаток портов находится под 19 дополнительными менеджерами кластера. Кто бы об этом только знал…..
Я у себя расширил диапазон портов 1560 — 1621. Это в моем случае более чем достаточно. Перезапуск службы «Агент сервера 1С:Предприятия 8.3» в моем случае не потребовался.
ВНИМАНИЕ!
Когда вы будите у себя расширять диапазон портов, убедитесь, что они не используются другими программами или службами.
Теперь нужно убедиться, что мы сделали всё правильно. Предпринимать каких-то сложных действий не нужно. Надо просто открыть все подряд БД. Заходить в них под пользователем не нужно, просто нужно запустить, чтобы 1С попросила ввод пользователя и пароля:
В моем случае каждое соединение дает один рабочий процесс. А теперь идем в «Администрирование серверов 1С Предприятия» и проверяем. Я открыл много баз данных + фоновые соединения. У меня получилось 28 рабочих процессов и 20 менеджеров, включая главного.

Ну и чтобы окончательно убедиться, посмотрим какой процесс использует какой порт. У меня всё не влезло, так что только кусочек. Набираем:

netstat -abn|more
У меня на этом всё. Всем спасибо за внимание. Стабильной работы всем и ни каких отвалов.

Добавить комментарий