Блокировка данных объекта при редактировании. Файловая база 1С + Apache + RedOS (Linux).

1. NikitaPopovskiy 11 20.05.22 14:09 Сейчас в теме
Ошибка: Происходит блокировка при работе файловой базы 1С , опубликована через Apace, на RedOS(Linux)

У нас 1С:Предприятие 8.3 (8.3.20.1838)
Управление нашей фирмой, редакция 1.6 (1.6.27.190)
База файловая, расположили её на RedOS Выпуск MUROM (7.3.1) 64-разрядный
Опубликовали через Apache/2.4.53.

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

Ошибка: "Происходит блокировка при работе файловой базы 1С , опубликована через Apace, на RedOS(Linux)"

У нас 1С:Предприятие 8.3 (8.3.20.1838)
Управление нашей фирмой, редакция 1.6 (1.6.27.190)
База файловая, расположили её на RedOS Выпуск MUROM (7.3.1) 64-разрядный
Опубликовали через Apache/2.4.53.

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

В пользователях (в ошибке) указан он же. Объект блокируется от 5 мин до 2ух часов.
Работать жутко не удобно.
Подскажите как это можно исправить ? Я так понимаю проблема довольно старая.
И проблема в Apache на системах Linux. Но ни одно решение из существующих не подошло.
Прикрепленные файлы:
Вознаграждение за ответ
Показать полностью
Найденные решения
25. NikitaPopovskiy 11 21.06.22 14:58 Сейчас в теме
По итогу получилось убрать блокировки и зависания.
Плотно пообщались с поддержкой RedOS. Спасибо ребятам за оперативную работу!
По итогу оказалось что база у нас была опубликована средствами конфигуратора.
Мы ее переопубликовали средствами apache через терминал.

Проверьте данные параметры модуля mpm_event_module:
<IfModule mpm_event_module>
ServerLimit 5
StartServers 100
MinSpareThreads 1
MaxSpareThreads 1
MaxRequestWorkers 1
ThreadsPerChild 1
MaxRequestsPerChild 1000
ThreadsPerChild 1
KeepAlive Off
</IfModule>

После этого блокировки ушли полностью !
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
14. krasnodar-it 20.05.22 19:31 Сейчас в теме
(1)
Apache
конфиг Apachа в студию
15. NikitaPopovskiy 11 24.05.22 15:12 Сейчас в теме
(14) Прикладываю
Прикрепленные файлы:
httpd.conf
2. starik-2005 3090 20.05.22 14:32 Сейчас в теме
1. Попробовать другую платформу.
2. Перейти на серверный вариант.
4. NikitaPopovskiy 11 20.05.22 14:40 Сейчас в теме
(2)
2. Пока не готовы брать лицензию на сервер 1С за 86 000 руб.
Пользователей будет 6-7.
1. Другую версию платформы пробовали. Проблему это не решило.
3. starik-2005 3090 20.05.22 14:38 Сейчас в теме
Apache, как известно, для обработки запросов стартует 5-10 процессов. И каждый отдельно загружает модуль 1c и открывает базу...вот тут то и происходит блокировка - повторное открытие документа происходит через другой процесс apache, и 1с думает что это кто-то другой, хотя запрос пришёл от того же клиента. Также это объясняет, почему блокировка снимается через день-два. Это происходит изза перезапуска своих дочерних процессов, это апач иногда делает.
В общем недоработка 1Сников.

Её можно обойти, указав в настройке апача кол-во процессов = 1 (mpm-worker) и блокировки вроде пропадут. Вот только производительность должна пострадать немного (хотя я не заметил на 1-2х клиентах)
6. NikitaPopovskiy 11 20.05.22 14:42 Сейчас в теме
(3)
Да , по интернету прошелся , в основном все писали про кол-во процессов.
Сделали. И это не помогло. Блокировки по прежнему вылетают , а производительность заметно ухудшилась.
9. starik-2005 3090 20.05.22 14:43 Сейчас в теме
(6)
И это не помогло.
Т.е. по мануалу кодерлайна сделали 1 в 1, и ничего?
10. NikitaPopovskiy 11 20.05.22 14:48 Сейчас в теме
(9) Все верно, не помогло.
И также в партнерском форуме тоже нашел похожую проблему где писали про лимит процессов апаче и тоже не помогло.
Корень проблемы - в отсутствии/недоработке синхронизации между модулями 1С внутри процессов веб-сервера под линукс.

Проблема не проявляется в SQL базах, т.к. блокировки выполняются на уровне сервера приложений.

Проблема не проявляется под windows, т.к. там используется другой модуль для управления процессами/потоками (mpm_winnt_module)

Что можно сделать: добавить в mpm_event.conf параметр

ServerLimit 1
7. starik-2005 3090 20.05.22 14:42 Сейчас в теме
В общем я в интернетах нашел аж два идентичных практически сообщения на эту тему. Вы пробовали? Апач после этого рестартовали? Блокировки не ушли?
8. NikitaPopovskiy 11 20.05.22 14:42 Сейчас в теме
(7)Ответил в (6) сообщении.
11. NikitaPopovskiy 11 20.05.22 15:13 Сейчас в теме
Единственное что не пробовали из решений, это сделать https вместо http.
На выходные попробуем, а так идей вообще нету.... уже 2 недели с этим мучаюсь...
12. starik-2005 3090 20.05.22 15:33 Сейчас в теме
(11) вряд ли поможет. Но имеет смысл разобраться с тем, что у Апача есть три варианта руления потоками под линухом.
https://sidmid.ru/apache-%D1%80%D0%B5%D0%B6%D0%B8%D0%BC%D1%8B-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B/
13. NikitaPopovskiy 11 20.05.22 16:01 Сейчас в теме
16. Дмитрий74Чел 239 24.05.22 16:28 Сейчас в теме
Начиная не помню с какого релиза платформы, окно сообщения о блокировке (на win) выглядит иначе: есть кнопка "все рано продолжить", т.е. "перехватить" документ у заблокировавшего пользователя. Возможно в УНФ старый уровень совместимости платформы. Если так - можете попробовать обновить УНФ, или на копии попробовать выставить режим совместимости "не использовать".
17. Дмитрий74Чел 239 24.05.22 16:31 Сейчас в теме
(16) Нашел, 8.3.15. Вряд ли тогда поможет
Изменения
В клиентском приложении (тонкий, толстый и веб-клиент) реализована возможность снимать объектную блокировку, установленную другим пользователем или этим же пользователем, но в другом сеансе. Под «объектной блокировкой» понимается блокировка, установленная интерактивно, при редактировании объекта в форме, или методами Заблокировать(), ЗаблокироватьДанныеДляРедактирования(), ЗаблокироватьДанныеФормыДляРедактирования().
При обнаружении блокировки реализована возможность начать обсуждение с инициатором блокировки по системе взаимодействия (если информационная база подключена к системе взаимодействия).
18. NikitaPopovskiy 11 28.05.22 20:21 Сейчас в теме
(16) С этим попробовали, спасибо за информацию, включив "Обсуждения" , кнопка "Захватить объект" появилась.
Но каждый раз не удается его захватить, выдает ошибку "Не удалось перехватить объект".
19. NikitaPopovskiy 11 28.05.22 20:23 Сейчас в теме
Перестроили всю работу apache, но безрезультатно.
Есть еще идеи ?
Я не могу понять , вроде не мало фирм стали переходить на linux сервера, ни у кого такой проблемы не было что ли ?)
20. starik-2005 3090 29.05.22 19:28 Сейчас в теме
(19)
вроде не мало фирм стали переходить на linux сервера, ни у кого такой проблемы не было что ли ?
Видимо были, поэтому в инете столько мануалов, которые в Вашем персональном случае по какой-то причине не работают (ну или Вы что-то делаете не так, что тоже нельзя исключить).

ЗЫ: вроде как фреш на постгресе и линухе, но да - там серверный вариант. Видимо те, кто переходит на Линух, почти все на серверном варианте живут.
22. NikitaPopovskiy 11 30.05.22 14:22 Сейчас в теме
(20) Да , наверное вы правы, веб сервер на линуксе должен сопровождаться лицензией на сервер-мини или на сервер.
По крайней мере пока не исправят этот баг.
21. ansh15 30.05.22 14:05 Сейчас в теме +2 $m
Так работает
<IfModule mpm_event_module>
ServerLimit 1
StartServers 1
MinSpareThreads 1
MaxSpareThreads 1
MaxRequestWorkers 1
MaxConnectionsPerChild 0
</IfModule>

Без этого - такая же ситуация как и в (1).
На ИТС про ServerLimit 1 тоже есть информация.

Учитывая, что работа с файловой базой через веб сервер носит исключительно однопоточный характер(если один пользователь запустил что-то на 2-5 мин., все остальные терпеливо ждут), то можно попробовать автономный сервер, до трех сеансов с файловой базой. Если до пяти, то мини сервер. А дальше - как пойдет... :)
Сантименты и сентенции по поводу "у клиента нет денег на сервер 1С" - довольно слабая аргументация, захотят комфортно работать - найдут.
23. NikitaPopovskiy 11 30.05.22 17:35 Сейчас в теме
(21) Вечером попробуем , завтра отпишусь появляются блокировки или нет!
24. NikitaPopovskiy 11 01.06.22 15:58 Сейчас в теме
(21) Ну вообще блокировки ушли , теперь стала база зависать ) просто колесико крутится, но я так понимаю, теперь апач их выстаивает в очередь , сеансы. Работают около 5 пользователей.
Такое я думаю подойдет для работы 1-2 пользователей.
Я думаю лучше уже не сделать))
И самое верное решение для клиентов, у которых будет apache и ОС Linux ( RedOS), это 1С сервер.

Тебе большое спасибо!
25. NikitaPopovskiy 11 21.06.22 14:58 Сейчас в теме
По итогу получилось убрать блокировки и зависания.
Плотно пообщались с поддержкой RedOS. Спасибо ребятам за оперативную работу!
По итогу оказалось что база у нас была опубликована средствами конфигуратора.
Мы ее переопубликовали средствами apache через терминал.

Проверьте данные параметры модуля mpm_event_module:
<IfModule mpm_event_module>
ServerLimit 5
StartServers 100
MinSpareThreads 1
MaxSpareThreads 1
MaxRequestWorkers 1
ThreadsPerChild 1
MaxRequestsPerChild 1000
ThreadsPerChild 1
KeepAlive Off
</IfModule>

После этого блокировки ушли полностью !
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот