Qual é a quantidade máxima de threads suportada por um sistema ?

Tive de efetuar um teste para um cliente, onde é necessário verificar qual é a quantidade máxima de threads suportada por uma determinada máquina.

Parece simples não é ? Pois só parece, pois existem fatores que podem variar muito o resultado

  • Tamanho da pilha: -Xss

  • Tamanho máximo do heap: -Xmx
  • Capacidade computacional disponível, para funcionar o teste. Tome cuidado ao rodar isso na sua máquina de produção.

  • Em um ambiente de servidor real, o mesmo usa mecanismos de pool e prioridades, onde este teste não considera isso. Logo o sistema irá sempre suportar mais threads do que o resultado desta medição.
  • Cada thread efetua vários cálculos matemáticos, enquanto que em uma aplicação real cada thread faz operações diferentes.

Fiz um guia no ClaudiusWiki, onde as existem mais informações sobre isso e onde estão os arquivos para download, com as respectivas instruções.

Written on May 15, 2007