Avalados por :

Guia de desempenho no Cloud Foundry: Dicas para otimizar o uso de CPU e memória

  • Creado 01/03/2024
  • Modificado 01/03/2024
  • 1 Vistas
0
Cargando...

Olá,

Encontrei o seguinte aqui :

"No ambiente do Cloud Foundry, as aplicações recebem uma parte garantida de CPU de Œ de núcleo por cada GB de memória de instância. Como a memória máxima por instância por aplicação é de 8 GB, isso permite escalonamento vertical de até 2 CPUs. Se as aplicações em execução na mesma máquina virtual não utilizarem sua CPU garantida, outras aplicações podem obter mais CPU. Isso não é garantido e pode estar sujeito a alterações no futuro. Se você encontrar problemas de desempenho, escale sua aplicação ou aumente o tempo de inicialização da aplicação. O número de threads em execução por instância de aplicação é limitado a 10 420. Alcançar esse limite pode causar problemas de desempenho."

Perguntas gerais:

- Quão rápido é um CPU?

- Onde encontrar esse tipo de informação?

Obrigado!

Pedro Pascal
Se unió el 07/03/2018
Pinterest
Telegram
Linkedin
Whatsapp

4 Respuestas

0
Cargando...

Olá ivan.mirisola

Ótima resposta! Tenho algumas perguntas sobre este tópico.

Vamos supor que temos uma quantidade muito limitada de memória de tempo de execução para nossa aplicação e a afirmação "Segundo a documentação, você só obtém garantido 1/4 de uma CPU completa para cada GB de memória de instância até 2 CPUs completas".

E também temos os seguintes cenários:

  • Cenário #1: Aplicação em execução com 1 instância e 8GB de memória por instância (o que significa 2 CPUs completas)
  • Cenário #2: A mesma aplicação agora em execução com 2 instâncias e 4GB de memória por instância (apenas 1 CPU)
  • Cenário #3: A mesma aplicação agora em execução com 4 instâncias e 2GB de memória por instância (apenas 1/2 CPU)
  • e assim por diante

Com relação aos cenários anteriores, isso significa que haverá uma degradação de desempenho do Cenário #1 (melhor) até o Cenário #3 (pior)?

Por favor, me avise sua resposta.

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá mario.guenter ,

A forma como entendo isso é que sua aplicação está sendo executada em uma máquina real "compartilhada" dentro de um contêiner.

De acordo com a documentação, você obtém garantido apenas 1/4 de núcleo de CPU por GB de memória da instância até 2 CPUs completas.

A quantidade de núcleos de CPU e irmãos que você vê com o comando lscpu está relacionada à máquina real que executa seu contêiner. Portanto, você poderá obter a marca, modelo e frequência da CPU dessa máquina real e esses serão utilizados por sua aplicação. No entanto, você não pode ter certeza de quantos núcleos de CPU sua aplicação realmente utilizará. Tudo o que você pode fazer a respeito é que sua aplicação será limitada a dois núcleos de CPU completos com base na quantidade máxima de memória por instância de aplicação. Quanto ao valor de irmãos, está mais relacionado ao hiperprocessamento da CPU. Nesse sentido, a máquina tem o hiperprocessamento habilitado, já que é o dobro da quantidade de núcleos.

Se deseja aumentar a quantidade de CPUs utilizadas, então deve adicionar instâncias adicionais de sua aplicação com o comando de escala:

cf scale <app> -i 2 

Esse comando definirá o número de instâncias de sua aplicação em 2.

Dado que cada CPU possui 16 núcleos, cada uma pode lidar com a carga de 4 GB. Como nossa aplicação tem duas instâncias e cada uma tem 8 GB, você terá garantidos 4 CPUs com um total de 32 núcleos.

No entanto, você deve estar ciente de que a máquina hospedeira terá que lidar com toda a carga de várias aplicações diferentes. E se você não estiver utilizando a potência de processamento, outras aplicações a utilizarão. Portanto, é por isso que usamos a palavra 'garantido' ao falar sobre CPUs e seus núcleos.

Faz mais sentido agora?

Cumprimentos,
Ivan

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá ivan.mirisola ,

obrigado por entrar em contato comigo. Segui seus passos e obtive muitas informações do cpuinfo.

Saída:

procesador       : 0
identificador_de_fabricante       : GenuineIntel
familia_de_cpu      : 6
modelo           : 85
nombre_del_modelo      : Intel(R) Xeon(R) Platinum 8175M CPU @ 2.50GHz
stepping        : 4
microcódigo       : 0x2006906
cpu MHz         : 3186.919
tamanho_de_cache      : 33792 KB
id_físico     : 0
irmãos        : 32
id_do_núcleo         : 0
núcleos_de_cpu       : 16
apicid          : 0
apicid_inicial  : 0
fpu             : sim
exceção_fpu   : sim
nivel_cpuid     : 13
wp              : sim
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc cpuid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt clwb avx512cd avx512bw avx512vl xsaveopt xsavec xgetbv1 xsaves ida arat pku ospke
erros            : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit
bogomips        : 4999.99
tamanho_clflush    : 64
alinhamento_de_cache : 64
tamanhos_de_endereço   : 46 bits físicos, 48 bits virtuais
gestão_de_energia:

... 15 descrições adicionais de processadores similares ao anterior

Então, para resumir:

Me diz que há 16 processadores no total, cada um com 16 núcleos (núcleos de CPU), que se dividem em 32 irmãos, certo?

Agora minha pergunta com 1 GB de tempo de execução do aplicativo:

O que eu obtenho agora?

- 1 Processador?

- ou 1 desses 16 Núcleos de CPU?

- ou 1 desses 32 irmãos?

Desculpe por ser tão detalhado.

Preciso esclarecer isso, pois precisamos calcular a viabilidade de um esc

Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019
0
Cargando...

Olá mario.guenter ,

Podes habilitar o ssh para a tua aplicação e abrir um terminal nela para emitir comandos como lscpu ou cat /proc/cpuinfo. Aqui tens a informação sobre a minha aplicação:
Aqui tens a informação da minha aplicação:
Intel(R) Xeon(R) Platinum 8259CL CPU @ 2.50GHz
cpu MHz         : 3099.978
Espero que isso ajude! Saudações,
Ivan
Respondido el 15/04/2024
LUCIANO RIOJA GHIOTTO
Se unió el 13/07/2019

contacto@primeinstitute.com

(+51) 1641 9379
(+57) 1489 6964

© 2024 Copyright. Todos los derechos reservados.

Desarrollado por Prime Institute

¡Hola! Soy Diana, asesora académica de Prime Institute, indícame en que curso estas interesado, saludos!
Hola ¿Puedo ayudarte?