Процесс авторизации Local Security Authority (lsass) через HTTPS - PullRequest
0 голосов
/ 16 октября 2019

Я столкнулся с проблемой, связанной с тем, что мой API генерировал огромную загрузку ЦП lsass.exe. Среда:

  • Windows Server 2016
  • .NET Core 2.2 (также протестировано с. NET Core 3.0)

Чтобы исследовать его, я создал новый веб-сайт ASP.NET Core, используя шаблон по умолчанию (dotnet new web). Я обновил конфигурацию Kestrel, чтобы она выглядела следующим образом:

public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.ConfigureKestrel((context, options) =>
                    {
                        options.AddServerHeader = false;
                        options.Listen(IPAddress.Any, 5001, listenOptions =>
                        {
                            listenOptions.UseHttps(StoreName.My, "*.mycertificate.domain", false, StoreLocation.LocalMachine);
                        });
                    })
                    .UseStartup<Startup>();
                });

Помимо этого веб-сайта, я создал нагрузочный тест с использованием JMeter, чтобы поразить веб-сайт с такой нагрузкой:

Users load

При запуске теста, просматривающего домашнюю страницу веб-сайта, в результате процесс lsass.exe для интенсивного использования ЦП закрывает 100%.

Я запустил другие тесты, используя эти конфигурации, и результатвсе тот же

  • Kestrel, использующий различные способы загрузки сертификата
  • IIS с использованием веб-сайта InProcess с привязкой https к сертификату
  • HTTP.sys

Есть идеи, как правильно настроить https на aspnet-core для создания API с большой нагрузкой? Спасибо за вашу помощь

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