Tenho um microsserviço Spring Boot multithread em execução em um pod do Kubernetes com um limite de CPU de 1 (1000 m). Isso significa que apenas um núcleo de CPU é usado para executar todas as minhas threads, uma por uma, ou vários núcleos podem executar minhas threads simultaneamente, desde que o uso total da CPU não ultrapasse o limite de 1 CPU?
relate perguntas
-
Testando com inicialização de mola oauth2
-
Codificação de resposta de inicialização de mola não está funcionando
-
Spring Boot 3 e Thymeleaf - objeto não renderizado no formulário
-
Deseja acessar o microsserviço usando o nome do microsserviço sem o número da porta usando o servidor eureka
-
spring kafka registerListenerContainer método startImmediately sinalizador verdadeiro ou falso?
Isto. Você pode ter quantas threads quiser, e o kernel as agendará em quantos núcleos de CPU estiverem disponíveis, mas seu processo não receberá mais de 1 segundo de CPU por segundo.
Digamos, por exemplo, que seu aplicativo seja em grande parte limitado a um banco de dados e que uma thread só consiga usar praticamente 25% de um núcleo. Se você tivesse 4 threads em execução, juntas, elas ainda se encaixariam dentro de uma
limits: { cpu: 1 }
restrição e todas conseguiriam rodar em suas respectivas velocidades máximas (talvez em núcleos físicos diferentes).