При развертывании рабочих мест и администрировании информационных баз часто возникает дилемма: устанавливать 32-битную (x86) или 64-битную (x86-64) версию платформы 1С:Предприятие 8.3. Разберем по шагам, дает ли 64-разрядная архитектура реальный прирост скорости, с какими скрытыми сложностями можно столкнуться на клиентских машинах и в каких сценариях переход на x64 является обязательным.
Прежде чем принимать решение о переходе, проанализируем структуру платформы. Вопрос разрядности затрагивает три независимых контура:
rphost.exe (в 32-битной версии процесс ограничен объемом от 2 до 3 ГБ, что приводит к критическим падениям при массовых выгрузках, перерасчетах и превышении лимита дескрипторов таблиц).Рассмотрим распространенное заблуждение: многие полагают, что на современном мощном компьютере 64-битный клиент 1С будет работать значительно быстрее 32-битного. На практике это не так.
Переход на архитектуру x64 сам по себе не ускоряет вычислительные алгоритмы платформы. Узкими местами в работе 1С остаются дисковая подсистема, пропускная способность сети и скорость обработки запросов на стороне СУБД. Более того, важно учитывать следующие особенности потребления ресурсов:
Выясним причину, почему установка 64-битного клиента рядовому бухгалтеру на локальную базу 1C:Бухгалтерия или 1С:Зарплата и Управление Персоналом часто создает проблемы. 64-битный процесс операционной системы физически не способен напрямую загрузить 32-битную динамическую библиотеку (DLL) в свое адресное пространство.
В типовых конфигурациях это приводит к отказу целого ряда механизмов:
Если используемое оборудование и библиотеки поддерживают стандарт Native API и упакованы в кроссплатформенный архив с файлом манифеста, платформа сможет автоматически выбрать подходящую x64-библиотеку. Однако со старым оборудованием и компонентами COM/OLE этот сценарий не работает.
Проанализируем технические нюансы интеграции и работы с криптографией при использовании 64-битного клиента:
Класс не зарегистрирован. Для решения потребуется установка 64-битного пакета распространяемых компонентов Microsoft Access.V83.COMConnector. При взаимодействии между базами через прямой COM-вызов 64-битный процесс не сможет обратиться к 32-битному COM-коннектору без настройки суррогатного процесса в оснастке Службы компонентов (COM+) Windows через dllhost.exe.1С-ЭДО, прямого обмена с банками и подписания электронных документов требуются 64-битные криптопровайдеры и системные драйверы ключевых носителей (токенов).Несмотря на возможные сложности с совместимостью на рабочих станциях пользователей, существует сценарий, где переход на 64-битную версию платформы строго обязателен — это работа разработчика или администратора в конфигураторе.
При обновлении и поддержке тяжелых комплексных решений, таких как 1С:ERP Управление предприятием или 1С:Комплексная автоматизация, 32-разрядный конфигуратор неизбежно сталкивается с ограничением памяти. На этапе объединения конфигураций поставщика объем используемого адресного пространства легко превышает 3 ГБ, в результате чего процесс 1cv8.exe аварийно завершается без сохранения изменений. Обновление таких систем на 32-битной платформе технически невозможно.
Платформа 1С позволяет одновременно устанавливать на одну операционную систему 32-разрядный и 64-разрядный дистрибутивы одного и того же релиза. Они инсталлируются в разные каталоги:
C:\Program Files (x86)\1cv8\ — для 32-битных исполняемых файлов.C:\Program Files\1cv8\ — для 64-битных исполняемых файлов.В окне запуска информационных баз можно гибко регулировать запуск каждого конкретного приложения. Для этого в свойствах редактирования информационной базы (кнопка Изменить, вкладка Параметры запуска) предусмотрен переключатель разрядности:
Такой комбинированный подход позволяет разработчикам обновлять сложные конфигурации без падений по нехватке памяти, сохраняя при этом полную работоспособность периферии и регламентированных форм на рабочих станциях конечных пользователей.