Каковы основные преимущества 64-битной Windows над 32-битной для приложений ASP.Net?

8

Помимо преимуществ выделения 64-битной памяти (> 4 ГБ - см. Этот вопрос в StackOverflow, чтобы узнать, почему 32-битные решения + 4 ГБ у меня не подойдут), какие еще у меня есть причины рекомендовать нам разместить ASP Веб-сайт .NET на 64-битной Windows Server 2008, в отличие от 32-битной версии?

Если это проблема только с адресной памятью большего размера (> 4 ГБ), у нас все равно есть решение с балансировкой нагрузки, поэтому мы могли бы масштабировать, добавив новое (виртуальное) поле.

Процессоры также не будут перегреваться, поэтому любое увеличение предельной скорости не может быть оправдано.

Мое собственное внутреннее чувство заключается в том, что мы должны использовать 64-битную систему, если можем, просто потому, что ее легче масштабировать (подключая больше оперативной памяти, когда это необходимо). Но так ли это ?!

Все комментарии и идеи приветствуются!

Дункан
источник
Общий или выделенный? Существенные различия в конфигурации вашего веб-сайта на общем сервере ...
Christopher_G_Lewis
На самом деле MS рекомендует запускать приложения ASP.NET в 32-битном режиме в 64-битной операционной системе. 4g из 32 бит - это плохой предел, так как он относится к системе. В 64-битной системе вы можете иметь более 4 ГБ, и apsp.net использует ее часть. Кэширование и т. Д. Можно проводить снаружи.
TomTom
@TomTom эта рекомендация все еще верна сегодня? Если так, у вас есть ссылка на это?
Охад Шнайдер

Ответы:

15

Я думаю, что вопрос, который вы должны задать, почему бы не перейти на x64? Если ваше аппаратное обеспечение поддерживается и ваши приложения работают, в чем причина для использования 32-битного? Разницы в затратах практически нет, и именно так будет двигаться все будущее программное обеспечение, например, Exchange 2007 является 64-битным, и я уверен, что многие новые части программного обеспечения пойдут именно так.

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

Сэм Коган
источник
12
  • У процессоров x86_64 в таблицах страниц есть бит no-execute . Т.е. это может предотвратить эксплойты безопасности, вызванные переполнением буфера. 32-битный процессор x86 поддерживает эту функцию только в режиме PAE.
  • Вы можете использовать только подписанные драйверы Windows . ИМХО, это преимущество, потому что вы не можете сломать вашу систему сломанным, непроверенным драйвером. Помните, что большинство проблем Windows вызваны неработающими драйверами.

Если честно: по моему мнению, 64-битная версия должна быть по умолчанию в течение многих лет ! Я не могу поверить, сколько времени потребуется сообществу Windows, чтобы переключиться. Я не могу понять, почему Microsoft даже удосужилась выпустить 32-разрядную Vista (а теперь даже Windows 7). Даже Apple решила перейти с PowerPC на 32-битную x86, хотя большинство процессоров в то время уже были способны к 64-битной. Это не имеет никакого смысла для меня вообще. Все было бы намного проще, если бы все было 64-битным и только 64-битным.

оборота Knweiss
источник
+1 этот ответ указывает на некоторые «неизвестные» особенности 64-битной Windows более 32-битной.
Мэтт
Подписанные драйверы могут быть проблемой в заднице, когда вам нужно, чтобы какое-то оборудование работало, и Windows решает не устанавливать драйвер, потому что он не подписан, даже если он работает нормально.
Дентраси
1
Что в значительной степени не проблема на сервере, особенно на виртуальном;) IOt чаще встречается на настольных компьютерах, но на уровне обслуживания ВСЕ имеют подписанные драйверы.
TomTom
4

Есть много «причин», но в первую очередь это то, что все продукты Microsoft работают на x64. Это немного «оправдывает будущее» и дает вашим приложениям ASP.NET больше возможностей для сбоев (например, из-за ошибки OOM).

Джефф Коста
источник
4

Это не связано с ASP.NET, но я добавлю для полноты картины. Некоторые продукты Microsoft Server, такие как Exchange Server 2007 , работают только на 64-битных платформах Windows. Я думаю, вы могли бы назвать это выгодой.

splattne
источник
2

Я не думаю, что между ними есть существенная разница в стоимости, так почему бы просто не развернуть новый сервер с 64-разрядной версией Windows Server 2008? Возможность использовать больший объем памяти - лучшая (и единственная, о которой я знаю) причина его использования. С такой дешевой памятью в наши дни 4 ГБ кажутся такими маленькими для нового сервера!

Расс Уоррен
источник
1

В недавнем подкасте RunAs Radio, посвященном 64-разрядным вычислениям, есть около 10 отличных ответов на этот вопрос .

Одна вещь упоминается, что ширина шины удваивается, и, следовательно, может читать / записывать данные быстрее. Повышение производительности незначительно по сравнению с 32-битным для домашнего использования, возможно, но, безусловно, того стоит сервер.

p.campbell
источник
0

Существует неясная (но реальная) ошибка, похожая на Y2K, которая затрагивает большинство 32-битных машин. Это связано с эпохой Unix , используемой также в некоторых программах Windows, имеющей максимальное значение где-то в 2038 году. С этого момента она будет приближаться к 1901 году!

Смотрите Википедию " Проблема 2038 года "

Относится к этому вопросу, поскольку затрагивает 32-битные машины, которые используют стандартную переменную размера машины для хранения эпохи Unix. Это будет решено обновлением до 64-битной версии.

unixman83
источник