Requisitos: Tener uno en el .NET FrameworkOutputCacheAttributeLa función (que se utiliza para marcar el método operativo de almacenamiento en caché de su salida) almacena datos frecuentemente accedidos y que cambian poco frecuentemente en memoria y genera contenido de respuesta directamente, lo que puede mejorar el rendimiento de la concurrencia del sitio web y reducir la presión sobre el servidor y la base de datos. Esta función solo se añadió en .NET 7.
ASP.NET Salida del middleware de caché en Core:El inicio de sesión del hipervínculo es visible.
El principio de la caché de salida: cada solicitud primero determina si existe en la caché; si no existe, escribe el contenido de la respuesta en la caché y luego la responde; si la caché existe, la respuesta de salida de datos se obtiene directamente de la caché. a través de la caché de salidaReducir las consultas a la base de datos, reducir algunas operaciones lógicas y obtener directamente desde la caché mejora tanto la concurrencia como la capacidad de respuesta。
Como no hay función OutputCacheAttribute en .NET 6, podemos implementar una caché de salida sencilla nosotros mismos.
En ausencia de una caché de salida, los resultados de la prueba de estrés son los siguientes (La base de datos del proyecto está conectada al servidor de Hong Kong):
Resultados de la prueba de estrés: Solo se permiten 10 concurrencias por segundo (transferencia lenta en la base de datos).
Para intentar añadir una caché de salida, primero, crea una nueva función OutputCacheAttribute, el código es el siguiente:
Crea un nuevo middleware OutputCacheMiddleware para bloquear la petición, y el código es el siguiente:
Añade el middleware UseOutputCacheExtensions a Program.cs con el siguiente código:
Finalmente, añade la función al método controlador con el siguiente código:
De nuevo, con pruebas de presión, se puede lograrMás de 10.000 concurrencias por segundo, como se muestra en la figura siguiente:
cassowary.exe run -u http://localhost:5222/zh-cn -c 50 -n 100000
(Fin)
|