Você estabeleceu aqui que, além de um número limite de usuários, seu serviço deixa de responder a novas conexões. Você precisa usar estatísticas e log no servidor de aplicativos para determinar o que causa esse problema. Suspender em novas conexões pode ser o resultado de contenção em qualquer número de recursos:
-
CPU, memória ou IO (o vmstat ajudará com isso)
-
Você pode estar acessando um ulimit para obter o número máximo de sockets, arquivos ou processos abertos (isso será registrado no syslog)
-
Seu aplicativo pode ficar parado aguardando o acesso a um recurso externo, como um banco de dados, que pode sofrer com qualquer um dos problemas de contenção de recursos descritos acima.
Resumindo: o teste de carga, pelo menos para fins de otimização do desempenho de serviço sob carga, só é útil se você combiná-lo com um monitoramento cuidadoso do serviço que está testando para quantificar seus resultados. Com esse monitoramento, o teste de carga informa apenas o limite após o qual seu serviço não é mais utilizável.