При развертывании системы «1С:Предприятие» перед администратором или разработчиком неизбежно встает вопрос: какую разрядность платформы выбрать — 32-битную (x86) или 64-битную (x64)? Несмотря на то что современные операционные системы практически повсеместно являются 64-битными, в мире 1С выбор не всегда очевиден. Рассмотрим детально технические различия, преимущества и «подводные камни» обеих архитектур.
Для начала разберем теоретическую базу. Главное различие между x86 и x64 заключается в адресном пространстве. Процессор с 32-битной архитектурой может напрямую адресовать не более 2 в 32-й степени байт, что составляет ровно 4 Гигабайта. На практике в операционных системах Windows для одного пользовательского приложения (процесса) выделяется еще меньше — обычно 2 ГБ, максимум 3 ГБ при использовании специальных ключей загрузки.
Проанализируем ситуацию с x64: здесь разрядность адресной шины увеличена, что позволяет адресовать колоссальные объемы памяти (теоретически до 16 Эксабайт). Для 1С это означает, что один процесс (будь то серверный процесс или клиентское приложение) может использовать всю доступную физическую оперативную память сервера или рабочей станции.
Однако за расширение возможностей приходится платить. В архитектуре x64 размер «указателя» (ссылки на ячейку памяти) увеличивается с 4 до 8 байт. Поскольку программный код 1С постоянно оперирует объектами, ссылками и таблицами в памяти, объем потребляемой оперативки в 64-битной версии увеличивается примерно на 20-30% по сравнению с аналогичной 32-битной версией при тех же данных. Это важно учитывать при планировании ресурсов.
В современных реалиях вопрос выбора разрядности для сервера 1С практически закрыт. Разберем по шагам, почему это так:
rphost, работающий в 32-битном режиме, неизбежно «падает» при достижении порога в 2-3 ГБ памяти. В крупных базах при формировании сложных отчетов или выполнении регламентных заданий этот лимит исчерпывается мгновенно, что приводит к завершению сеансов пользователей.Важный момент: если вы используете 64-битный сервер, это не обязывает вас использовать 64-битных клиентов. Платформа 1С позволяет абсолютно прозрачно подключать 32-битных клиентов к 64-битному серверу.
С клиентским приложением ситуация сложнее. Здесь часто наблюдается «зоопарк» архитектур. Выясним причины, по которым системные администраторы до сих пор устанавливают 32-битных клиентов даже на 64-битные ОС Windows:
Это главная «боль» 64-битного клиента. Если ваша конфигурация взаимодействует со сторонним ПО через COM-соединение, разрядность обоих приложений должна совпадать. Рассмотрим примеры:
Active document (например, Word), часто некорректно работают или вовсе не открываются в 64-битном толстом клиенте.На офисных компьютерах с 4 ГБ оперативной памяти установка 64-битного клиента может быть контрпродуктивной. Из-за увеличенного потребления памяти самой платформой (те самые +30%), система начнет активно использовать файл подкачки, что существенно замедлит работу пользователя.
Несмотря на проблемы совместимости, существуют ситуации, где без x64 клиента не обойтись:
Посмотрим на практический кейс: что произойдет, если на компьютере установлены обе версии? Платформы 1С разных разрядностей устанавливаются в разные каталоги:
C:\Program Files (x86)\1cv8\... — для 32-битной версии.C:\Program Files\1cv8\... — для 64-битной версии.Они могут мирно сосуществовать на одной машине. Вы можете запускать конкретную версию через настройки в 1CEStart. При обновлении конфигурации, если вы скачали и установили дистрибутив x64 вместо x86, старая версия не удалится автоматически — у вас просто появится еще одна установленная платформа.
Проанализируем оптимальную стратегию для организации:
Выясним также вопрос производительности. Сама по себе 64-битная архитектура не делает 1С «быстрее» в плане скорости выполнения кода. Она лишь делает систему масштабируемее. В некоторых случаях за счет использования большего количества регистров процессора (16 в x64 против 8 в x86) математические вычисления могут проходить чуть быстрее, но на практике в типичных задачах 1С эта разница нивелируется задержками при работе с базой данных.
В заключение отметим, что индустрия движется в сторону полного отказа от x86. Если ваше оборудование и стороннее ПО поддерживают 64-битные технологии (Native API для внешних компонент), то стратегически правильнее переходить на x64 уже сейчас, чтобы избежать проблем с поддержкой в будущем.