none
Почему каждый пользователь подключаясь к сайту первый раз ждет по 10-20 секунд? RRS feed

  • Вопрос

  • Здравствуйте.

    Разрабатывают копоративный веб сайт на Asp.net mvc, использую Windows авторизацию

    <authentication mode="Windows"/>



    Одним из важный кретериев успешности проекта  ставят скорость работы. Долго просидел под профайлером и добился, что некоторые страницы генерируются по 60 мс. Но никак не могу победить задержку при первом открытии страницы пользователем. Затем минут 30 всё работает на отлично, но если долго не пользоваться, то при открытии задержка повторяется.

    Уже всё передумал, последнее предположение, что контроллер домена долго авторизует пользователя (там их почти 30 000 человек в AD). Может ли быть такое? Если да, то можно ли это как-то побороть? Например, увеличив время жизни токена или ещё что-то в этом роде? И если это всё же оно, то как это можно однозначно диагностировать? Или я копают не туда?

    Примечания:

    • Не использую сессии (mode = "off");
    • Да, кэширую подключенного пользователя, но для кэша использую статик переменную, время жизни, которой больше, чем частота возникновения задержки;
    • Проверяю на "разогретом" пуле;
    • Пробовал из разных браузеров подключаться, при запуске второго такой задержки не наблюдается (вроде авторизация не может перейти из IE в Chrome?). 
    14 февраля 2014 г. 10:59

Ответы

  • Посмотрите эту статью, она будет полезной для вас. В целом сказать трудно, вам нужно профилировать приложение. В частности, как я понял в данном случае код. Используйте профайлер Visual Studio для анализа управляемого кода. Он показывает всё дерево вызовов методов, там уже примерно понятно станет, какой (-ие) метод вызывает задержки.

    Сделаем содержимое сообщества лучше, вместе!

    14 февраля 2014 г. 11:34
    Модератор