В настоящее время мы выполняем модернизацию нашего 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