Развертывание нового рабочего сервера 1С — ответственный процесс, требующий поиска баланса между требованиями конфигураций к минимальной версии платформы и реальной стабильностью конкретных релизов. Рассмотрим типовую архитектурную задачу: инфраструктура под управлением Windows Server 2012, 64-разрядный сервер 1С:Предприятие, СУБД MS SQL Server 2014, публикация баз через веб-сервер и порядка 30 пользователей тонкого клиента в трех типовых базах 1С:Управление торговлей 11. Выясним причину частых сбоев при переходе на новые ветки платформы и определим оптимальный вариант между линейками 8.3.8 и 8.3.9.
Разберем распространенное заблуждение: многие системные администраторы полагают, что указанный в документации к конфигурации минимальный номер сборки автоматически означает гарантированную стабильность. Проанализируем требования для типовой конфигурации УТ 11:
УТ 11.2.3 разработчики заявляют минимальные требования 8.3.7.2027.УТ 11.3.1 минимальным порогом уже является платформа 8.3.8.2137.Важно помнить: требования в файле поставки указывают лишь на то, с какой версии платформы задействованы синтаксические конструкции и механизмы, необходимые для запуска конфигурации. Первые сборки новой ветки (например, 8.3.9.1850) традиционно несут в себе «детские болезни» нового функционала, утечки памяти и критические дефекты взаимодействия с СУБД, в то время как закрывающие релизы предыдущей ветки (такие как 8.3.8.2167 или 8.3.8.2197) прошли длительную обкатку на реальных предприятиях и содержат исправления сотен зарегистрированных ошибок.
Выясним причину, по которой ранние сборки ветки 8.3.9 (включая 8.3.9.1818 и 8.3.9.1850) небезопасны для промышленной эксплуатации. Главной проблемой этого поколения платформы стала ошибка СУБД с сообщением о недопустимом имени объекта #tt1 (зарегистрированная ошибка 50010160).
Рассмотрим механизм возникновения данного сбоя подробнее:
tempdb на стороне MS SQL Server для ускорения сложных выборок.В (&Массив)), а также при динамическом поиске строк в больших списках документов и справочников «Управление торговлей», платформа повторно вызывает короткое имя таблицы #tt1.8.3.9.2170. При этом в стабильных релизах ветки 8.3.8 (начиная с 8.3.8.2167) этот дефект практически исключен.При совместной работе связки 1С и MS SQL Server 2014 необходимо учитывать специфику новой модели оценки кардинальности (Cardinality Estimator). По умолчанию включенный в SQL Server 2014 новый оптимизатор нередко формирует неоптимальные планы запросов к временным таблицам 1С, что выражается в зависаниях отчетов и взаимоблокировках. Для стабилизации работы рекомендуются следующие шаги:
110 (соответствует SQL Server 2012).9481, возвращающий классический механизм оценки кардинальности для запросов.Microsoft SQL Server Native Client 11.0.tempdb: разбить файлы данных на несколько частей равного объема (по числу ядер процессора, выделив до 8 файлов), вынести их на скоростной массив накопителей и задать фиксированный шаг автороста не менее 512 МБ.Платформа 8.3.9 представила полноценный 64-битный клиент для рабочих станций Windows. Однако для конфигурации 1С:Управление торговлей поспешный переход на x64-клиент создает эксплуатационные риски. Торговый контур типовой УТ жестко завязан на внешние драйверы торгового оборудования: сканеры штрихкодов, фискальные регистраторы, принтеры чеков и банковские терминалы эквайринга. Большинство производителей поставляют внешние компоненты исключительно в 32-битной компиляции. Попытка загрузить 32-битную DLL в 64-битный процесс тонкого клиента завершится системной ошибкой. Поэтому на рабочих местах пользователей следует использовать исключительно 32-разрядный (x86) тонкий клиент.
Сформулируем конкретные рекомендации по выбору версии платформы для промышленной эксплуатации:
8.3.8.2197 (или стабильный 8.3.8.2167). Это избавит пользователей от падений с ошибкой #tt1 и нестабильной работы кэша.8.3.9.1850). Рассматривайте только поздние корректирующие сборки (не ниже 8.3.9.2170 или 8.3.9.2233).