32 бита или 64 бита для веб-сайтов Windows Azure?

13

В Windows Azure веб - сайтов предлагает два варианта 32bits или 64bits. Новые сайты поставляются с 32 битами по умолчанию. Для конфигурации сервера это выглядит немного странно, потому что, AFAIK, подавляющее большинство веб-серверов уже давно работают в 64-битной конфигурации. Учитывая обычные варианты использования сайтов ASP.NET, есть ли причины отдавать предпочтение 32-битным по сравнению с 64-битным?

Джоанн Верморел
источник

Ответы:

5

Зависит от вашей рабочей нагрузки.

IIS + .NET на платформе x64 и может поддерживать очень большие рабочие нагрузки. Если вы проведете нагрузочное тестирование, вы увидите, что серверы x64 с достаточным количеством ЦП и ОЗУ опережают x86 в целости и сохранности.

Если ваша рабочая нагрузка мала, и / или вы собираетесь сбалансировать нагрузку на несколько серверов, вы можете обнаружить, что с x86 все в порядке. (Я твердо верю в использование наименьшего возможного количества экземпляров для рабочей нагрузки - так много ИТ-специалистов бросает металл в эту проблему, и это расточительно. X86 прекрасен. К сожалению, становится все труднее получать экземпляры x86.)

В нашем случае мы балансируем нагрузку на несколько серверов x64. Однако во время операций развертывания вся или большая часть нагрузки может быть направлена ​​на один сервер. В нашем случае, если бы этот сервер был x86, он был бы напряженным и очень медленным. Поскольку это x64, он может справиться с нагрузкой, и пользователи не заметят.

Jonesome Восстановить Монику
источник
Недавно я узнал, что сборщик мусора блокирует все потоки во время процесса, что иногда приводит к увеличению задержки. После включения 64-разрядной системы сборщик мусора будет работать реже, что повышает производительность вашего приложения.
Том
3

Ответ - это сложно. Это просто, если вашему приложению требуется доступ ко многим ГБ ОЗУ (большинство приложений этого не делают), тогда у вас должна быть 64-битная память.

В противном случае, только тестирование вашего конкретного приложения под 32-битными и 64-битными может вам точно сказать, и тогда это зависит от того, что для вас наиболее важно, объем памяти или производительность процессора. Помните, что если у вас не хватит памяти, то ваше приложение будет либо перелистывать страницу на диск, и говорить «прощай» (огромным образом) любому выигрышу в производительности, который вы, возможно , получили при переходе на 64-битную версию, или произойдет автоматическое масштабирование, и вы получите Azure будет платить больше денег за добавленные экземпляры сервера, или вы начнете получать ошибки OutOfMemory, которые закончились игрой для вашего приложения.

Смотрите также: https://www.hanselman.com/blog/PennyPinchingInTheCloudYourWebAppDoesntNeed64bit.aspx

Харлоу Берджесс
источник
1

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

Причина в том, что веб-сайтам обычно не нужно адресное пространство, и 32 би-программы работают быстрее.

Теперь вы говорите:

подавляющее большинство веб-серверов были в конфигурации 64бит в течение многих лет

Да, но:

Настройка по умолчанию для пула приложений IIS - запуск в 32-разрядном режиме - по соображениям совместимости и производительности. Совет от Microsoft для конфигурации IIS должен использовать 32-разрядные пулы приложений на 64-разрядном сервере.

Проверить:

http://www.iis.net/learn/web-hosting/web-server-for-shared-hosting/32-bit-mode-worker-processes

для официального заявления.

Вы можете быть уверены, что он будет работать на 64-битном сервере, поскольку в настоящее время Microsoft не предлагает 32-битную версию. Но если вам не нужно больше оперативной памяти, влияние на производительность не стоит.

TomTom
источник
«Настройка по умолчанию для пула приложений IIS - запуск в 32-разрядном режиме». Это не так в течение некоторого времени. IIS всегда x64 на x64 Server OS и требует взлома, чтобы сделать 32-разрядный.
Jonesome Восстановить Монику
2
«32-битные программы работают быстрее». это не глобально верно.
xaxxon