Reducción de CPU duplica tiempo de procesamiento

· Tecnología

  1. Limitar CPU de 2 a 1 en contenedor aumentó tiempo de procesamiento de 200 registros de 42.1 a 83.6 segundos.
  2. Parallel.ForEachAsync usa Environment.ProcessorCount como límite de concurrencia por defecto, que se fija al inicio del proceso.
  3. Un límite de CPU de 1 resulta en máximo 1 operación concurrente, serializando trabajo de I/O.
  4. Se propone usar semáforos separados por dependencia (DependencyBudgets) para controlar concurrencia independientemente del límite de CPU.
  5. En pruebas, estrategia con límites separados (C4) eliminó rechazos HTTP 503 pero redujo throughput saludable en 11-14%.

devops · contenedores · concurrencia · dotnet · rendimiento

Leer el original

Más en Tecnología