Rmngr что за процесс
Архитектура кластера
Основные возможности кластера серверов
Общая схема клиент-серверного варианта работы
В клиент-серверном варианте работы клиентское приложение взаимодействует с кластером серверов, который, в свою очередь, осуществляет взаимодействие с сервером баз данных.
Один из компьютеров, входящих в состав кластера серверов, является центральным сервером кластера. Центральный сервер, помимо обслуживания клиентских соединений, управляет работой всего кластера и хранит реестр кластера.
Для клиентского соединения кластер адресуется по имени центрального сервера и номеру сетевого порта. Если используется стандартный сетевой порт, то достаточно указания одного имени центрального сервера.
При установке соединения клиентское приложение обращается к центральному серверу кластера. Центральный сервер, на основе анализа статистики загруженности рабочих процессов, направляет клиентское приложение к конкретному рабочему процессу, который будет его обслуживать. Этот процесс может находиться как на центральном сервере, так и на любом рабочем сервере кластера.
Рабочий процесс выполняет аутентификацию пользователя и обслуживает соединение до окончания сеанса работы клиента с данной информационной базой.
Состав простейшего кластера серверов
Простейший кластер серверов может располагаться на одном компьютере и содержать один рабочий процесс:
Функционирование компьютера в составе кластера обеспечивается процессом ragent.exe, который называется агентом сервера. Соответственно компьютер, на котором запущен агент сервера, называется рабочим сервером. Одной из функций агента сервера является ведение списка кластеров, расположенных на данном рабочем сервере.
Агент сервера и список кластеров не входят в состав кластера серверов, а лишь обеспечивают работу сервера и кластеров, которые расположены на нем.
Процесс 1С rmngr.exe грузит процессор
Введение
Этот сервер привлек мое внимание сразу же, как только я стал с ним работать. Предыдущий администратор безрезультатно бился над производительностью, приобрел 2 внешних корзины для отдельного рейда под базы данных mssql и временные данные пользователя 1С, но существующую проблему по загрузке процессора это не решало, хотя немножко разгрузило диски, но реальная проблема была не в них.
На сервере размещались примерно 30-35 баз, в которых работали по 1-2 человека и пару баз были, где работали по 3-5 человек одновременно. Все это крутилось вместе с MSSQL сервером на отдельном железном сервере с одним стареньким ксеоном и 32 гб оперативы. В принципе, для этих задач железо было более чем.
Первое, на что я обратил внимание, это то, что процессор был загружен даже ночью, когда на сервере никто не работал. Полез в консоль администратора смотреть, что нагружает процессор. Оказалось, что это фоновые задачи. Для большинства баз они были не нужны и все лишнее отключил. Нагрузка процессора сразу упала до приемлемого уровня в 60-70%, а диски вообще полностью разгрузились. Я про сервер забыл на какое-то время.
Снова к нему вернулся, когда пользователи стали жаловаться на очень медленную работу баз 1С. Процессор к тому времени почти всегда был загружен на 100%. Лишних фоновых задач уже не было. Надо было разбираться более внимательно, в чем тут проблема.
Разбираемся что конкретно в rmngr.exe грузит процессор
Загрузку процессора в равной степени давал процесс rmngr.exe и rphost.exe. Rphost уже ранее был настроен и оптимизирован. Вот такие настройки дали стабильную работу без необходимости перезапускать сервер месяцами:
Нагрузку rphost давал за счет оставшихся фоновых задач и что с ним еще сделать, я не знал. А с rmngr хотелось разобраться и узнать, что конкретно пожирает процессорное время. В этом процессе собраны все процессы менеджера кластера:
Есть возможность разделить сервисы менеджера кластера по разным системным процессам rmngr.exe и по pid определить, какая именно служба нагружает процессор. Включить такое разделение можно в свойствах рабочего сервера:
После того, как вы поставите галку, агент сервера 1С сам перезапустится с новыми настройками. После этого в диспетчере задач у вас будет порядка 15-ти процессов rmngr.exe с разными pid. Смотрите, какой из процессов больше всего использует процессор и в консоли управления 1С в разделе Менеджеры кластера по pid смотрите описание процесса.
В моем случае это был сервис журнала регистраций. Чтобы это узнать, дважды щелкните мышкой по процессу с необходимым pid:
Пол дела сделали, нашли виновника тормозов. Я скрины делал, когда уже решил проблему, так что у меня нагрузки нет.
Сервис журнала регистраций 1С нагружает процессор
Я выяснил, что конкретно дает чрезмерную нагрузку на сервер. Посмотрел на объем журналов регистраций. У некоторых баз он достигал размера в 10-15 гигов. После чистки серверу стало заметно легче, нагрузка снова опустилась, но где-то до 80-90% и я на несколько месяцев забыл про сервер.
Он напомнил о себе тормозами и загрузкой процессора в 100%. Проделанные выше операции уже не давали результата. Баз стало немного больше и нужно было думать, как разгрузить сервер. Он работал на все 100% даже в нерабочее время, когда на нем не было ни одного реального пользователя. Сервис журнала регистраций потреблял 30-40% процессорного времени.
Я стал внимательно шерстить интернет на заданную тему и нашел несколько заметок. Находились люди, которые обратили внимание на чрезмерную нагрузку сервиса журнала регистраций. Как вариант решения проблемы они предлагали откатиться на старую версию ведения логов lgf вместо новой lgd. Я не знаю, что принципиально изменилось в формате ведения лога журнала регистраций, но по отзывам попробовавших, нагрузка на процессор падала. Забегая вперед скажу, что мне этот совет помог.
Переводим сервер на старый вариант ведения логов журнала регистраций
Какой-то одной настройки или автоматического решения для перевода лога журнала регистраций в старый формат lgf нет. Чтобы использовать старый формат необходимо остановить службу Агента Сервера 1С:Предприятия. Затем отправиться в папку C:\Program Files (x86)\1cv8\srvinfo\reg_1541, выбрать по id базу, в которой хотите изменить формат лога. У меня баз было много, мне лениво стало вручную в каждой менять формат. Я выбрал базы с самым большим объемом и изменил формат только у них.
В каждой папке с базой есть каталог 1Cv8Log, а в нем 2 файла: 1Cv8.lgd и 1Cv8.lgd-journal. Их надо удалить и вместо них в этой папке создать пустой файл 1Cv8.lgf. Проделать такую операцию нужно со всеми базами, где будете менять формат лога. Старый не обязательно удалять, лучше его перенести куда-нибудь, вдруг пригодятся записи из него.
После этого можно запускать службу Агента Сервера 1С:Предприятия. После перехода на старый формат журнала регистрации, нагрузка процесса rmngr.exe упала практически до 0, а сервера в целом до приемлемых 40-60%.
Заключение
После того, как вы решите все проблемы на сервере 1С, процессы менеджера кластера нужно снова объединить в 1, убрав отвечающую за этот параметр галку в свойствах рабочего сервера. 1С не рекомендует постоянно использовать такой режим работы, так как он является отладочным.
Сервер 1С
Термины, понятия
Под понятием «кластер серверов» понимается несколько компьютеров (серверов) выполняющих общую задачу.
Задачи, решаемые кластером серверов 1С:Предприятие 8 на рисунке ниже.
Зачем нужен сервер 1С
Под понятием «кластер серверов» понимается несколько компьютеров (серверов) выполняющих общую задачу.
Задачи, решаемые кластером серверов 1С:Предприятие 8 на рисунке ниже.
Разница между 8.1 и 8.2
Кластер 1С 8.1
Кластер серверов 1C:Предприятие 8.1 – это реализация идей распределения нагрузки на сервера, обслуживающие клиентские запросы. Такой механизм реализует распределение нагрузки на вычислительные ресурсы в рамках одного сервера или нескольких серверов («Рабочих серверов»), обеспечивая, таким образом, масштабирование приложения. Кластер серверов дублирует код, обслуживающий клиентские соединения. Дублирующийся исполняемый код кластера назван «Рабочим процессом» (rphost). При установке кластера создается только один рабочий процесс.
Несколько рабочих процессов на одном сервере дают возможность эффективно использовать объем оперативной памяти и ресурсы процессора для выполнения запросов, а также подключить клиентский сеанс к другому рабочему процессу при «крахе» текущего.
За понимание, что запущено на конкретном сервере, отвечает программа «Агент сервера» (ragent). Остановка агента сервера сделает сервер недоступным для использования кластером. Свою информацию агент хранит в файле srvribrg.lst.
Информацией о рабочих базах, задействованных рабочих процессах владеет «Менеджер сервера» (rmngr). Эту информацию он хранит в файле 1CV8Reg.lst. Остановка менеджера сервера может привести к перезапуску клиентских приложений в случаи удачного рестарта менеджера или к полной остановке работы рабочих серверов всего кластера.
1С:Предприятие 8.1 допускает возможность создания на одном сервере несколько независимых кластеров. Каждый из них идентифицируется в сети уникальным «IP портом» и уникальным номером в служебных файлах. Первый кластер по умолчанию получает порт 1541.
Для управления кластером предназначена оснастка «Серверы предприятия».
Подключаться к серверам можно по имени или IP адресу сервера.
Агент сервера
Агент сервера «знает» о всех кластерах, которые запущены на сервере. Эта информация хранится в файле srvribrg.lst со списком кластеров и администраторов списка. Основной порт агента – 1540. На каждом Рабочем сервере может быть запущен только один агент, обслуживающей все возможные кластера на данном сервере.
Чтобы получить более детальную информацию наглядно, воспользуйтесь утилитой Process Explorer (разработчик Sysinternals). Программа позволяет глубже заглянуть внутрь любых выполняемых процессов, в том числе кластера серверов 1С:Предприятия 8.1.
Менеджер кластера
Менеджер кластера отвечает за работу кластера. У каждого кластера свой Менеджер. Менеджер хранит информацию о кластере в файле 1CV8Reg.lst (реестр кластера). У каждого Менеджера кластера также есть свой порт на Рабочем сервере. Для первого кластера по умолчанию порт Менеджера 1541. Именно этот порт отображается в оснастке «Серверы 1С:Предприятия» в ветке «Кластеры», идентифицируя кластер.
Менеджер принимает запросы от клиентской части 1С:Предприятия 8.1 и принимает решение, какому Рабочему процессу отдать этот запрос на обслуживание.
Для взаимодействия с рабочими процессами Менеджер использует служебный порт.
Рабочий процесс
За «работу с клиентами» отвечает Рабочий процесс. Можно сказать, что в предыдущей версии 1С:Предприятия 8.0 «Рабочий процесс» был один.
Рабочих процессов в кластере 1С:Предприятия 8.1 может быть несколько. Менеджер сервера решает, какой из рабочих процессов будет обслуживать клиентское подключение. Для клиентских подключений Рабочим процессам по умолчанию выделяется диапазон IP портов 1560 – 1591. Кроме этого, каждому Рабочему процессу назначается Служебный порт для обмена с менеджером кластера. Каждый рабочий процесс использует до 2 Gb ОЗУ в 32х разрядной операционной системе. В 64х разрядной операционной системе ограничение накладывается физическим объемом ОЗУ
Кластер 1С 8.2
Кластер серверов 1C:Предприятие 8.2 – дальнейшее развитие технологий сервера 8.2.
Сервер может работать «как 8.1», т.е. в нем осталась совместимость с предыдущими технологиями.
И плюс реализован новый подход к работе сервера. Теперь вместо процессов важную роль сеансы.
Сеансы позволяют выполнять балансировку загруженности и отказоустойчивости в управляемом приложении.
Менеджер кластера теперь стал сложнее. Часть функций теперь можно выделить в отдельный процесс и даже разместить на другом рабочем сервере кластера. Это позволяет балансировать загруженность сервера.
Отказоусточивость сервера 8.2 достигается за счет:
Это позволяет обеспечить непрерывность работы:
При разрыве физического соединения клиента с кластером (уборщица выдернула кабель, отключилось питание сетевого оборудования, неполадки у провайдера) не приходится заново подключаться к информационной базе и начинать всю работу сначала. После восстановления физического соединения пользователь может продолжить работу с того места, на котором она была прервана.
Кластер 1С 8.3
Решение возможных проблем с установкой
При установке серверной части 1С:Предприятия 8.1 вы можете создать нового пользователя или выбрать существующую учетную запись.
В случае выбора существующей учетной записи вы должны указать правильный пароль и подтверждение, иначе запуск серверной части далее приведет к ошибке.
При первом запуске Агента кластера создается кластер «по умолчанию».
Кластер по умолчанию имеет следующие характеристики:
· номер порта – 1541;
· диапазон IP портов – 1560:1591;
· поддержка многих рабочих процессов – выключена;
· один рабочий процесс, номер порта устанавливается из указанного диапазона.
Если при первом запуске агента кластера возникли какие-либо проблемы, то кластер по умолчанию может быть не создан. Это проявляется в том, что при запуске агента сервера (ragent) он стартует, но не запускает другие процессы кластера (rmngr, rphost). Список кластеров srvribrg.lst при этом выглядит так:
<
<0>,
В этом случае можно остановить процесс ragent, удалить список кластеров (srvribrg.lst) и запустить ragent снова.
Проверьте совпадение портов, указанного в параметре port командной строки запуска сервиса агента сервера и заданного в диалоге параметров центрального сервера консоли кластеров:
— Остановите сервис 1C:Enterprise 8.1 Server Agent.
Если Агент серверов запущен как приложение, остановка выполняется нажатием комбинации клавиш Ctrl+C.
— Убедитесь, в Диспетчере задач (Task Manager), что все процессы ragent, rmngr, rphost завершились. При необходимости завершите их при помощи Task Manager.
— Откройте свойства сервиса 1C:Enterprise 8.1 Server Agent.
Обратите внимание, что в процессе установки платформы 1С:Предприятие 8.1 могут быть выданы сообщения об ошибках. Ниже перечислены наиболее вероятные сообщения. Указаны причины, вызвавшие сообщения и шаги к устранению.
Ошибка 1069: служба не запущена из-за ошибки входа в систему
Проблема связана с правами учетной записи на запуск от имени системной службы. Откройте утилиту Local Security Policy (Локальная политика безопасности) и добавьте пользователя (от имени которого происходит запуск Рабочих серверов Кластера) к политикам Logon as service (Работа в качестве сервиса) и Logon as batch (Работа в качестве пакетного задания) job.
При нарушении данных, хранящихся в служебных файлах, и запуск Рабочих серверов Кластера может оказаться неудачным. Убедитесь, что агент сервера 1С:Предприятия 8.1 запущен (процесс ragent в Task Manager).
Не забудьте, что средством анализа также является аудит событий Windows. Для этого посмотрите, появляются ли какие-нибудь «подозрительные» сообщения в журнале событий Windows.
Ошибка 8007056B / 800708C5
The new password does not meet the password policies. The password may be too short or you have already used this password recently.
Причина: указанный пароль для учетной записи в диалоговом окне «Установка сервера 1С:Предприятие» не удовлетворяет требованиям политики безопасности.
Решение: Задать новый пароль для выбранной учетной записи, удовлетворяющий требованиям политики безопасности либо ослабить требования применяемой политики безопасности, т.е. не требовать «сложного» пароля, не ограничивать количество знаков в пароле, не проверять попыток повторения и т.д.
Ошибка 1923: нет привилегий для установки сервисом
Причина: Ошибка связана с правами установки учетной записи в качестве приложений. Такая ошибка характерна для попыток установки сервера на контроллере домена, где предъявляются повышенные меры безопасности.
Решение: Не использовать контроллер домена для размещения сервера предприятия или ослабить требования безопасности и указать для выбранной учетной записи права «Работы в качестве службы», «Работы в качестве пакетного задания».
Ошибка 80070056
Your password could not be changed. Each password must be used for at least x days.
Причина и Решение: Еще одна ошибка, возникающая при нарушении требований политики безопасности к используемым паролям. Решение аналогично ошибке 800708C5.
Windows Sockets — 11004(0х00002AFC)
(Windows Sockets — 10054(0x00002746).
Удаленный хост принудительно разорвал соединение.
Такое сообщение может быть получено в случае перезагрузки сервера или принудительного удаления Рабочего процесса.
Эта ошибка обычно не появляется при повторном подключении. Если ошибка осталась, необходимо расследовать причины отказа рабочих серверов кластера.
Такая ошибка может происходить при достижении рабочим процессом использования максимального объема памяти в 32х битных системах.
Другим случаем является попытка подключения от клиента с сообщением об ошибке:
(Windows Sockets — 10060(0x0000274C)
Попытка установить соединение была безуспешной, т.к. от другого компьютера за требуемое время не получен нужный отклик, или было разорвано уже установленное соединение из-за неверного отклика уже подключенного компьютера.
Сущность этой ошибки – отсутствие отклика в течении определенного времени (таймаута).
1) Убедитесь, что брандмауэр не блокирует трафик приложения. Выключите брандмауэр.
Для этого в командной строке выполните команду (команда доступна начиная с Windows XP и Windows Server 2003, в более ранних версиях встроенного брандмауэра нет, однако может быть установлено стороннее ПО):
netsh firewall set opmode disable
Если команда будет выполнена успешно, вы получите сообщение:
Ок.
Кроме брандмауэра блокировать трафик могут сетевые фильтры. Они по умолчанию выключены. Тем не менее, убедитесь, что это так:
2) Убедитесь, что ресурсы процессора не загружены на 100% (CPU%).
3) Выполните замер сетевой активности интерфейсов клиента и сервера. Нагрузка на сетевой адаптер не должна превышать 60%.
(Windows Sockets — 10061(0x0000274D)
Подключение не установлено, т.к. конечный компьютер отверг запрос на подключение.
Характерной причиной такой ошибки является отсутствие запущенного Агента сервера. Запустите сервер вручную или выполните перезагрузку сервера для автоматического старта.
Ответы на вопросы
Многоплатформенность 1С
Установка сервера
А: Для установки из коммандной строки на ОС, где присутсвует UAC, нужно пользоваться службой RunAs, т.к. даже если пользователь входит в группу администраторов, то UAC блокирует действия, которые изменяют состояние системы.
Ключи защиты
Q: Ключ защиты от сервера 8.2 позволяет запустить Сервер 8.1?
A: Да, позволяет
Q: чтобы запустить сервер 1С мне нужны хасп-ключи какие-то серверные? Локальный, или на 5 пользователей не пойдет?
Q: допустим кластер серверов 1с стоит из 3-х физических серверов. сколько нужно ключей защиты
Q: Имеется терминальный сервер и ключ на 5 лицензий, докупается 6-ая доп. лицензия. Возможно ли ее установить на сервер рядом с ключом на 5? И будут ли все 6 пользователей работать в теминальных сессиях или 5 — под теерминалом, а 1 в файловом варианте?
A: Нет, не будут. 6я лицензия в виде локального ключа должна быть воткнута в компьютер пользователя, но не в терминалку.
Обновления сервера 1С
Q: при выходе новой версии 8.2.xxx платформы какой порядок действий при обновлении серверов и клиентов
A: Дистрибутивы 8.2 инсталируют свои файлы в разные папки (для каждой версии своя папки), т.е. теоретически остается возможность вызова параллельно нескольких версий сервера.
У меня особых проблем не возникало. Однако, надо внимательно отслеживать занимаемые порты экземпляром сервера 1С. Пересечений не должно быть.
Настройка сервера 1С
Q: ВОПРОС: Рабочй процесс 1С:Предприятие 8.1 является однопоточным приложением или многопоточным? Т.е. может ли загрузить много ядер при одном подключенном пользователе? При нескольких? А рабочий процесс 1С:Предприятие 8.2? Спасибо.
A: 1Сv8.exe и rphost.exe в версии 8.1 отъедали 1 ядро. По сколько в 8.1 соединение клиента находится жестко привязанным к рабочему процессу, то можно условно считать, что обработка клиентов 1С выполняется в рамках одного ядра. Исключение составляет СУБД, которая использует ядра не зависимо, как работает сервера 1С.
В версии 8.2 соединения заменены сеансами. Сеансы могут уже выполняться в разных рабочих процессах. Поэтому назвать 8.2 однопоточной наверно не правильно. Клиент 8.2 тоже визуально загружает несколько ядер, поэтому так:
платформа 8.2 не реализует всех возмжностей многопоточной системы, но она существенно лучше использует возможности железа по сравнению с 8.1, в том числе и в плане параллельности.
Q: Необходимо ли несколько рабочих процессов 1С:Предприятие 8.1, чтобы сервер баз данных (MS SQL) нагружал несколько ядер? (Замечено, что MS SQL обычно «грузит» только одно ядро, т.е. «распараллеливание» обработки одного запроса по нескольким ядрам, как правило, не происходит.) Спасибо.
A: Специально управлять MS SQL не нужно, это достаточно самонастраивающая система, использующая ресурсы по необходимости. Управлять параллельностью исполнения можно:
EXEC sys.sp_configure N’max degree of parallelism’, N’5′
GO
RECONFIGURE WITH OVERRIDE
GO
Создавать несколько рабочих процессов на сервере 1С можно исходя из того, что один рабочий процесс не обеспечивает возможность пользователям сделать повторное подключение в случаи падения рабочего процесса. 2 процесс (на 8.2 его лучше сделать «резервным») решает эту проблему. А вот 3й и более рабочие процессы есть смысл добавлять, только если сильно загруженны (более 90%) первые два рабочих процессах. Без надобности плодить рабочие процессы не стоит, это может ухудшить производительность.
Q: Для 1С:Предприятие 8.1 прозвучала рекомендация использовать минимум
два рабочих процесса на сервере (для отказоустойчивости) или больше, если
это обусловлено загрузкой и количеством ядер. Справедливо ли это для 8.2?
A: Как минимум 1 резервный рабочий процесс в 8.2 должен быть.
Отказоустойчивый кластер
Q: Вопрос про включении резервирования кластеров 1с 8.2. Если у нас упал сервер (уборщица выдернула провод) то сетевое имя, например «server:2540» будет недоступно. как клиент, у которого прописано в строке подключения «server:2540» узнает что нужно подключаться к резервному кластеру? откуда он возмет имя другого сервера? А если через запятую написать кластеры в строке подключения базы?
A: Несколько кластеров объединяются в «группу резервирования». Для этого в оснастке кластера есть «список резервирнования».
При первом обращении клиента к кластеру ему передается список кластеров, входящих в группу резервирования.
Если клиент не разу не обращался, то в этом случаи надо указать вручную адреса всех кластеров, например storm:2541,monster:2541.
Между кластерами резервирования осуществляется обмен синхронизируемых данных.
A: Возвращаются назад. Возможны паузы при переключениях на время синхронизации данных кластеров.
Фоновые задания
Q: Как удалить фоновое задание, запущенное на серверах 1С:8.1 и 1С:8.2?
A: Возможность отмены регламентного задания работает только, если код выполняется в пределах встроенного языка 1С:Предприятия. Если код выполняется во внешних библиотеках, то отменить такое задания нельзя иначе, как принудительно завершив рабочий процесс. Если в процессе блок НачатьТранзакцию() — ЗафиксироватьТранзакцию() то вряд ли. Остальные фоновые задания можно удалить через консоль заданий.
Регламентные процедуры
Q: Возможно ли разрушение базы при проведении ТиИ?
A: Мне такие случаи неизвестны, но имхо возможно все. Поэтому перед ТиИ неплохо бы делать бэкап.
Q: Вячеслав, по каким причинам вы не делаете реиндексацию средствами 1С Тестирование и Исправление?
A: Для этих целей лучше подходят возможности СУБД, так как они посути выполняют тоже перестроение индексов, но не требуют монопольного захвата базы.
Технологический журнал
Q: Добрый день. Вопрос по технологическому журналу: мне необходимо получать копии экранов рабочих станций при ошибках 1С. Нужно ли для этого настраивать технологический журнал и на рабочих станциях, либо же он только для сервера?
A: Можно настроить только получение скриншота при падении платформы, а не при любой ошибки. Впрочем, особой полезности в такой операции не много, вполне достаточно собирать с помощью технологического журнала исключительных ситуаций. При этом, большую часть ошибок можно увидеть с помощюю ТЖ на стороне сервера 1С. Исключение могут составить события вроде «ошибки потока формата», связанной с устаревшим кэшем метаданных.
Неполадки и ошибки
Q: Сталкивались ли вы с проблемой — пропадание настроек отчетов у пользователей при динамическом обновлении конфигураций на платформе 8.2. Есть рекомендации, как с этим бороться?
A: Проблемы связанные с динамическим обновлением отражены в «Сервера 1С:Предпряитие 8.1 и 8.2 — с чем едят«), слайд №60. Чистить кэш. Возможно в некоторых случаях надо разбираться, где конкретно храняться настройки пользователей. При необходимости хранить в качестве двоичных данных в регистре сведений.
И чистить кэш метаданных.
Q: Можно ли изменить путь кэша метаданных? Если да, то каким образом. Спасибо!
A: С помощью групповых политик (gpedit.msc) можно переопределить путь профиля пользователя целиком (не только кэш метаданных).
Q: Попутный вопрос, т.к. это актуально для файлового режима: какие ошибки исправляет chdbfl.exe?
A: Это инструмент исправления ошибок структуры хранения данных. Это может быть ситуация когда например возникает «Файл базы данных поврежден …/1Cv8.1CD». Т.е. устраняет повреждения файла базы данных. Однако не выполняет функций ТиИ. Я запускаю chdbfl.exe, если «не продит успешно» ТиИ.
Q: Подскажите пожалуйста сталкнулись с такой проблемой. при нахождении в базе большого количества пользователей (около 40) при проведении больших документов например отражение ЗП в регл. учете около 8000 строк. выдается ошибка нехватает памяти на сервере 1С предприятия и пользователь инициировавший проведение этого документа отваливается. Документ потом можно провести только после перезапуска агента 1С сервера.
A: Похоже на утечки памяти:
1. Рестартовать сервер 1С, увеличить количество рабочих процессов, в кластере держать только одну эту базу.
2. Бить проведение на порции, скажем по 1000 строк за раз. Отследить с помощью ТЖ объекты занимающие память при начале операции, но не освобождающие память по завершению.
3. Поставить х64 версию, увеличить объем оперативки, перейти на 8.2.
Q: Вопрос по тестированию и справлению. Можно ли запускать «Проверка ссылочной целостности» на базе УРБД с отбором по передаваемым данным? (т.е. в некоторых узлах физически отсутствуют объекты, но ссылки на них есть). Спасибо!
A: К сожалению, пока такой возможности нет.
Q: Почему тестирование и исправление сразу не решает все вопросы, приходится запускать несколько раз?
A: Точно ответить могут только разработчики. Я запускаю ТиИ по регламенту (циклически), поэтому для меня этот вопрос не очень актуален. Делать ТиИ надо не один раз, а постоянно как «ТО для автомобиля».
Q: Есть ли разница ТиИ 8.1 и 8.2?
A: На текущий момент написания ответа и релиза 8.2.10 мне разница не известна.
Q: Нужно ли при реструктуризации делать реиндексацию?
A: Не нужно.
Прочее
A: Нет, рекомендую использовать штатные средства 1С:Предприятие.
Q: Вопрос по принудительному включению shared memory на сервере 1с 8.2
A: Не надо ничего принудительно включать, сервер сам поймет.
Q: Для 1С:Предприятие 8.1 замечены ситуации, когда на одном и том же аппаратном обеспечении файл-серверный вариант с «тяжелыми» операциями и единственным пользователем работает значительно быстрее, чем клиент-серверный, когда все «звенья» (сервер БД, сервер 1С:Предприятие и клиент) установлены на одном сервере. При этом при выполнении этой «тяжелой» операции явно выраженных перегрузок аппаратной части нет (загрузка процессора, памяти, жестких дисков минимальная). То есть аппаратных ресурсов много, а работает медленно. Во что же мы можем «упираться»? Спасибо.
A: Достоинство клиент-серверной архитектуры с точки зрения производительности — возможность ПАРАЛЛЕЛЬНО обрабатывать запросы клиентов к данным. Т.е. скорость потока не тот показатель, по которому стоит делать общие выводы. Механизмы, улучшающие параллельность, все же в рамках одного потока могут несильно снижать производительность.
Для того, чтобы однозначно найти узкое место в вашем случаи, надо получить загруженность серверного оборудования и сопоставить по времени с наиболее длительными операциями в клиент-серверном режиме. Часто это бывает избыточное перемещение данных на клиентскую часть. Т.е. вместо того, чтобы выполнять операции на сервере 1С, данные от субд через сервер передаются на клиента.
Скорость в одном потоке клиент-серверного варианта будет только догонять призводительность файлового варианта. Стоит заниматься этой проблемой, если время операции в абсолютных цифрах измеряется не меньше чем минуты. Заниматься оптимизацией в рамках 1-3 секундных запросов сомнительно.
Q: О разнице между виндовским терминалом и тонким клиентом 1С.
A: Пока большинство решений не переведы ПОЛНОСТЬЮ под 8.2, говорить о практическом сравнении этих технологий однозначно сложно.
Понятно, что тонкий клиент 1С должен отъедать меньше трафика и предоставляет возможность работы через веб. Но это то, что еще предстоит реализовать, а терминальные решения эксплуатируются очень широко сейчас.
Для консервативных прагматичных руководителей проектов, конвертирующих 8.1 под 8.2- терминальное решение. Для небольших проектов с низкой стоимостью ошибок и конфигурацией сразу реализованной с управляемыми формами и СКД — тонкий клиент предпочтительней ИМХО.
Q: А как провести нагрузочное тестирование приближённое к реальным условиям? Ведь не загонишь пользователей «пощёлкать что-то».
A: 1С:Тестцентр с выбором наиболее тяжелых операций, 100% воспроизведение не обязательно, сами щелчки не тяжелы, в основном проведение и запросы отчетов. По тестированию будет отдельный вебинар. Также подробней расказываю на курсах.
Q: Не планируете ли Ваш оффлайн курс по скл в виде вебинара?
A: На текущий момент нет уверенности, что будет восстребован. Если будет получено достаточно большое количество заявок на участие в таком мероприятии, то сделать то несложно.
Одновременное использование 1С
В некоторых случаях бывает необходимо использовать несколько версий серверов.
И тем не менее можно сделать одновременный запуск серверов 8.2 разных версий так: