В Windows Azure веб - сайтов предлагает два варианта 32bits или 64bits. Новые сайты поставляются с 32 битами по умолчанию. Для конфигурации сервера это выглядит немного странно, потому что, AFAIK, подавляющее большинство веб-серверов уже давно работают в 64-битной конфигурации. Учитывая обычные варианты использования сайтов ASP.NET, есть ли причины отдавать предпочтение 32-битным по сравнению с 64-битным?
IIS + .NET на платформе x64 и может поддерживать очень большие рабочие нагрузки. Если вы проведете нагрузочное тестирование, вы увидите, что серверы x64 с достаточным количеством ЦП и ОЗУ опережают x86 в целости и сохранности.
Если ваша рабочая нагрузка мала, и / или вы собираетесь сбалансировать нагрузку на несколько серверов, вы можете обнаружить, что с x86 все в порядке. (Я твердо верю в использование наименьшего возможного количества экземпляров для рабочей нагрузки - так много ИТ-специалистов бросает металл в эту проблему, и это расточительно. X86 прекрасен. К сожалению, становится все труднее получать экземпляры x86.)
В нашем случае мы балансируем нагрузку на несколько серверов x64. Однако во время операций развертывания вся или большая часть нагрузки может быть направлена на один сервер. В нашем случае, если бы этот сервер был x86, он был бы напряженным и очень медленным. Поскольку это x64, он может справиться с нагрузкой, и пользователи не заметят.
Недавно я узнал, что сборщик мусора блокирует все потоки во время процесса, что иногда приводит к увеличению задержки. После включения 64-разрядной системы сборщик мусора будет работать реже, что повышает производительность вашего приложения.
Том
3
Ответ - это сложно. Это просто, если вашему приложению требуется доступ ко многим ГБ ОЗУ (большинство приложений этого не делают), тогда у вас должна быть 64-битная память.
В противном случае, только тестирование вашего конкретного приложения под 32-битными и 64-битными может вам точно сказать, и тогда это зависит от того, что для вас наиболее важно, объем памяти или производительность процессора. Помните, что если у вас не хватит памяти, то ваше приложение будет либо перелистывать страницу на диск, и говорить «прощай» (огромным образом) любому выигрышу в производительности, который вы, возможно , получили при переходе на 64-битную версию, или произойдет автоматическое масштабирование, и вы получите Azure будет платить больше денег за добавленные экземпляры сервера, или вы начнете получать ошибки OutOfMemory, которые закончились игрой для вашего приложения.
Переходите на 32-битную версию, если вам не нужно 64-битное адресное пространство, что редко встречается на обычном веб-сайте.
Причина в том, что веб-сайтам обычно не нужно адресное пространство, и 32 би-программы работают быстрее.
Теперь вы говорите:
подавляющее большинство веб-серверов были в конфигурации 64бит в течение многих лет
Да, но:
Настройка по умолчанию для пула приложений IIS - запуск в 32-разрядном режиме - по соображениям совместимости и производительности. Совет от Microsoft для конфигурации IIS должен использовать 32-разрядные пулы приложений на 64-разрядном сервере.
Вы можете быть уверены, что он будет работать на 64-битном сервере, поскольку в настоящее время Microsoft не предлагает 32-битную версию. Но если вам не нужно больше оперативной памяти, влияние на производительность не стоит.
«Настройка по умолчанию для пула приложений IIS - запуск в 32-разрядном режиме». Это не так в течение некоторого времени. IIS всегда x64 на x64 Server OS и требует взлома, чтобы сделать 32-разрядный.
Jonesome Восстановить Монику
2
«32-битные программы работают быстрее». это не глобально верно.
Ответ - это сложно. Это просто, если вашему приложению требуется доступ ко многим ГБ ОЗУ (большинство приложений этого не делают), тогда у вас должна быть 64-битная память.
В противном случае, только тестирование вашего конкретного приложения под 32-битными и 64-битными может вам точно сказать, и тогда это зависит от того, что для вас наиболее важно, объем памяти или производительность процессора. Помните, что если у вас не хватит памяти, то ваше приложение будет либо перелистывать страницу на диск, и говорить «прощай» (огромным образом) любому выигрышу в производительности, который вы, возможно , получили при переходе на 64-битную версию, или произойдет автоматическое масштабирование, и вы получите Azure будет платить больше денег за добавленные экземпляры сервера, или вы начнете получать ошибки OutOfMemory, которые закончились игрой для вашего приложения.
Смотрите также: https://www.hanselman.com/blog/PennyPinchingInTheCloudYourWebAppDoesntNeed64bit.aspx
источник
Переходите на 32-битную версию, если вам не нужно 64-битное адресное пространство, что редко встречается на обычном веб-сайте.
Причина в том, что веб-сайтам обычно не нужно адресное пространство, и 32 би-программы работают быстрее.
Теперь вы говорите:
Да, но:
Настройка по умолчанию для пула приложений 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-битную версию. Но если вам не нужно больше оперативной памяти, влияние на производительность не стоит.
источник