Чего ожидать от служб терминалов Windows в 64-разрядной среде (часть 2)

Опубликовано: 24 Апреля, 2023

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

ЦП

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

Как вы, наверное, знаете, Intel и AMD производят процессоры, которые будут работать как с 32-разрядными, так и с 64-разрядными (X64) версиями Windows. Представьте на мгновение, что ваш сервер имеет такой процессор, но в настоящее время работает под управлением 32-разрядной версии Windows Server 2003 и на нем размещается набор 32-разрядных приложений через службы терминалов. Теперь представьте, что процессор вашего сервера загружен сеансами пользователей, поэтому вы решили обновить сервер до X64-версии Windows Server 2003. После обновления ваш сервер, скорее всего, сможет поддерживать еще меньше пользовательских сеансов, чем раньше. способен.

Частично это связано с тем, что на сервере работают 32-разрядные приложения. Поскольку сервер работает под управлением 64-разрядной операционной системы, он должен эмулировать 32-разрядную среду для запуска 32-разрядных приложений. Эта эмуляция обрабатывается уровнем эмуляции WOW64 (Windows на Windows 64). С технической точки зрения, в 64-разрядной версии Windows WOW64 работает больше как уровень перевода, чем уровень эмуляции, но это не имеет значения. Дело в том, что теперь на систему возлагаются дополнительные накладные расходы только для того, чтобы заставить приложения работать. Как правило, слой WOW64 увеличивает потребление ресурсов ЦП менее чем на 10%. Даже в этом случае, если ЦП уже используется на полную мощность, любые дополнительные накладные расходы будут ограничивать количество пользовательских сеансов, которые может поддерживать сервер.

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

Память

Еще один ресурс, который вам обязательно придется учитывать, — это оперативная память. Если вы думаете об обновлении терминального сервера для использования 64-разрядной операционной системы, серверу, скорее всего, потребуется гораздо больше памяти, чем сейчас. Фактический объем дополнительной памяти, которая потребуется, сильно различается в зависимости от того, как пользователи используют сервер, и от приложений, запускаемых на сервере. Тем не менее, Microsoft рекомендует увеличить объем оперативной памяти сервера на пятьдесят-сто процентов (при условии, что сервер имеет достаточную оперативную память при работе с 32-разрядной операционной системой).

В недавнем сравнительном тесте Microsoft сервер терминалов с 280 активными пользователями использовал около 5 ГБ оперативной памяти при работе с 32-разрядной операционной системой. Когда система была обновлена до 64-разрядной операционной системы, та же пользовательская нагрузка потребляла примерно на 66 % больше памяти (8,3 ГБ). Кроме того, объем используемой памяти увеличился более чем на 100 %. 32-разрядная операционная система использовала 15 ГБ выделенной памяти, а 64-разрядная операционная система использовала 35 ГБ. Имейте в виду, однако, что эти эталонные тесты не предназначались для нагрузки на сервер, и поэтому диспетчер памяти не обрезал рабочий набор. Поэтому для реального развертывания может потребоваться еще больше памяти.

Диск

Хотя узким местом в системе может быть любой компонент, в 32-разрядных терминальных серверах узким местом часто является ЦП. Однако в 64-разрядной версии Windows Server 2003 операционная система предназначена для использования всех преимуществ многоядерных процессоров. Таким образом, системное узкое место часто смещается с процессора на дисковую подсистему для 64-разрядных многоядерных серверов, поддерживающих большое количество пользовательских сеансов.

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

Это не означает, что вы должны игнорировать дисковую подсистему вашего сервера. Как я упоминал ранее, повышение эффективности процессора (связанное с тем, что Windows использует многоядерные процессоры) может привести к тому, что дисковая подсистема станет узким местом по мере увеличения числа пользовательских сеансов. Это особенно беспокоит тех, кто может консолидировать несколько 32-разрядных серверов на одном 64-разрядном сервере.

Один из шагов, который вы можете предпринять, чтобы избежать узкого места дисковой подсистемы, — это использовать большее количество меньших жестких дисков, а не меньшее количество больших дисков. Например, три диска по 500 ГБ дадут вам столько же места, сколько пять дисков по 300 ГБ. Если предположить, что все равны, то массив с пятью дисками обеспечит лучшую производительность, чем массив с тремя дисками.

Еще один способ устранить возможное узкое место на диске — увеличить объем оперативной памяти на сервере. Чем больше памяти у сервера, тем больше операций чтения с диска можно кэшировать. Это значительно повышает производительность, поскольку к дисковой подсистеме не нужно будет обращаться так часто. Однако для достижения нужного эффекта серверу потребуется значительно больше оперативной памяти, чем требуется операционной системе и сеансам пользователей.

Последнее, что вы можете сделать, чтобы предотвратить узкое место на диске, — это использовать контроллер кэширования с резервным питанием от батареи для вашего хранилища с прямым подключением. Это позволит вам воспользоваться преимуществами кэширования обратной записи, защищая записи, которые еще не были зафиксированы на диске.

Вывод

Как видите, просто слепо устанавливать 64-битную операционную систему на существующий терминальный сервер — плохая идея. Установка 64-битной операционной системы имеет серьезные последствия с точки зрения аппаратного обеспечения. В этой статье я обсудил некоторые из наиболее заметных последствий 64-разрядного обновления для вашего оборудования.

, что ожидать от служб терминалов Windows в 64-разрядной среде (часть 1)