2016-07-18 2 views
2

Фон: Мы пытаемся перенести большое сложное веб-приложение, написанное на классическом ASP с Windows Server 2003 на Windows Server 2012 R2.Классический ASP на Windows Server 2012 чрезвычайно медленный, чтобы обслуживать ASP-страницы

Все работает без ошибок, но новый сервер очень медленно обслуживает страницы ASP. С одним пользователем на сайте время ответа составляет порядка 2-3 секунд для страниц ASP. Столь же большие звонки AJAX и страницы JavaScript обслуживаются и обрабатываются менее чем в 100 мс.

Когда сайт получает умеренный уровень нагрузки (более 50 пользователей), он становится необычно медленным. Обычная загрузка для производственной площадки - это несколько тысяч пользователей.

По-видимому, не существует корреляции между количеством возвращаемых данных или соединением с базой данных. Мы используем SQL Server 2008 R2 для базы данных.

Сервер веб-приложений находится в DMZ и использует запись файла hosts для сервера базы данных, который находится в нашей общей интрасети. Запросы базы данных обрабатываются очень быстро (в миллисекундах).

Я пробовал профилировать использование памяти веб-сервера, дисковый ввод-вывод и использование сети, а также не обнаружил признаков утечек памяти. Профилирование запросов не вызывает отставания в обработке запросов к базе данных.

Update после запуска Failed Request Tracing

  • настроить трассировку срабатывать для классических запросов ASP занимает больше времени, чем 1 секунда
  • Максимальное время, показываемое подробно журналы для каждой трассы от начала запроса на запрос завершен: 140 мс
  • Общее количество запросов, зарегистрированных в журнале, варьировалось от 1094 мс до 1453 мс, поэтому фактический запрос занимает на порядок больше времени, чем события, зарегистрированные сбойной трассировки запроса.

Каковы общие исправления для этой проблемы с производительностью?

+0

Вам нужно будет профиль Ваш запрос и увидеть, где большая часть времени провел, я не думаю, что это сервер, связанные – TheGameiswar

+0

https://blogs.msdn.microsoft.com/docast/2016/ 04/28/troubleshooting-iis-request-performance-slowness-issues-using-freb-tracing/ – TheGameiswar

+0

@TheGameiswar - спасибо за эту информацию. Я обновил вопрос с резюме результатов FREB. –

ответ

0

Есть сообщения о том, что классические ASP-сайты являются медленными, если строка подключения использует имя компьютера \ имя экземпляра вместо IP-адреса, особенно если SQL работает на нестандартном порту. Возможно, попробуйте изменить строку соединения, например.:

Server=10.10.10.123,1433\myInstanceName; 

Ссылка: forums.iis.net

1

Я не могу комментировать, так как я не хватает репутации, поэтому задавая вопрос, как ответ. Я удалю это, как только я получу ответ

  • Каков драйвер, который вы используете для подключения в строке подключения?
  • Я видел ваш комментарий к файлу хоста, можете ли вы попробовать прямой IP-адрес в строке подключения. Не удаляйте файл хоста.
  • Можете ли вы попробовать небольшое новое веб-приложение в asp только с минимальным перечислением базы данных. это тоже медленно?
  • Снова попробуйте то же новое приложение без подключения к базе данных и разницу в времени.
    • У вас есть ошибка в следующем окне в коде, вы не можете найти какое-либо разрешение на файл/журнал, но это не сообщается.
Смежные вопросы