Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

148
Vistas
¿Por qué la contraparte asíncrona de un método síncrono tiene menos rendimiento?

Tengo 2 puntos finales de API que básicamente realizan lo mismo. Carga un elemento de la base de datos utilizando Ef Core y lo devuelve como respuesta. La diferencia es que uno es síncrono y otro es asíncrono, específicamente, la llamada a Ef Core es síncrona en el primer método y asíncrona en el segundo.

Estaba realizando pruebas de carga en ambos terminales con Bombardier. Al principio, uso solo 1 conexión con 5000 solicitudes y el método síncrono funcionó bien. Pensé que el cambio de contexto en el método asincrónico podría ser responsable de esto, ya que solo hay 1 conexión. Luego aumenté las conexiones a 150, pero aún así el método síncrono funciona mucho mejor y tiene mucho más rendimiento que el asíncrono, como puede ver en la imagen a continuación. La primera salida es de versión síncrona y la segunda es de versión asíncrona.

Pensé que habrá más conexión, el método asíncrono brillará, ya que no esperará a la conexión existente y asumirá la otra conexión. ¿Qué hay aquí que no estoy entendiendo? Alguien podría explicarmelo.

ingrese la descripción de la imagen aquí

ACTUALIZAR

Aquí está mi código y también volví a ejecutar la prueba, incluido su resultado también.

 [HttpGet("a")] public IActionResult Get() { var invoices = context.Invoices .Include(it => it.InvoiceItems) .ToList(); return Ok(invoices); } [HttpGet("b")] public async Task<IActionResult> GetAsync() { var invoices = await context.Invoices .Include(it => it.InvoiceItems) .ToListAsync(); return Ok(invoices); }

ingrese la descripción de la imagen aquí

over 4 years ago · Santiago Trujillo
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda