Очень длинный TTFB при отладке приложения в Visual Studio - PullRequest
0 голосов
/ 28 января 2019

У меня есть .NET Core MVC проект с Vue.js фреймворком, который я должен поддерживать.

Я столкнулся с проблемой, когда пришло время полной загрузки приложения при локальной отладке в visual studio (через IIS Express).Есть несколько запросов (к моему контроллеру API) для данных JSON, которые занимают около 30-40s TTFB, что делает полную загрузку примерно за 1 минуту.Но когда я запустил один запрос, для возврата данных потребовалось всего 4s.Даже небольшой логотип размером 7 КБ png занимает 17s TTFB, но с одним и тем же запросом он занимает всего 4.5s.

Я перепробовал все возможные решения, найденные в Google, MSDN и SO ... Параметры Visual Studioshenanigans, анализ PerfView, исключая и даже скрывая файл «node_modules» от VS, но, кажется, ничто не может улучшить его даже немного.

У меня также есть свой собственный обучающий / тестовый Vue.js (немного менее сложный) веб-сайтна той же машине, и нет проблем, и TTFB находится под 1s.

VS Запрос:

VS request

Запрос в одиночку:

Request alone

1 Ответ

0 голосов
/ 28 января 2019

Я столкнулся с той же проблемой при загрузке фотографий на сервер, и время TTFB было таким высоким безо всякой причины (в то время).После многократного анализа подобных проблем и отладки я обнаружил, что серверы IIS не поддерживают службы в пуле приложений, если в последнее время нет запросов.В моем случае это была единственная первая конечная точка, вызванная из FE, и они были размещены в разных образах докеров.Вы можете проверить мои вопросы, чтобы увидеть мой аналогичный вопрос.

Чтобы решить эту проблему, я добавил конечные точки проверки работоспособности для каждого отдельного экземпляра службы, чтобы они не спали, чтобы их не исключали из пула приложений IIS.Для этого я выполнил запрос проверки работоспособности за 5 минут.интервал в моем проекте .NET Core Gateway и проблемы, кажется, решены.Если вы запускаете свои проекты на IIS, я бы посоветовал вам сделать то же самое.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...