Рекомендуемые настройки сервера приложений
Мы настоятельно рекомендуем устанавливать сервер базы данных и сервер приложений на разные компьютеры и связывать их быстрым сетевым каналом (1 Гбит). Наследование данной рекомендации может заметно отразиться на производительности.
Почему в ИНТАЛЕВ: Корпоративный менеджмент минимально используются серверные модули?
По поводу распределения задач между сервером предприятия и клиентом. Не существует задач, которые рекомендовалось бы выполнять только на сервере или, напротив, только на клиенте. Следует взглянуть на проблему совершенно под другим углом: нагрузка на систему должна быть сбалансированной. Это означает, что при «боевом» режиме использования (когда активно работают пользователи, вводятся реальные данные и т.д.), все компьютеры, входящие в систему, должны быть загружены приблизительно равномерно. Если наблюдается ситуация, при которой клиентские компьютеры простаивают в то время, как сервер предприятия перегружен, то следует перенести часть нагрузки на клиентов. И наоборот. Это единственный критерий и единственная рекомендация, которая может быть дана по этому вопросу. Как Вы понимаете, тут все зависит (как я уже писал) от конфигурации оборудования и от состава выполняемых пользователями задач.
1С рекомендует поступать следующим образом: перенести всю функциональность на клиента и только в том случае, если клиентские станции будут откровенно не справляться (то есть клиенты будут перегружены, а сервер предприятия будет простаивать) – переносить часть функций обратно на сервер. На данный момент именно сервер является узким местом системы, поэтому основная вычислительная нагрузка перенесена на рабочие станции.
Журнал регистрации
Во время выполнения операции отбора событий, при большом количестве записей в журнале регистрации, возможны задержки в работе пользователей, обусловленные блокировкой журнала регистрации на время выполнения отбора и необходимостью регистрации действий пользователей в журнале. В связи с этим рекомендуется:
• | Ограничить количество пользователей, имеющих право на просмотр журнала регистрации. |
• | Не использовать отборы в период активной работы пользователей. |
• | Периодически выгружать журнал регистрации во внешний файл. |
• | Для анализа журнала регистрации с использованием отборов, работать с выгруженным файлом, а не с текущим журналом регистрации. |
• | Периодически сокращать журнал регистрации, что позволит уменьшить время выполнения операции отбора записей и блокировки журнала регистрации во время работы пользователей. |
• | Операции по выгрузке и сокращению журнала регистрации проводить в период минимальной активности пользователей. |
2 или 3 Gb памяти на всех пользователей
Серверу 1С:Предприятия доступно не более 2 (или 3) гигабайт виртуального адресного пространства. Это адресное пространство делится между всеми пользователями. Поэтому учитывать ограничения на максимальные размеры коллекций, выборок из базы данных и текстов запросов к базе данных в клиент-серверном варианте более важно, особенно для кода, исполняемого на сервере. Кроме того, клиент-серверный вариант 1С:Предприятия накладывает ограничения на использование нескольких информационных баз на одном сервере 1С:Предприятия. Не следует через один сервер 1С:Предприятия работать со многими информационными базами. Подсоединение к информационной базе хотя бы одного клиента, приводит к загрузке ее конфигурации в память сервера. Подсоединение последующих клиентов к этой же информационной базе дополнительных больших объемов памяти не потребует. Однако подсоединение клиента к другой информационной базе на этом же сервере приведет к загрузке и ее конфигурации тоже. Таким образом, факт одновременного подсоединения клиентов хотя бы к 11 различным информационным базам с конфигурациями, сравнимыми с УПП, может привести сервер 1С:Предприятия в неработоспособное состояние. Нежелательно использовать для разработки и тестирования конфигураций тот сервер 1С:Предприятия, на котором работает большое количество пользователей. Это обусловлено тем, что сохранение конфигурации и обновление конфигурации базы данных требует значительного объема свободного виртуального адресного пространства, которого в нагруженном сервере 1С:Предприятия может не быть. Размер файла подкачки страниц компьютера, на котором установлен сервер 1С:Предприятия должен быть не менее 2 гигабайт (если используется режим 3Gb, то 3 гигабайт).
SQL сервер целесообразно размещать на отдельном от сервера 1С:Предприятия компьютере, если:
• | объем оперативной памяти компьютера с сервером 1С:Предприятия меньше 4 гигабайт; |
• | на сервер 1С:Предприятия вынесена обработка данных; |
• | возможна установка Microsoft SQL Server на 64-разрядной системе. |
Перезагрузка сервера 1С:Предприятия
Длительная работа сервера 1С:Предприятия (несколько суток или недель) может в некоторых случаях приводить к эффекту фрагментации виртуального адресного пространства серверного приложения. Данный эффект порой усугубляется, если в процессе работы сервера многократно и параллельно исполнялись запросы к базе данных с очень длинными текстами (1 мегабайт и более).
В результате фрагментации памяти иногда может наблюдаться снижение производительности сервера 1С:Предприятия и устойчивости сервера к параллельным операциям над большими объемами данных. Для того, чтобы избежать возможного негативного влияния фрагментации памяти, желательно при разработке конфигураций учитывать рекомендации, касающиеся использования памяти. Также можно рекомендовать периодическую (в соответствии с наблюдениями, 1 раз в неделю, в месяц...) перезагрузку серверного приложения 1С:Предприятия.
Для перезагрузки можно выбрать время, когда активная работа пользователей не ведется. Перезагрузка сервера будет выполнена автоматически, если в течение некоторого времени (обычно 3 минут) к серверу 1С:Предприятия не подсоединен ни один пользователь. Если этого добиться затруднительно, то сервер можно перезагрузить принудительно при помощи утилиты Start/ Settings/ Control Panel/ Administrative Tools/ Component Services, на том компьютере, на котором установлен сервер 1С:Предприятия. Для этого в ней необходимо найти ветку Console Root/ Component Services/ Computers/ My Computer/ COM+ Applications/ 1CV8 и выполнить пункт Shut down ее локального меню.
Перезагрузка сервера может быть выполнена программно. Это можно сделать, например, при помощи следующего кода на встроенном языке 1С:Предприятия 8.1:
COMPlus = Новый COMОбъект("COMAdmin.COMAdminCatalog");
Приложения = COMPlus.GetCollection("Applications");
Приложения.Populate();
ПоследнийНомер = Приложения.Count - 1;
Для Номер = 0 по ПоследнийНомер Цикл
Приложение = Приложения.Item(Номер);
Если Приложение.Name = "1CV8" Тогда
COMPlus.ShutdownApplication(Приложение.Name);
Прервать;
КонецЕсли;
КонецЦикла;
Если в момент перезагрузки серверного приложения 1CV8 к нему были подсоединены пользователи, то их работа завершится аварийно. При этом какие-то данные могут оказаться не сохраненными.