В настоящее время мы выполняем модернизацию нашего 32-битного производственного сервера до более мощного 64-битного сервера, в то время как выполняется обновление до ASP.NET 4. Однако после небольшого тестирования нагрузки у нас, похоже, наблюдается снижение производительности!
Я создал простой нагрузочный тест с постоянной нагрузкой 20 пользователей, выполнив несколько простых вариантов использования, и сравнил результаты:
Как вы можете видеть, самая эффективная конфигурация - это существующий 32-битный сервер с ASP.NET 2.0.
Вы можете видеть, что при запуске IIS в 32-битном режиме на 64-битной машине это вполне сопоставимо с существующим 32-битным сервером, но при запуске IIS в 64-битном режиме на 64-битном сервере производительность значительно ниже. Я не уверен, почему это так, учитывая, что новый сервер лучше.
По какой-то причине каждый раз, когда я запускаю тест с IIS в 64-битной среде, в начале появляется большой скачок, затем он выравнивается, но время отклика все же выше, чем у 32-битной. Пик исчезает, когда я запускаю IIS в 32-битном режиме.
Обратите внимание, что пул приложений / приложение не перезапускается между тестами, но пик постоянно присутствует, а ответ выше, чем в других конфигурациях.
Итак, мой вопрос: кто-нибудь знает, почему это так? Есть ли какие-либо настройки конфигурации, которые мне нужно установить? У кого-нибудь есть указания на то, как я могу сузить, что вызывает разницу?
Текущий производственный сервер: Win Server 2003 - 32bit - IIS6
Новый сервер: Win Server 2003 R2 - 64bit - IIS6
источник
Мы попробовали это на нашем сервере Windows 2K3 и получили то же самое, я не был здесь в то время, но это как-то связано с тем, как MS реализовала 64Bit .Net в 2K3 (не уверен, что, но человек, который сказал мне, является MVP, так Я приму его слово на этом.)
И просто, чтобы вы знали, что если вы перейдете на Win2K8, вы можете увидеть то же самое, что и я, с нашими серверами здесь и получить ту же проблему с производительностью. Из того, что мне сказали, и немного чтения, чтобы воспользоваться преимуществами 64Bit .Net, рекомендуется использовать интегрированные конвейеры ( http://msdn.microsoft.com/en-us/magazine/cc135973.aspx ).
Извините, это не отвечает на ваш вопрос, но я подумал, что дам вам знать, что вы не единственный, кто видит эту проблему.
источник