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