由 NGINX 托管的 ASP.NET Core systemd 服务更新后首次响应时间变慢

由 NGINX 托管的 ASP.NET Core systemd 服务更新后首次响应时间变慢

我有一个 ASP.NET Core Web API 应用程序 DLL 作为 systemd 服务在我的 CentOS 实例上运行

MyApp.服务

[Unit]
Description=My App

[Service]
WorkingDirectory=/var/www/myapp
ExecStart=/usr/bin/dotnet /var/www/myapp/bin/Release/net6.0/linux-x64/publish/MyApp.dll
Restart=always
RestartSec=10
SyslogIdentifier=my app
User=myapp
Environment=ASPNETCORE_ENVIRONMENT=Production

当我更新我的应用程序时,流程(大致)如下:

service MyApp stop
- remove "/var/www/myapp/*" contents -
- publish application -
- replace new published application in "/var/www/myapp/" -
service MyApp start

但是,当我在更新后第一次浏览我的应用程序时(我甚至等了 5 分钟),第一个连接似乎非常慢,就好像它正在“唤醒”我的服务或建立反向代理或类似的东西,这导致第一个用户认为应用程序“冻结”

此行为仅在更新后发生,不会定期发生

它可能与 NGINX 或 systemd 有关吗?

您对导致此行为的原因有何看法?我该如何避免/处理?问候

相关内容