Sobrecarga de gateway / modem ao executar uma teia de aranha

1

Problema: todos os outros dispositivos na rede passam por atrasos, páginas de e-mail, queda de bate-papo, etc., enquanto isso está em execução.

Este é um post cruzado do stackoverflow, eu posso ter usado o site errado!

Detalhes:

Usando libcurl para isso

Debian 7 - Intel i5 - 8 GB de RAM

Conexão Comcast Business 75/15 (Cisco DPC3939B)

Execução de encadeamentos 75 (testados até 200) com o Parallel ForkManager

20 Threads é quase aceitável - mas muito lento para as minhas necessidades

Tempo limite: CURLOPT_CONNECTTIMEOUT_MS, 5000 + CURLOPT_TIMEOUT_MS, 10000

Rodada robin dns usando opções girar em resolv.conf

Todas as conexões são para sites independentes e exclusivos - não há reutilização de conexões aqui

A minha matemática está errada ao assumir que as conexões por segundo são threads * timeout?

Notas: Os recursos do servidor estão virtualmente intocados - a média de carga do .10 e isso é principalmente o MySQL que mantém o controle das coisas. A aranha e o servidor estão funcionando perfeitamente, eu posso conseguir 8 milhões de visitas por dia se eu quisesse. Simplesmente não posso usar a rede para trabalhar durante esse processo.

Minha maior epifania em anos de ajustes foi mudar os servidores DNS que os outros dispositivos usam - para evitar qualquer tipo de tempo limite ou limitação imposto pelos servidores de dns que a caixa do Linux está usando. Isso não teve o efeito que eu esperava.

Os outros dispositivos como o meu laptop Windows 7 não podem visitar várias guias, os sites podem ter tempo limite - não podem executar rsync com muitos pequenos arquivos transferidos - mas podem executar o speedtest.net - assim que carregar a largura de banda disponível ainda é quase 90% o que estou comprando. Então baixar um único arquivo grande não é um problema, mas se movimentar e abrir mais conexões é.

Uma vez conectei o servidor através de um roteador dd-wrt apenas para obter mais informações sobre o que está acontecendo - e as conexões ativas eventualmente atingirão o máximo de 4096 se estiverem executando 200 threads. Eu realmente sinto que o gateway / modem não pode processar todas as conexões - mas eu também sinto que 100 conexões por segundo devem ser muito aceitáveis - e algo não está sendo fechado corretamente.

    
por saxicolous 15.03.2015 / 02:52

0 respostas