1c Медицина - зависает при формировании комплекта документов
Добрый день. Прошу помощи. Периодически, раз в день или чаще 1с зависает при формировании комплекта документов. При этом может зависнуть у одного пользователя, у других при этом все продолжает работать до тех пор, пока они тоже не сделают формирование комплекта док-тов. Перезапуск служб PostgreSQL и 1c сервера (они на одном хосте) может помочь, а может и нет. На сервере при зависании достаточно ресурсов (занято около 15% памяти и столько же процессора), то есть на сервере память не съедается.
Такие наблюдения - когда все зависло, новый пользователь может зайти в базу, а может не зайти (висит заставка). Игрался с разными настройками кластера, не помогает, при изменении "интервала перезапуска" на отличное от нуля - становится хуже, 1с тормозит при любых действиях.
Конфигурация Медицины - 1.3.3.1
POstgreSQL Pro for Windows 14
1c 8.3.25.1394 x32 (может нужна версия х64 ???)
RAM 48 ГБ
Размер базы при выгрузке в dt - около 27 Гб
Такие наблюдения - когда все зависло, новый пользователь может зайти в базу, а может не зайти (висит заставка). Игрался с разными настройками кластера, не помогает, при изменении "интервала перезапуска" на отличное от нуля - становится хуже, 1с тормозит при любых действиях.
Конфигурация Медицины - 1.3.3.1
POstgreSQL Pro for Windows 14
1c 8.3.25.1394 x32 (может нужна версия х64 ???)
RAM 48 ГБ
Размер базы при выгрузке в dt - около 27 Гб
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Привет, я только проснулся, мог не правильно что-то прочитать или упустить, заранее извиняюсь.
Перейди на 64-битную версию 1С — с твоей базой в 27 ГБ 32-битная версия не справляется, она ограничена по памяти.
Проверь настройки PostgreSQL — увеличь shared_buffers, work_mem, и другие важные параметры для лучшей производительности.
Посмотри на блокировки — возможно, зависания вызваны блокировками таблиц при формировании комплекта документов. Проверь это через pg_stat_activity и pg_locks.
Включи журнал производительности в 1С и посмотри, где именно происходит затык.
Настройки кластера лучше вернуть к дефолту и обновить 1С до последней стабильной версии.
Если это не решит проблему, возможно, придется обратиться в техподдержку.
Отпиши по результатам
Перейди на 64-битную версию 1С — с твоей базой в 27 ГБ 32-битная версия не справляется, она ограничена по памяти.
Проверь настройки PostgreSQL — увеличь shared_buffers, work_mem, и другие важные параметры для лучшей производительности.
Посмотри на блокировки — возможно, зависания вызваны блокировками таблиц при формировании комплекта документов. Проверь это через pg_stat_activity и pg_locks.
Включи журнал производительности в 1С и посмотри, где именно происходит затык.
Настройки кластера лучше вернуть к дефолту и обновить 1С до последней стабильной версии.
Если это не решит проблему, возможно, придется обратиться в техподдержку.
Отпиши по результатам
Спасибо за ответы.
Перейди на 64-битную версию 1С — с твоей базой в 27 ГБ 32-битная версия не справляется, она ограничена по памяти.
По какому показателю я могу это точно определить? (переход на х64 стоит около 50к, надо как-то это обосновать, и если это не поможет - меня съедят)
shared_buffers = 10GB
work_mem = 128MB
Выполнил запрос
SEL ECT * FR OM pg_locks pl LEFT JOIN pg_stat_activity psa
ON pl.pid = psa.pid;
но увы, мало что могу понять из результатов
Перейди на 64-битную версию 1С — с твоей базой в 27 ГБ 32-битная версия не справляется, она ограничена по памяти.
По какому показателю я могу это точно определить? (переход на х64 стоит около 50к, надо как-то это обосновать, и если это не поможет - меня съедят)
shared_buffers = 10GB
work_mem = 128MB
Выполнил запрос
SEL ECT * FR OM pg_locks pl LEFT JOIN pg_stat_activity psa
ON pl.pid = psa.pid;
но увы, мало что могу понять из результатов
(3)
Переход на 64-битную версию 1С — это очень важно. Твоя база весит 27 ГБ, а 32-битная версия 1С ограничена по памяти (до 3 ГБ). Если процесс 1С на сервере съедает близко к этому лимиту, переход на 64-битную версию решит проблему с нехваткой памяти. Можешь это проверить в диспетчере задач — если память почти на пределе, значит, дело в этом.
Настройки PostgreSQL у тебя в целом нормальные. shared_buffers = 10GB — ок, но попробуй поднять work_mem до 256 или 512 МБ, если у вас тяжелые запросы.
Блокировки могут быть причиной зависаний. Твой запрос показал блокировки, но давай попробуем немного другой запрос:
SEL ECT psa.query, psa.datname, psa.usename, psa.state, pl.mode, pl.locktype
FR OM pg_locks pl
LEFT JOIN pg_stat_activity psa ON pl.pid = psa.pid
WHERE psa.state = 'active';
Это покажет, какие запросы сейчас активны и держат блокировки.
Журнал производительности включи в 1С, чтобы понять, где происходит затык. Это может сильно помочь в поиске проблемы.
Настройки кластера лучше вернуть к дефолтным, если стало хуже после изменений.
1c Медицина - зависает при формировании комплекта документов
Форум Администрирование Производительность и оптимизация (HighLoad)
Здравоохранение, медицина, стоматология
1. edst1977 22.09.24 12:54
Добрый день. Прошу помощи. Периодически, раз в день или чаще 1с зависает при формировании комплекта документов. При этом может зависнуть у одного пользователя, у других при этом все продолжает работать до тех пор, пока они тоже не сделают формирование комплекта док-тов. Перезапуск служб PostgreSQL и 1c сервера (они на одном хосте) может помочь, а может и нет. На сервере при зависании достаточно ресурсов (занято около 15% памяти и столько же процессора), то есть на сервере память не съедается.
Такие наблюдения - когда все зависло, новый пользователь может зайти в базу, а может не зайти (висит заставка). Игрался с разными настройками кластера, не помогает, при изменении "интервала перезапуска" на отличное от нуля - становится хуже, 1с тормозит при любых действиях.
Конфигурация Медицины - 1.3.3.1
POstgreSQL Pro for Windows 14
1c 8.3.25.1394 x32 (может нужна версия х64 ???)
RAM 48 ГБ
Размер базы при выгрузке в dt - около 27 Гб
+ – Ответить
Ответы
Подписаться на ответы Инфостарт бот Добавить вознаграждение Сортировка: Древо развёрнутое Свернуть все
2. user1769439 22.09.24 18:05 Сейчас в теме
Привет, я только проснулся, мог не правильно что-то прочитать или упустить, заранее извиняюсь.
Перейди на 64-битную версию 1С — с твоей базой в 27 ГБ 32-битная версия не справляется, она ограничена по памяти.
Проверь настройки PostgreSQL — увеличь shared_buffers, work_mem, и другие важные параметры для лучшей производительности.
Посмотри на блокировки — возможно, зависания вызваны блокировками таблиц при формировании комплекта документов. Проверь это через pg_stat_activity и pg_locks.
Включи журнал производительности в 1С и посмотри, где именно происходит затык.
Настройки кластера лучше вернуть к дефолту и обновить 1С до последней стабильной версии.
Если это не решит проблему, возможно, придется обратиться в техподдержку.
Отпиши по результатам
+ – Ответить
3. edst1977 22.09.24 18:44
Спасибо за ответы.
Перейди на 64-битную версию 1С — с твоей базой в 27 ГБ 32-битная версия не справляется, она ограничена по памяти.
По какому показателю я могу это точно определить? (переход на х64 стоит около 50к, надо как-то это обосновать, и если это не поможет - меня съедят)
shared_buffers = 10GB
work_mem = 128MB
Выполнил запрос
SEL ECT * FR OM pg_locks pl LEFT JOIN pg_stat_activity psa
ON pl.pid = psa.pid;
но увы, мало что могу понять из результатов
ПоказатьФорум Администрирование Производительность и оптимизация (HighLoad)
Здравоохранение, медицина, стоматология
1. edst1977 22.09.24 12:54
Добрый день. Прошу помощи. Периодически, раз в день или чаще 1с зависает при формировании комплекта документов. При этом может зависнуть у одного пользователя, у других при этом все продолжает работать до тех пор, пока они тоже не сделают формирование комплекта док-тов. Перезапуск служб PostgreSQL и 1c сервера (они на одном хосте) может помочь, а может и нет. На сервере при зависании достаточно ресурсов (занято около 15% памяти и столько же процессора), то есть на сервере память не съедается.
Такие наблюдения - когда все зависло, новый пользователь может зайти в базу, а может не зайти (висит заставка). Игрался с разными настройками кластера, не помогает, при изменении "интервала перезапуска" на отличное от нуля - становится хуже, 1с тормозит при любых действиях.
Конфигурация Медицины - 1.3.3.1
POstgreSQL Pro for Windows 14
1c 8.3.25.1394 x32 (может нужна версия х64 ???)
RAM 48 ГБ
Размер базы при выгрузке в dt - около 27 Гб
+ – Ответить
Ответы
Подписаться на ответы Инфостарт бот Добавить вознаграждение Сортировка: Древо развёрнутое Свернуть все
2. user1769439 22.09.24 18:05 Сейчас в теме
Привет, я только проснулся, мог не правильно что-то прочитать или упустить, заранее извиняюсь.
Перейди на 64-битную версию 1С — с твоей базой в 27 ГБ 32-битная версия не справляется, она ограничена по памяти.
Проверь настройки PostgreSQL — увеличь shared_buffers, work_mem, и другие важные параметры для лучшей производительности.
Посмотри на блокировки — возможно, зависания вызваны блокировками таблиц при формировании комплекта документов. Проверь это через pg_stat_activity и pg_locks.
Включи журнал производительности в 1С и посмотри, где именно происходит затык.
Настройки кластера лучше вернуть к дефолту и обновить 1С до последней стабильной версии.
Если это не решит проблему, возможно, придется обратиться в техподдержку.
Отпиши по результатам
+ – Ответить
3. edst1977 22.09.24 18:44
Спасибо за ответы.
Перейди на 64-битную версию 1С — с твоей базой в 27 ГБ 32-битная версия не справляется, она ограничена по памяти.
По какому показателю я могу это точно определить? (переход на х64 стоит около 50к, надо как-то это обосновать, и если это не поможет - меня съедят)
shared_buffers = 10GB
work_mem = 128MB
Выполнил запрос
SEL ECT * FR OM pg_locks pl LEFT JOIN pg_stat_activity psa
ON pl.pid = psa.pid;
но увы, мало что могу понять из результатов
Переход на 64-битную версию 1С — это очень важно. Твоя база весит 27 ГБ, а 32-битная версия 1С ограничена по памяти (до 3 ГБ). Если процесс 1С на сервере съедает близко к этому лимиту, переход на 64-битную версию решит проблему с нехваткой памяти. Можешь это проверить в диспетчере задач — если память почти на пределе, значит, дело в этом.
Настройки PostgreSQL у тебя в целом нормальные. shared_buffers = 10GB — ок, но попробуй поднять work_mem до 256 или 512 МБ, если у вас тяжелые запросы.
Блокировки могут быть причиной зависаний. Твой запрос показал блокировки, но давай попробуем немного другой запрос:
SEL ECT psa.query, psa.datname, psa.usename, psa.state, pl.mode, pl.locktype
FR OM pg_locks pl
LEFT JOIN pg_stat_activity psa ON pl.pid = psa.pid
WHERE psa.state = 'active';
Это покажет, какие запросы сейчас активны и держат блокировки.
Журнал производительности включи в 1С, чтобы понять, где происходит затык. Это может сильно помочь в поиске проблемы.
Настройки кластера лучше вернуть к дефолтным, если стало хуже после изменений.
Спасибо, завтра, когда будет рабочий день и все зависнет, запущу запрос. Включил ТЖ.
Можешь это проверить в диспетчере задач — если память почти на пределе, значит, дело в этом. Я говорил ранее, что память и процессор абсолютно не нагружены, в диапазоне 10-25% оба показателя. И потребление любого rmngr.exe не приближается к 3 Гб. Важное уточнение - если 1с зависла, как правило невозможно штатным способом остановить службу "Агент сервера 1С:Предприятия 8.3" - она не отвечает на запрос. Только через taskkill всех процессов.
Есть еще такие гипотезы:
1. В сформированных для пациентов документах подтягивается какой-то кривой штрих-код, который формируется на лету, и вот в этой функции где-то ошибка
2. Сервер 1с лезет куда-то в интернет с проверкой чего-то, а на том конце пусто
3. Попутно при оптимизации обнаруживаю ошибку субд, которую не знаю как чинить (см приложение)
4. Служба запущена с флагом -debug, может его стоит выключить
5. Аппаратная проблема (бракованная память, SSD)
Можешь это проверить в диспетчере задач — если память почти на пределе, значит, дело в этом. Я говорил ранее, что память и процессор абсолютно не нагружены, в диапазоне 10-25% оба показателя. И потребление любого rmngr.exe не приближается к 3 Гб. Важное уточнение - если 1с зависла, как правило невозможно штатным способом остановить службу "Агент сервера 1С:Предприятия 8.3" - она не отвечает на запрос. Только через taskkill всех процессов.
Есть еще такие гипотезы:
1. В сформированных для пациентов документах подтягивается какой-то кривой штрих-код, который формируется на лету, и вот в этой функции где-то ошибка
2. Сервер 1с лезет куда-то в интернет с проверкой чего-то, а на том конце пусто
3. Попутно при оптимизации обнаруживаю ошибку субд, которую не знаю как чинить (см приложение)
4. Служба запущена с флагом -debug, может его стоит выключить
5. Аппаратная проблема (бракованная память, SSD)
Прикрепленные файлы:
(5)
И правда проверь диск и файловую систему. Ошибка говорит о том, что какой-то файл не найден. Это может быть связано с проблемами на диске или сбоями файловой системы.
Да, отключи флаг -debug. Если у тебя включен флаг -debug на службе 1С, попробуй его убрать. Иногда он может нагружать систему и вызывать лишние проблемы.
Штрих-коды и другие данные - действительно нужно проверить нет ли больных кодов.
Если все эти шаги не помогут, может быть, имеет смысл связаться с техподдержкой 1С или PostgreSQL. Они могут дать более точный совет по настройке или выявлению проблем. Удачи, отпишись потом, как пойдет!
xe не приближается к 3 Гб. Важное уточнение - если 1с зависла, как правило невозможно штатным способом остановить службу "Агент сервера 1С:Предприятия 8.3" - она не отвечает на запрос. Только через taskkill всех процессов.
И правда проверь диск и файловую систему. Ошибка говорит о том, что какой-то файл не найден. Это может быть связано с проблемами на диске или сбоями файловой системы.
Да, отключи флаг -debug. Если у тебя включен флаг -debug на службе 1С, попробуй его убрать. Иногда он может нагружать систему и вызывать лишние проблемы.
Штрих-коды и другие данные - действительно нужно проверить нет ли больных кодов.
Если все эти шаги не помогут, может быть, имеет смысл связаться с техподдержкой 1С или PostgreSQL. Они могут дать более точный совет по настройке или выявлению проблем. Удачи, отпишись потом, как пойдет!
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот