Зависшие соединения в кластере 1С

26.05.14

База данных - Инструменты администратора БД

Не адекватное поведение рабочего процесса в кластере 1С

Конфигурация: клиент-сервер

Server SQL 2008 r2

MS Server 2012

Версия 1С 8.3.4.389

Столкнулся с проблемой:

Бухгалтерия 3.0

Все началось с того, что бухгалтер запускает оборотку и никак не может дождаться её формирования. Отображается процесс формирования отчета... и все. Результат нет ни через пять минут, ни через час.

Поначалу думал, проблема в пользователе, но зайдя под своим акком увидел аналогичную картину. Ну думаю, счас архивчик сделаю, да натравлю на базу тестирование и исправление. Но при попытке создать архив получаю отлуп с сообщением о существующих подключениях в трех лицах! Я же только что посмотрел список активных пользователей и там никого не было! Фантомы, не иначе!

Дальнейшие события переносятся на сервер...

Смотрю список сеансов базы - только админ из конфигуратора и ни одного клиентского подключения, смотрю соединения... упс, вот они! Висят как приклеенные и из возможностей, только обновить картинку списка. Пошел в скл менеджмент студио... там тоже ничего нет! Ни одного подключения! В рабочих процессах отображается один процесс. Мало того, в остальных базах появились такие же фантомы соединений (не путать с сеансами). Такое соединение легко опознать по установленному признаку сеанса относящегося к данному соединению. Также сеанс не указывается для фоновых задач (это норма). Еще наблюдались не малые тормоза при работе с базами.

Не буду вещать обо всех своих мытарствах, если будет интересно, напишу.

РЕШЕНИЕ:

  1. Запускаем диспетчер задач
  2. Находим процессы с именами rmngr и rphost. В моем случае у меня был один процесс менеджера (как и должно быть) и ЧЕТЫРЕ рабочих процесса.
  3. Один из процессов не подавал признаков жизни вообще, т.е. не использовал времени процессоров и не менял объем используемой памяти. Контролируется это визуально и на приличном интервале времени... минут 10 - 15 хватит, чтобы увидеть зависший процесс.
  4. Как только убедились в неработоспособности процесса ПКМ на нем и килл.

Как только я это сделал (вальнул процесс), сразу сервер пересоздал его (процесс) и остальные процессы заработали пошустрее. В консоли управления ВСЕ фантомы исчезли. Рабочих процессов в кластере стало 4 (как и положено). По PID процесс невозможно было отследить, т.к. показывался всего один (рабочий, который тянул всех как мог).

В рестарте агента необходимость отпала. Все пришло в норму.

Какие есть соображения на этот счет? Может кто сталкивался с таким? 

Очень хотелось услышать мнение разработчиков ядра.

Рабочий процесс зависание Соединения

См. также

Автоподбор ролей для профилей и групп доступа в любых типовых базах 1С УТ 11, КА 2, ERP2, Розница 2/3, УНФ 16/3, БП 3, ЗУП 3 и подобных (УФ, Платформа 8.3.14+)

Инструменты администратора БД Роли и права 8.3.14 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:Документооборот 1С:Зарплата и кадры государственного учреждения 3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Роли… Вы тратите много времени и сил на подбор ролей среди около 2400 в ERP или 1500 в Рознице 2, пытаясь понять какими правами они обладают? Вы все время смотрите права в конфигураторе или отчетах чтоб создать нормальные профили доступа? Вы хотите наглядно видеть какие права дает профиль и редактировать все в простом виде? А может хотите просто указать подсистему и дать права на просмотр и добавление на объекты и не лезть в дебри прав и чтоб обработка сама подобрала нужные роли? Все это теперь стало возможно! Обновление от 15.12.2023, версия 1.1.

12000 руб.

06.12.2023    2976    13    1    

34

SALE! 20%

Infostart УДиФ: Управление данными и формами

Инструменты администратора БД Инструментарий разработчика Роли и права Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

10000 8000 руб.

10.11.2023    3531    11    1    

34

SALE! 30%

PowerTools

Инструментарий разработчика Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Россия Платные (руб)

Универсальный инструмент программиста для администрирования конфигураций. Сборник наиболее часто используемых обработок под единым интерфейсом.

3600 2520 руб.

14.01.2013    177744    1073    0    

849

Ускоренное проведение документов (x4), устранение ошибок 60/62 счетов и зачет авансов (Бухгалтерия 3.0)

Закрытие периода Инструменты администратора БД Корректировка данных Бухгалтерский учет 1С:Бухгалтерия 3.0 Россия Бухгалтерский учет Платные (руб)

Расширение «Оперативное проведение» в 4 раза уменьшает время проведения документов и закрытия месяца. Является комплексным решением проблем 62 и 60 счетов. Оптимизирует проведение при включенной функциональной опции «Раздельный учет НДС». Используется в более 10 организациях уже 2 года. Совместимо с конфигурацией Бухгалтерия 3.0 (+КОРП).

14400 руб.

29.04.2020    27378    79    146    

59

Система хранения присоединенных файлов в томах на диске

Инструменты администратора БД Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Управление производственным предприятием Платные (руб)

Конфигурация Комплексная автоматизация 1.1 (и УПП 1.3 тоже) хранит файлы и изображения в справочнике Хранилище дополнительной информации в реквизите Хранилище типа ХранилищеЗначений. Та же история с ВложениямиЭлектроннойПочты. Но при этом присоединенные файлы в Электронном документообороте хранит в томах на диске. Эта доработка позволяет использовать стандартный механизм хранения файлов, изображений и вложений электронных писем в томах на диске. При этом можно разделить тома хранения по объектам конфигурации.

4200 руб.

10.11.2015    61317    88    59    

73

"Менеджер потоков 2.1": УПП: "Восстановление партий"

Инструменты администратора БД Платформа 1С v8.3 1С:Управление производственным предприятием Россия Бухгалтерский учет Управленческий учет Платные (руб)

Как оптимизировать то, что, считалось, не поддается оптимизации? Как повысить доступность базы данных? Как проводить самую «времяемкую» операцию не по паре раз в неделю, а по несколько раз в день*? Ответ есть!

20000 руб.

12.09.2019    11746    5    9    

7

Брандмауэр для сервера 1С Предприятие 8 - внешнее управление сеансами

Инструменты администратора БД Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Управление возможностью начала и возобновления сеансов пользователей по различным условиям, ограничение общего числа возможных сеансов для работы с информационной базой, резервирование возможности работы с информационной базой определенных польззователей, запрет запуска нескольких сеансов для пользователя, журнализация событий начала (возобновления) и завершения (гибернации) сеансов, ведение списка активных сеансов для информационных баз кластера серверов

3600 руб.

06.02.2017    31110    31    18    

47

Хранилище файлов на SQL

Инструменты администратора БД Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Управленческий учет Платные (руб)

Привязка файлов / сканов к объектам 1С с сохранением их на SQL-сервере

12000 руб.

09.10.2019    10984    5    8    

9
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. DERL 27.05.14 09:35 Сейчас в теме
так что же это получается, что даже в версии 8.3 этот глюк не исправили?
сейчас пока на 8.2.13 и периодически (пару раз в месяц) бывает виснет сервер 1С и ни один отчет на СКД не формируется (висит бесконечно значок формирования), в таких случаях я просто перезапускаю кластер серверов (Остановка сервера 1С - Запуск сервера 1С)

Сервер Windows 2008 R2, SQL SERVER 2008 R2
или может это вовсе не глюк 1С?
2. juker 252 27.05.14 13:33 Сейчас в теме
(1) DERL, В том то и дело что Вы весь кластер перезапускаете, а мне надо поднимать кластер без его перезапуска.
Да и кластер не корректно перезапуститься с подвисшим процессом (столкнулся с этим).
А 1С разрабы наверное тут только руками разведут и никак не прокомментирую.
3. juker 252 27.05.14 13:37 Сейчас в теме
(1) DERL, И валится именно один процесс из нескольких (как в статье описал). Это не может быть глюком системы ибо менеджер и рабочие процессы это составляющие единого целого, а не каждый сам по себе со связью многие (рабочий процесс) к одному (менеджер)
4. asved.ru 36 28.05.14 04:58 Сейчас в теме
1) В свойствах процесса отображается его PID. Если процесс rphost с неким PID отсутствует в консоли - его надо валить, и нечего за ним смотреть.
2) Включайте ТЖ. Хотя бы минимальный. Возможно, Вам удастся поймать причину. Пример:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="http://v8.1c.ru/v8/tech-log">
<dump create="false"/>
<log location="C:\1c\techlog\excp\" history="168">
<event>
<eq property="name" value="excp"/>
</event>
<event>
<eq property="name" value="excpcntx"/>
</event>
<property name="all"/>
</log>
</config>
3) Перед тем, как убивать повисший процесс, сделайте его дамп и отправьте в техподдержку. Не так давно об этом шла речь на партнерском форуме.

В некоторых случаях помогает явное указание loopback-IPv4-адреса хоста для его имени в hosts. Пример:
Имя компьютера: mycomp
запись в hosts: 127.0.0.1 mycomp
Ekovichev; sonGodv; andrey-prog; aexeel; pavlov_dv; juker; +6 Ответить
6. juker 252 28.05.14 10:09 Сейчас в теме
(4) asved.ru, В консоли отображались процессы с точностью до наоборот.
1. В консоли один процесс, причем, при получении информации о свойствах процесса возвращает пустоту на форме статистики процесса. Поле PIDa тоже пустое. В консоли отсутствовали те процессы, которые работали.
2. В диспетчере задач 4 (четыре) процесса.
Поэтому и пришлось заниматься наблюдением за повелением процессов в диспетчере задач. А вот за дамп... не знал о возможности/необходимости передачи дампа техподдержке. Если доведется (тьфу-тьфу), обязательно свяжусь с поддержкой.
По поводу петли (127.0.0.1)... В каких конкретно случаях это помогает? Есть пример?

P.S. При явном указании имени сервера на 127.0.0.1 для локальных служб сервера, ничего плохого в этом нет, т.е. хуже не будет. На своем сервере я сделал именно так, после Вашей подсказки. Включил ведение ТЖ. Посмотрим, может это как раз мой случай.

Есть схожая темя http://infostart.ru/public/274466/ но в её случае там все видно, мой случай более тяжелый.
5. Vladimir_Konyrev 255 28.05.14 09:56 Сейчас в теме
Сталкивался с такой проблемой, но перезапускал службу на сервере БД, что приводило к отвалу всех. Спасибо за альтернативное решение.
7. juker 252 28.05.14 10:19 Сейчас в теме
(5) Vladimir_Konyrev, Вам очень повезло.
Это второй такой случай у меня и в первом варианте было совсем все плохо.
При рестарте службы, она перешла в состояние "Останавливается" без какой либо интерактивной возможности вмешательства средствами mmc (консоль служб) и все.... стоп процесса rmngr и всех rphost не помог, служба так и висела в состоянии останавливается. В итоге - рестарт сервака (жуть).
Второй раз не хотел наступать на грабли и ... результат Вы читали.
8. Evmil 15 28.05.14 11:03 Сейчас в теме
Слава википедии, показала, что такое ПКМ - первый раз вижу сокращение в этом контексте, честное слово.
9. juker 252 28.05.14 11:18 Сейчас в теме
10. hopter 36 09.10.14 01:39 Сейчас в теме
Поставил 8.3.5.1146
Ситуация обратная - есть зависшие сеансы, а соединений к ним нет.
Причем пока сеанс не удалишь из консоли даже перезагрузка сервера не помогает.
После запуска эти сеансы снова отображаются. Я не в курсе где по ним кэшируется инфа, что даже перезагрузка не помогает.
11. necropunk 9 24.10.14 13:01 Сейчас в теме
А что мешает обработкой перебрать сеансы или процессы и грохнуть? Как визуально ты определяешь мертв процесс или жив? Перебрать процессы, посмотреть свойство MemorySize 10 мин. не меняется - грохать? Просто сейчас столкнулся с похожим, обработку накатал, перебираю файлы, сеансы, но не знаю как именно определить степень "мертвости" процесса :)
(10) hopter, а это не могут быть регламентные или фоновые какие-нибудь вещи?
12. hopter 36 27.10.14 10:07 Сейчас в теме
(11) не могут, т.к. висит сеанс толстого клиента без информации о соединении
а само соединение разорвано пользователем и благополучно закрылось при его штатном выходе из 1с
перед этим стояла 8.3.4.437, таких проблем не было

и похоже не мигрируют сеансы при перезапуске рабочего процесса, пользователю выдается сообщение о принудительном разрыве соединения хостом
пока убрал перезапуск рабочих процессов совсем, посмотрю несколько дней
13. necropunk 9 27.10.14 10:20 Сейчас в теме
(12) hopter, с миграцией процессов похожий косяк тоже, но если убрать - наблюдал картину подвисания процессов, то ли из спячки не выходят, хрен пойми. Но как факт - процессы висят.
14. DJDUH 17 27.10.14 10:49 Сейчас в теме
Есть такое, что кильнул, а сессии зависли в SQL и все действия - с 1С-манагером бессмысленны! Только ребут SQL-сервера и браузера!
15. juker 252 27.10.14 21:56 Сейчас в теме
(14) DJDUH, 1с манагер не помогает. Диспетчер задач и PID процесса в руки. Проблема реально решается без перезагрузки 1С сервера и тем паче скуля. А вот с зависшими скульными сессиями постоянно борюсь. Кстати касается не только 1С 8, еще и семерошную сессию скуль не завершает при некорректном выходе пользователя. В этом случае мне в помощь только Activity monitor - ПКМ на сессии, kill и все ).
На серваке, где крутится 20++ баз, за ребут меня просто от...имеют (да простят меня местные админы.). Так что тщательнее подходим к решению таких вопросов. ))
16. DJDUH 17 28.10.14 11:19 Сейчас в теме
(15) например у меня в скуле в диспетчере процессов завершаю зависшое соединение к базе,,, а в 1С манагере оно висит и не киляется - но, как только ребутаю Службу SQL-server и SQL-brouser - всё очищается!
17. djam_arttek 14.05.15 01:19 Сейчас в теме
на версиях от 8.3.4 до 8.3.6 проблема не только существует но и прекрасно живет.
18. DJDUH 17 14.05.15 10:25 Сейчас в теме
(17) djam_arttek, скорее всего из-за ограничения пользовательских возможностей на уровне системных грхост процесов, они не имею право что-либо с ними делать.
20. djam_arttek 14.05.15 14:10 Сейчас в теме
(18) DJDUH, фоновые задания не имеют каких-либо ограничений, как и пользователи по дефолту имеют полныеправа... Это проблема не прав, а самой платформы.
19. juker 252 14.05.15 10:58 Сейчас в теме
(17) djam_arttek, Проблему решил настройкой ограничений аппетитов процессов по памяти и времени существования процесса. Есть небольшое замедление в работе клиентской части, но отловить его можно только при замере производительности. Пользователю не видно изменений.
В результате зависания и как следствие, тормоза, прекратились.
djam_arttek; +1 Ответить
21. djam_arttek 14.05.15 14:11 Сейчас в теме
(19) можешь подсказать в какую сторону копать?
К примеру проставил время жизни отключенного процесса 600 сек, однако эта настройка не работает.
22. juker 252 15.05.15 10:12 Сейчас в теме
(21) djam_arttek, Когда настраиваешь процесс, используя параметры, то все поля должны быть заполнены. Я тоже нарвался на этот трабл.
Вот мои настройки:
http://slava.salincorp.com/wp-content/uploads/2015/05/Process_settings.jpg
23. AlexAuto 20.05.15 12:22 Сейчас в теме
(22) С заполненными параметрами не работает, для применения параметров надо перезапускать сервер 1с?
Прикрепленные файлы:
25. juker 252 26.05.15 18:56 Сейчас в теме
(23) AlexAuto, Сорри за поздний ответ, который наверняка уже не актуален :)
Да, конечно, службу следует рестартануть.
37. Дмитрий74Чел 234 02.10.17 12:04 Сейчас в теме
(25) а вот и нет, перезапуск службы не требуется. Для проверки можете поставить интервал перезапуска любой (если был 0) - и увидите как начнут завершаться rphost`ы и создаваться новые. Вижу на 8.3.9, так было и на 8.3.8, и на сколько помню на 8.3.6
38. juker 252 04.10.17 16:29 Сейчас в теме
(37) В обсуждении ядро 8.2.х.х уж не помню какое, но точно не 8.3. Когда производил настройку, предполагал автоматическое принятие изменений текущими процессами, но после долгого времени ожидания и нулевого результата произвел перезапуск.
24. Гость 26.05.15 15:32
У меня получается что если пользователь - сначала выключает 1с и потом уже терминал то все норм - а те кто сразу терминал закрывают вот только они и остаются подвешенными. - может кто подскажет как с таким бороться?
26. Ujine1313 9 23.07.15 10:48 Сейчас в теме
у меня то же появились фантомные соединения. Но фишка в том что процесс висит в консоли 1С а вот в диспетчере задач винды его нету. и как удалить его не понятно(
27. ArchanGelosZP 18.12.15 16:23 Сейчас в теме
(26) Ujine1313, Такая же ситуация, Рабочих процессов больше чем rphost ов
Часть рабочих процессов в поле "Включен" стоит "Нет"
и как убрать эти процессы непонятно
28. ArchanGelosZP 18.12.15 16:25 Сейчас в теме
скрин
Прикрепленные файлы:
34. juker 252 14.07.16 14:36 Сейчас в теме
(28) ArchanGelosZP, В версии ядра 8.2 существует возможность удалить/добавить рабочий процесс вручную.
Используйте для этого ветку "Рабочие серверы" - "ИмяСервера" - "Рабочие процессы".
В меню по ПКМ на "РАбочие процессы" можно создать процесс, а на самом процессе его можно удалить..
29. ArchanGelosZP 18.12.15 17:05 Сейчас в теме
пока решил из*бистым методом
- отсоединяю базу в скл
- удаляю базу на 1с сервере
- переименовываю файл и базу в скл
- создаю новую базу на 1с сервере
31. gralex 30.03.16 12:04 Сейчас в теме
(29) ArchanGelosZP, Спасибо, помогло на 8.3.6.2449, правда админы поленились переименовывать базу в скл, заработало и так, после создания новой базы на 1с-сервере.
30. fuser 3 10.03.16 11:30 Сейчас в теме
платформа 8.3.6.2449 (x64) - проблема такая же
32. dkonakov 10 31.03.16 19:48 Сейчас в теме
с недавних пор тоже самое началось, хоть толком ничего не менялось, добавились 2 новых юзера в УТ 10.3, платформа 8.3.6.2449
33. MikeLetto 79 14.07.16 09:46 Сейчас в теме
Для отрубания сеансов в SQL может быть полезно:

Отключение сеанса с перводом в offline. Offline можно не использовать.

DECLARE @DatabaseName nvarchar(50)
SET @DatabaseName = N'MyBaseName'

DECLARE @SQL varchar(max)
SET @SQL = ''

sel ect @SQL = @SQL + 'Kill ' + Convert(varchar, spid) + ';'
fr om master.dbo.sysprocesses
where dbid = DB_ID(@DatabaseName)
--where spid in (select blocked fr om master.dbo.sysprocesses wh ere blocked <> 0) and blocked = 0
exec(@SQL)
print @SQL

set @SQL = 'USE master 
ALT ER   DATABASE '+@DatabaseName+'
SET OFFLINE WITH ROLLBACK IMMEDIATE'
exec(@SQL)
--print @SQL
Показать
35. juker 252 14.07.16 14:55 Сейчас в теме
(33) MikeLetto, Офлайнить базу - грубо и бессмысленно, если там 50+ пользователей и зависшие сеансы не мешают работе. Кстати, перевод базы в офф автоматом киляет все подключения к ней (при установке флага), там все отвалятся :)
Помимо этого существуют контекстные блокировки (одна запись в таблице для SQL или один объект для 1С), когда открыт, например, элемент справочника номенклатуры и это нормальная работа подключения к SQL. В Вашем скрипте идет анализ количество блокировок не равное 0, что в корне неправильно. Поэтому автоматизировать убивание подключений у которых есть открытые блокировки в корне неправильно. Для этого существует и используется мной два инструмента, консоль управления 1С и SQLMS + Монитор активности. Причем указал в какой последовательности я использую эти инструменты.
36. TVA_11 10.02.17 08:40 Сейчас в теме
2. Находим процессы с именами rmngr и rphost.
Это помогло, но лишь до записи документа.

В общем все похоже, а причина оказалась в падении Журналов. И процессы вешались когда ОБмен писал в журнал.
40. juker 252 21.06.19 23:56 Сейчас в теме
(36)
писал в журнал.

Хорошее замечание!
Журнал SQLite использует и при его большом объёме вполне возможны такие варианты развития событий.
Длительность зависания смотрели?
41. TVA_11 25.06.19 12:54 Сейчас в теме
(40)
Насколько помню, висел неограниченно.
39. DiademGuards 21.06.19 14:01 Сейчас в теме
Также была проблема с зависшим рабочим процессом. Удаление процесса rphost из Диспетчера задач по номеру PID не помогло, в Консоли кластера процесс так и остался. Перезагрузка службы сервера не помогла.
Решение:
- посмотреть порт зависшего процесса
- в диспетчере задач если не включена колонка CommandLine
- найти процесс rmngr с нужным портом и завершить дерево процессов
После данных действий зависший рабочий процесс с консоли ушёл
Прикрепленные файлы:
Оставьте свое сообщение