Недавно мы попытались перенести базовое приложение. net на aws ecs. но у нас было много проблем, через некоторое время контейнер остановился, потому что стек tcp был заполнен. Мы обновили наш способ выполнения запросов с помощью HttpClientFactory, мы попробовали множество альтернатив, но безуспешно. Мы заметили, что в контейнерах используется много файловых дескрипторов. Когда контейнер умирает, он имеет около 150 тыс. Файловых дескрипторов. Похоже, что каждый отдельный поток, который был порожден (например, для httpRequest), загружает в память все текущие библиотеки, требуемые приложением.
, и это выглядит примерно так:
dotnet 22035 root mem REG 259,1 402514 /app/pt-BR/Ubisoft.Connect2.Services.Lib.resources.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 402510 /app/nl/Ubisoft.Connect2.Services.Lib.resources.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267308 /app/Microsoft.Bcl.AsyncInterfaces.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267304 /app/Microsoft.AspNetCore.WebUtilities.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267473 /app/cs/Ubisoft.Connect2.Services.Lib.resources.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 131880 /usr/share/dotnet/shared/Microsoft.NETCore.App/2.2.8/mscorlib.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267444 /app/System.Web.Http.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267248 /app/Microsoft.AspNetCore.Diagnostics.Abstractions.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267255 /app/Microsoft.AspNetCore.Html.Abstractions.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267381 /app/Microsoft.VisualStudio.Web.CodeGeneration.Contracts.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267385 /app/Microsoft.VisualStudio.Web.CodeGeneration.Utils.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267410 /app/StackExchange.Redis.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267257 /app/Microsoft.AspNetCore.Http.Extensions.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 402535 /app/runtimes/linux-x64/native/libuv.so (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267286 /app/Microsoft.AspNetCore.Razor.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267350 /app/Microsoft.Extensions.Hosting.Abstractions.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267436 /app/System.ServiceModel.Http.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267346 /app/Microsoft.Extensions.FileProviders.Composite.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267302 /app/Microsoft.AspNetCore.StaticFiles.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267264 /app/Microsoft.AspNetCore.JsonPatch.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 1840740 /usr/lib/x86_64-linux-gnu/libssl.so.1.0.2 (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 131831 /usr/share/dotnet/shared/Microsoft.NETCore.App/2.2.8/System.Security.Cryptography.Native.OpenSsl.so (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267429 /app/System.Runtime.CompilerServices.Unsafe.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 402550 /app/runtimes/unix/lib/netstandard2.0/Microsoft.Win32.Registry.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267377 /app/Microsoft.Net.Http.Headers.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267311 /app/Microsoft.CodeAnalysis.Razor.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267276 /app/Microsoft.AspNetCore.Mvc.Razor.Extensions.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267284 /app/Microsoft.AspNetCore.Razor.Language.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267313 /app/Microsoft.CodeAnalysis.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267244 /app/Microsoft.AspNetCore.DataProtection.Abstractions.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267242 /app/Microsoft.AspNetCore.Cryptography.Internal.dll (stat: No such file or directory)
dotnet 22035 root mem REG 259,1 267369 /app/Microsoft.Extensions.WebEncoders.dll (stat: No such file or directory)
и имена файлов повторяются тысячу раз, снова и снова. Не говоря уже о том, что таких файлов или каталогов много.
У нас вроде как заканчиваются варианты, а на windows с IIS + Kestrel у нас не было такой проблемы. Все работало отлично, но мы решили, что хотим AWS:)
Мы будем очень благодарны за любые предложения, спасибо