Mais de 65536 conexões TCP no Linux

9

Estou preso tentando configurar mais de 65536 conexões TCP de saída de uma caixa Linux (RedHat5).

Já configurei as caixas de saída e aceitação para permitir descritores de arquivos suficientes.

Não acredito que haja um problema no lado de aceitação - tenho várias caixas de destino, cada uma com vários endereços IP e estou usando várias portas.

No lado de saída, não acredito que esteja atingindo um limite por endereço IP - estou usando vários endereços IP e portas (estou abrindo conexões de portas de 30.000 a 60.000 para cada um dos vários endereços IP).

Existe algum parâmetro ajustável do kernel do Linux que está faltando? Ou algum limite fundamental no TCP?

A falha é que meu aplicativo para abrir as conexões está pendurado na chamada connect ().

Obrigado por qualquer ajuda NickB

    
por NickB 15.07.2010 / 15:29

2 respostas

8

Aqui está um blog onde alguém conseguiu > 1.000.000 outbounds de uma caixa.

  • Richard Jones, MetaBrew.com, 2008-11-04, Um Aplicativo de Cometa de Um Milhão de Usuários com Mochiweb, Parte 3 , seção Aumentando para 1 Milhão (Arquivado aqui .

In Part 1, we set the range to "1024 65535" - meaning there are 65535-1024 = 64511 unprivileged ports available. Some of them will be used by other processes, but we'll never get over 64511 client connections, because we'll run out of ports.

...

So let's bring up 17 new IP addresses, with the intention of making 62,000 connections from each - giving us a total of 1,054,000 connections

    
por 15.07.2010 / 16:00
0

O protocolo TCP usa apenas 16 bits para o destino e a porta de origem. Não haverá como ter mais de 65536 portas abertas de uma só vez - nem mesmo com o Linux.

    
por 15.07.2010 / 15:34

Tags