Erros do httperf

1

Eu uso o enableperf para testes de desempenho. Inicio muitos threads do httperf ao mesmo tempo, mas depois de executar por um tempo, recebo erros como este:

"activationperf: falha ao conectar-se ao servidor SSL (err = -1, motivo = 5)"

Como isso acontece?

Meu código:

#!/bin/bash
for ((i=0;i<30;i++)); do
./bin/httperf --server 192.168.2.1 --port=443 --uri / --ssl --ssl-no-reuse --timeout 10000 --rate 1000 --num-conns 50000000 &
sleep 1
done

O servidor é nginx-1.2.4, não sei se é o problema causado pelo servidor.


fonte

Respostas:

1

Há um máximo teórico de sessões que você pode ter estabelecido em um único servidor Web a partir de um único cliente. É possível que você tenha atingido esse limite.

O que identifica uma conexão TCP é uma combinação de

  1. IP fonte

  2. Porta de Origem

  3. IP de destino

  4. Porto de destino

Neste teste, 1, 3 e 4 são estáticos. O que resta é a porta de origem, que possui uma quantidade máxima de 65535 portas. Nem todos são usados ​​para conexões de saída. Dependendo do sistema operacional do cliente, esse número é restrito a um intervalo menor (ou seja, 65535-1024).

Para verificar se você esgotou a quantidade de sessões possíveis, faça o seguinte no servidor:

netstat -na | grep source-ip | grep ":443" | wc -l

Você precisará investigar os limites dos clientes para a quantidade de portas de origem para determinar o máximo.

O cão come o mundo do gato
fonte
0

Se eu receber a mensagem de erro, ela exibirá o status do SSL_connect. Nesse caso, o motivo 5 significaria SSL_ERROR_SYSCALL (consulte ssl / ssl.h no OpenSSL) e obteríamos mais detalhes sobre o erro "consulte a pilha de erros / valor de retorno / errno". Infelizmente o activationperf não fornece informações mais detalhadas, portanto, é possível adivinhar: pode ser que ele tenha ECONNRESET ou EPIPE porque o nginx fechou a conexão. Talvez você encontre mais informações no log de erros do próprio nginx.

Steffen Ullrich
fonte
Obrigado. Mas não há nada sobre isso em error.log do servidor nginx
@Wayne: esta discussão não pertence a security.stackexchange.com (consulte security.stackexchange.com/help/on-topic ). Você pode tentar o stackoverflow.com, mas, de qualquer forma, as informações que você forneceu até agora não são suficientes para depurar o problema.
Steffen Ullrich