Назад | Перейти на главную страницу

Преимущества обновления 32-битного Windows Server и SQL Server до 64-битного?

Предположим, что у меня есть 32-разрядный сервер Windows Server, который работает с несколькими серверными приложениями вместе с SQL Server, с использованием оперативной памяти около 2 ГБ в часы пик.

В чем заключаются преимущества обновления ОС Windows Server и SQL Server до соответствующих 64-разрядных версий с сохранением 32-разрядных серверных приложений? 64-битные версии позволяют получить доступ к более чем 4 ГБ ОЗУ, но, поскольку 4 ГБ используются не полностью, станет ли это спорным для обновления?

Версии: Windows Server 2008 R2, SQL Server 2008 R2 Datacenter Edition

Спасибо

Сильно связаны: Веские причины оставить 32-битные настольные ОС Microsoft Windows

Вы являются с использованием 64-битной ОС. Server 2008 R2 был первым, кто поддерживал только 64-разрядные процессоры.

«Новые» версии Windows даже не предназначены для 32-битной версии. Возможно, вы ничем не воспользуетесь, но и недостатков быть не должно. При этом: все равно обновите, как Server 2008 R2 SP1 (который, я надеюсь, вы используете) будет EOL с 2020-01-14.

Что касается SQL Server 32 бит / 64 бит: вы правильно поняли, если вам никогда не понадобится> ~ 3,75 ГБ ОЗУ (или> 2 ГБ на процесс), вы можете без проблем использовать 32-разрядную версию. Но для более новых версий не будет 32-разрядной версии для установки, поскольку Microsoft перешла только на 64-разрядную версию.

Как уже отмечалось, вы уже используете 64-битную ОС. Есть два преимущества перехода на 64-разрядную версию SQL Server и один недостаток.

Единственным недостатком является то, что 64-разрядная версия SQL Server будет использовать 64-разрядные указатели. Это означает, что указатели будут занимать вдвое больше памяти, потреблять вдвое больше пропускной способности памяти и так далее. Это, вероятно, довольно незначительно, но это недостаток. Это частично компенсируется тем фактом, что переход на 64-битное приложение позволит вам избавиться от накладных расходов на уровень совместимости, которые 32-битные приложения должны использовать для доступа к функциям 64-битной ОС.

Основным преимуществом является то, что с течением времени в набор команд ЦП были внесены многочисленные значительные улучшения. Некоторые из них были сделаны вместе с переходом на 64-битные версии, а некоторые - ранее.

Но даже для тех, которые были созданы ранее, 32-разрядная сборка должна обрабатывать процессоры, у которых нет этих функций, и, чтобы избежать проблем с обнаружением и переключением между несколькими экземплярами, просто не использует их, даже если они есть. Например, 64-разрядные ЦП должны иметь SSE2, а 32-разрядные ЦП - нет. Таким образом, большая часть 32-битного кода просто не требует проверки и не предполагает SSE2. 64-битный код гарантирует наличие инструкций SSE2 и поэтому будет использовать их, если это лучший вариант.

Самым большим из них является увеличение количества именованных регистров общего назначения с 8 до 16. Количество 128-битных регистров XMM также увеличилось вдвое - с 8 до 16.

Кроме того, 64-битный процесс может использовать большие объемы виртуальной памяти. Это особенно важно для процессов, которые обращаются к большим объемам структурированных данных на диске. И, конечно же, они могут использовать 64-битные целочисленные операции, которые, как правило, улучшают производительность шифрования, сжатия и даже некоторых операций файловой системы в больших файловых системах.

Возможная проблема: для библиотек DLL пользовательских функций (UDF) среды CLR потребуются 64-разрядные версии.

Если вы используете библиотеку Пользовательские функции CLR, он станет несовместимым по битам. 32-битные библиотеки DLL обычно нельзя использовать в 64-битном программном обеспечении, и наоборот. Если вы не можете получить 64-разрядную версию какой-либо используемой библиотеки UDF, вы потеряете это конкретное расширение.

По сути, это та же проблема, что и при обновлении любого 32-разрядного программного обеспечения с его надстройками до его 64-разрядной версии. Также необходимо перевести все надстройки на их 64-битные версии. Как правило, это легко, но проблема заключается в том, что производство прекращено, и замена недоступна.

По сути: да. Предполагая, что вы никогда не делаете обновления, которые являются только 4-битными - не уверен, что существует даже 32-битный SQL Server, более поздний, чем 2008.

Проблемы с вашим вопросом: «64-битные версии позволяют получить доступ к более чем 4 ГБ ОЗУ» - сделайте это 3 ГБ;) не 4. 1 ГБ всегда зарезервировано.

Производительность!

Здесь уже есть несколько технических ответов, но не вдаваясь в технические подробности, и в зависимости от вашего приложения вы должны увидеть повышение производительности.

Основные части:

Адресация большой памяти: 64-разрядная архитектура предлагает больший объем памяти с прямой адресацией. SQL Server 2005 (64-разрядная версия) не ограничивается пределом памяти в 4 ГБ 32-разрядных систем. Следовательно, больше памяти доступно для выполнения сложных запросов и поддержки основных операций с базой данных. Эта большая вычислительная мощность снижает штрафы, связанные с задержкой ввода-вывода, за счет использования большего объема памяти, чем в традиционных 32-битных системах.

Расширенный параллелизм: 64-битная архитектура обеспечивает расширенный параллелизм и многопоточность. Улучшения в параллельной обработке и архитектуре шины позволяют 64-битным платформам поддерживать большее количество процессоров (до 64), обеспечивая при этом близкую к линейной масштабируемость с каждым дополнительным процессором. Благодаря большему количеству процессоров SQL Server может поддерживать больше процессов, приложений и пользователей в одной системе.

https://teratrax.com/sql-server-64-bit/

Наиболее впечатляющие результаты, которые я наблюдал при переходе с 32-разрядного на 64-разрядный SQL Server (это был SQL Server 2005), заключались в увеличении скорости основного приложения клиента примерно на 40%. Все, что мы сделали, это установили 64-битный SQL Server, в остальном все было так же! Это был серьезный прирост производительности в реальном мире.

Вы можете повысить производительность многозадачности, особенно с программами, в которых встроена тяжелая многопоточность. Более того, вы можете установить больше оперативной памяти с 64-битной ОС. Но делайте это только в том случае, если процессор поддерживает 64-битные инструкции.