При росте объема информационной базы 1С 7.7 (от 50 ГБ и выше) и увеличении объема оперативной памяти на сервере возникает вопрос о целесообразности миграции с 32-разрядных версий операционной системы и СУБД (например, Windows Server 2003 x86 и MS SQL Server 2005 x86) на 64-битные платформы (Windows Server x64 и MS SQL Server x64). Рассмотрим подробно, какие преимущества дает такой переход, с какими архитектурными ограничениями сталкивается 32-битный клиент 1С 7.7 и как правильно настроить серверную среду для максимальной производительности.
Основной выигрыш от перехода на 64-разрядную систему получает сервер баз данных. Проанализируем ключевые изменения в работе СУБД:
AWE (Address Windowing Extensions). Этот механизм позволяет расширять только буферный пул страниц данных (Buffer Pool). Все остальные структуры памяти СУБД (кэш планов выполнения запросов, память под пользовательские соединения, блокировки, сортировки и процедуры) жестко ограничены виртуальным адресным пространством процесса размером 2–3 ГБ. Переход на MS SQL Server x64 полностью снимает эти ограничения: СУБД адресует весь объем оперативной памяти напрямую без накладных расходов процессора на переключение окон адресации.Исполняемые файлы платформы 1С:Предприятие 7.7 (1cv7s.exe, 1cv7.exe) являются исключительно 32-разрядными приложениями. Выясним, как ведет себя клиентская часть в среде Windows x64:
IMAGE_FILE_LARGE_ADDRESS_AWARE. Если процесс сталкивается со сложными выборками и тяжелыми отчетами, он падает с ошибкой нехватки памяти при приближении к порогу 2 ГБ.editbin с параметром /LARGEADDRESSAWARE. Однако при этом следует учитывать, что все используемые внешние компоненты (ВК) и библиотеки также должны корректно работать с адресами памяти выше 2 ГБ.C:\Windows\SysWOW64\odbcad32.exe, так как стандартная 64-битная оснастка не видна для 32-битного движка 1С.Разберем важные нюансы взаимодействия платформы 1С 7.7 с MS SQL Server 2005/2008 x64:
BIN платформы размещают пустой файл-маркер OrdNoChk.prm, отключающий проверку кодовой страницы, либо используют модифицированную библиотеку BkEnd.dll. Базу данных в SQL Server следует создавать с параметром сортировки Cyrillic_General_CI_AS.Compatibility Level) в значение 80 (SQL Server 2000) или 90 (SQL Server 2005).Помимо обновления процессоров и оперативной памяти, для базы объемом 50 ГБ критически важно устранить дисковые узкие места:
.mdf), файл журнала транзакций (.ldf) и системную базу tempdb необходимо физически разносить по разным дисковым массивам.tempdb следует предварительно расширить до фиксированного размера, чтобы исключить фрагментацию при динамическом росте, а также разделить на несколько файлов данных одинакового размера (по числу физических ядер процессора).