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