Каковы преимущества и недостатки использования IIS как 32-разрядного по сравнению с 64-разрядным в 64-разрядной ОС?

37
задан Gan 29 October 2012 в 09:27
поделиться

5 ответов

Я не думаю, что Вы сделали любые ложные предположения. Но я сказал бы, нет, вероятно, не будет никакого различия в производительности ни между одним из сценариев, которые Вы обрисовали в общих чертах. 32 на 64 в Windows не работает в штрафе. 64 на 64 может дать некоторое небольшое повышение производительности, но это сомнительно. Могут быть некоторые сбережения памяти с 32-разрядным процессом, но это, вероятно, отрицается преобразованием, требуемым выполнять процесс во-первых.

единственное преимущество является проблемой DLL, которую Вы упомянули. Это могло быть причиной обновления также (если у Вас есть что-то специфически 64-разрядное, которое необходимо использовать).

4
ответ дан TheSmurf 29 October 2012 в 20:27
поделиться
  • 1
    Первые 2 не являются тем же вопросом как мой и приводят к совсем другим результатам. Последний не работает (другой пользователь сообщил так), и даже если он сделал ' 720 пунктов взяли несколько minutes'. я просканировал бы 1920x1200, изображения и несколько минут не будут приемлемы. Даже алгоритм, где Вы взяли Pixel1 от ImageB, нашел все экземпляры его в ImageA, затем взял Pixel2 и удалил все экземпляры где это isn' t ' рядом с (horiz/vert соответствующий) ' и повторенный, пока список не пуст, или все пиксели были просканированы, будет быстрее, чем несколько минут. – esac 19 March 2010 в 05:23

У меня был опыт, когда переход с 32-битного Windows 2003 Server на 64-битный Windows 2003 Server, на котором были запущены IIS 6 и производительность веб-сайта ASP.NET 3.5, был неприемлемым.

64-битный сервер будет последовательно работать на 2 секунды позже 32-битного.

После переключения IIS 6 на работу в качестве 32-битного рабочего процесса производительность снова стала равной и сопоставимой.

Я не проверял это, но думаю, что это может относиться только к IIS6 win2k3, так как тестирование, которое я провел с IIS7 x64 (Vista) и 64-битным рабочим процессом IIS, похоже, работает нормально.

Процесс переключиться на 32-битный процесс было довольно просто. Вот статья в базе знаний со вспомогательными деталями: http://support.microsoft.com/kb/894435/en-us

ASP.NET 2.0, 32-разрядная версия Чтобы запустить 32-разрядную версию ASP.NET 2.0, выполните следующие действия:

  1. Щелкните Пуск, щелкните Выполнить, введите cmd, а затем щелкните OK.
  2. Введите следующую команду, чтобы включить 32-разрядный режим: cscript% SYSTEMDRIVE% \ inetpub \ adminscripts \ adsutil.vbs SET W3SVC / AppPools / Enable32bitAppOnWin64 1
  3. Введите следующую команду, чтобы установить версию ASP.NET 2.0 (32-разрядную) и установить карты сценариев в корне IIS и под: % SYSTEMROOT% \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_regiis.exe -i
  4. Убедитесь, что для статуса ASP.NET версии 2.0.50727 (32-разрядной) установлено значение Разрешено в списке расширений веб-служб. в диспетчере служб IIS.

См. статью в базе знаний для возврата к 64-разрядной версии.

3
ответ дан 27 November 2019 в 03:51
поделиться

Помимо очевидных различий в памяти, процессы на 32 бита на ОС на 64 бита должны запустить во что-то позвонившее "Windows в Windows" или режиме WOW. Это - в основном слой преобразования/эмуляции. Существует потеря производительности при оплате достаточно близко внимания.

0
ответ дан 27 November 2019 в 03:51
поделиться

Для доступности памяти обратитесь к этому блог MSDN .

Доступность памяти. Для моего приложения мы получили то, что нам нужно было переключить из 32-битного процесса на 32-битной ОС до 32-битного процесса на 64-битной ОС, без проблем замены 3-го вечеринок. Итак, мы остановились там. Преимущества: 1) 2-3x Эффективная память, доступная для каждого рабочего процесса IIS и 2) в 32-битной ОС, где веб-сайт использует много памяти, другие системные процессы и веб-сайты соревнуются для ограниченной общей памяти. Для вашего приложения посмотрите, сколько памяти используют ваши рабочие процессы. Если каждый WP не использует много памяти (хорошо более 1 ГБ), 64-битные рабочие процессы не будут много помогать.

Для производительности, я думаю, вы должны проверить свои собственные приложения в обеих конфигурациях. Пост Дэйва выше, указывает на то, что у вас может быть разложение производительности с 64 битом. Как заметки чирова , некоторые приложения могут видеть преимущества от кэширования (2 ГБ + кеша, - это многое, хотя). За исключением ограниченных и простых приложений, я не думаю, что мы сможем сделать обобщения производительности. Мы могли бы указать на конкретные технологии, которые выполняют лучше или хуже.

0
ответ дан 27 November 2019 в 03:51
поделиться

Единственное преимущество запуска IIS на 64-битной vevrsus 32-bit - это разрешение доступа к гораздо большему адресному пространству памяти.

Если вы выполняете обычную обработку страницы ASPX, то, скорее всего, вам не понадобится обращать больше 4gb ни от одного процесса. Предположим, что вы работаете в 32-битном режиме с веб-сервером с несколькими рабочими процессами на одной машине. В этом случае каждый процесс может обращаться к 4gb.

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

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

64-битные серверы намного эффективнее, если они используются для баз данных, таких как SQL Server, или других серверов управления данными (скажем, почтовый сервер предприятия, такой как Exchange), чем для обрабатывающих серверов, таких как IIS или рабочие процессы, которыми он управляет. Имея 64-битное адресное пространство, серверы, которым необходимо управлять данными, могут хранить гораздо больше этих данных в памяти, наряду с индексами и другими кэшами. Это экономит время ввода-вывода с диска и время разработки, когда приходит запрос. Большинству веб-приложений не нужно обрабатывать более 4gb из одного процесса.


Может быть полезная аналогия: На транспорте большой внедорожник похож на 64-битную машину, в то время как обычный компактный легковой автомобиль похож на 32-битный сервер. В большом внедорожнике можно перевозить гораздо больше вещей, и он имеет большую вместимость для буксировки, рассчитанную на 8 человек, и полную массу в 8600 фунтов . Но со всем этим вы платите. Грузовик тяжелее. Он расходует больше топлива. Если вы ездите только на 2-х человек и одной сумке, вам не нужен внедорожник. Тебе будет лучше с меньшим автомобилем. Он может быть быстрее и эффективнее.

37
ответ дан 27 November 2019 в 03:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: