asp.net-core - 通过 HTTPS 的本地安全机构进程 (lsass) 繁重的 CPU 负载
问题描述
我遇到了一个问题,我的 API 产生了 lsass.exe 的巨大 CPU 负载环境:
- 视窗服务器 2016
- .NET Core 2.2(也使用 .NET Core 3.0 测试过)
为了调查它,我使用默认模板 ( dotnet new web
) 创建了一个新的 ASP.NET Core 网站。我将 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 创建了一个负载测试,以便用这个负载访问网站:
运行浏览网站首页的测试,结果是lsass.exe进程重度占用CPU接近100%。
我使用这些配置进行了其他测试,结果仍然相同
- Kestrel 使用不同的方式加载证书
- IIS 使用 InProcess 网站和证书上的 https 绑定
- HTTP.sys
关于如何在 aspnet-core 上正确配置 https 以创建重负载 API 的任何想法?谢谢你的帮助
解决方案
感谢您的回复,但我尝试了以下过程并且它有效。现在我的空闲 CPU 使用率总是低于 5%。
转到设置 > 系统 > 通知和操作
关闭“显示有关 Windows 的提示”
重新开始
推荐阅读
- reactjs - React-native 表单未在 TextInput 中输入
- python - 生成带噪声采样的信号
- excel - 如何使用公式或 VBA 根据另一列中的另一个单元格值设置单元格中的值?
- angular - 类型对象上不存在属性
- django - 如何在 django 模板中使用 if else 语句中断循环
- php - 从 laravel 模型中的函数中选择具有值的数据
- angular - Native 和 ShadowDom ViewEncapsulation 有什么区别?
- wso2 - WSO2 完成一个事务后向另一个端点发送消息
- android - 使用 cmake 集成 FFMPEG:链接库时未定义的引用
- docker - docker ls:无法打开目录“。”:权限被拒绝