J'ai la configuration suivante : une application Web fonctionnant dans deux conteneurs linux (construits sur aspnetcore 2.0.5) derrière un équilibreur de charge d'applications (AWS).
Un client qui fait une demande à cette api en utilisant HttpClient. Le client exécute les appels sur plusieurs tâches en parallèle. Si le nombre de tâches parallèles augmente, l'api commence à lancer des exceptions avec le message "Request timed out".
La pile d'appels est :
sur Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.PipeCompletion.ThrowFailed() à Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.GetResult(ReadResult& result) à Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.Pipe.Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.IReadableBufferAwaiter.GetResult() à l'adresse Microsoft.AspNetCore.Server.Kestrel.Internal.System.IO.Pipelines.ReadableBufferAwaitable.GetResult() à l'adresse Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.MessageBody.d__24.MoveNext() --- Fin de la trace de la pile précédente System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.Frame`1.d__2.MoveNext()
Qu'est-ce qui peut provoquer cette erreur, qui fixe un délai d'attente, comment puis-je approfondir la question ?
Edit : Si j'ai essayé fiddler pour capturer la requête défaillante, l'erreur n'est plus levée (peut-être que fiddler ouvre les connexions avec un moindre degré de parallélisme).