net microsoft how asp c# asp.net-core kestrel-http-server

c# - microsoft - ¿Hay alguna manera de ahorrar tiempo en la cola de solicitudes en Kestrel/ASP.NET Core?



kestrel server (1)

Esta pregunta no es tan fácil.

Si desea realizar un seguimiento todas las veces, debe hacer muchos pasos. Al principio, agregue un sello único o los tics a las solicitudes, para que pueda identificarlos uno por uno. En segundo lugar, cree un controlador que intercepte sus solicitudes y registre los tiempos. En tercer lugar, agregue un punto de registro a cada método relacionado con la solicitud. Cuarto - esto será una sorpresa - no se puede hacer nada grande para reducir este tiempo. Espere la configuración de IIS en cuanto a subprocesos, solicitudes paralelas, manejo de sesiones, etc. Quinto: si su navegador mide 2000 ms, su servidor mide 200 ms. no es el núcleo de .NET, es su código / arquitectura / configuración. Perdón por decirte malas noticias.

Use la clase System.Diagnostics.Stopwatch para medir la hora.

Según entiendo, el middleware ASP.NET Core se ejecuta cuando una solicitud está lista para procesarse. Pero si la aplicación está bajo carga y ASP.NET Core no puede procesar todas las solicitudes a medida que entran, ¿se ponen en una "cola" en algún lugar? No sé si se trata de una cola administrada dentro de Kestrel o si tiene algo que ver con libuv.

Me gustaría saber cuánto tiempo se utiliza una solicitud determinada en esta cola. ¿Hay algo en HttpContext que pueda decirme esto?

Gracias por adelantado