Почему 32-разрядные пулы приложений более эффективны в IIS? [закрыто]


12

Я проводил нагрузочные тесты с двумя различными веб-приложениями ASP.NET в IIS. Тесты выполняются с 5,10,25 и 250 пользовательскими агентами. Протестировано на коробке с 8 ГБ ОЗУ, Windows 7 Ultimate x64. Одна и та же коробка, на которой запущены и IIS, и проект нагрузочного тестирования

Я сделал много прогонов, и данные очень согласованы. Для каждой загрузки я вижу меньшее «Среднее время страницы (сек)» и меньшее «Среднее время отклика (сек)», если у меня для «Включить 32-битные приложения» установлено значение «Истина» в пулах приложений. Разница становится более заметной, чем выше нагрузка. При очень высоких нагрузках веб-приложения начинают выдавать ошибки (503), если пулы приложений являются 64-разрядными, но они могут поддерживать до 32-разрядных значений.

Почему 32-битные пулы приложений намного эффективнее? Почему не по умолчанию для пулов приложений 32-битный?

Ответы:


16

64-разрядные указатели памяти и другие связанные структуры данных в два раза больше, чем их 32-разрядные аналоги. Кроме того, 64-разрядный рабочий поток будет подвергаться штрафу каждый раз, когда ему требуется доступ к 32-разрядному коду или библиотекам DLL при переключении режимов. (Исследование WoW64 и Thunking.)

Самое большое (но не единственное) преимущество использования 64 битов - это возможность использовать гораздо больше памяти. Если ваш пул приложений не использует более 2 или 3 гигабайта памяти, и вам не нужно специально запускать 64-битный код, то, вероятно, нет веской причины для перехода на 64-битный. По мере развития технологий производители микросхем создают дополнительные регистры ЦП, особенно для 64-битных процессоров, чтобы повысить их производительность, но, вообще говоря, никакого волшебного прироста производительности просто не происходит, если использовать больше битов. На самом деле, как вы только что засвидетельствовали, может быть и хуже.

64-битный = танк Абрамса

32-битный = Toyota Prius

Один может сделать гораздо больше работы, но другой может пройти через McDonald's.


4
Я ненавижу придираться, но оба могут пройти через Макдональдс. Просто он делает это, не сбивая стену.
HopelessN00b

3
Я ненавижу придираться, но думаю, что это сильно зависит от того, какое определение подходит! Если мы пойдем с «быть подходящего размера и формы», как это определено в спецификации Макдональдса, я бы сказал, что нет :).
GraemeMiller
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.