Как проанализировать производительность ответа ядра 3 asp.net в сценарии с высокой нагрузкой? - PullRequest
0 голосов
/ 30 октября 2019

Мы используем новейшее ядро ​​asp.net 3 для создания простого веб-приложения - оно получает данные из БД, выполняет некоторые (незначительные) вычисления и показывает результат пользователю, используя mvc controller-view.

Приложение работает на aws EC2, а ngnix используется в качестве обратного прокси-сервера, процесс asp.net запускается как docker для того же экземпляра EC2, где работает ngnix.

Мы широко используем ведение журналов. Основываясь на наших журналах, мы видим несоответствие между запуском и окончанием обработки запросов Kestrel и временем, которое требуется обратному прокси-серверу для создания цикла нашего приложения. При большой нагрузке разница может составлять несколько секунд, когда на запрос в соответствии с журналами asp.net требуется 2 секунды, а на стороне обратного прокси - 10 секунд. Мы пробовали разные конфигурации EC2, чтобы выяснить, какой ресурс больше всего поражается, и в текущей конфигурации экземпляр EC2 редко использует более 50% ресурсов процессора, памяти, диска и пропускной способности во время наших тестов.

Нам хотелось бы выяснить, кто «крадет» секунды между обратной связью ngnix и временем внутреннего отклика kerstel. Какие еще есть варианты регистрации http-запросов, проходящих через Kerstel?

...