Semeando milhares de torrents

5

Existe alguma diferença no carregamento da CPU entre a propagação de uma grande torrente (acima de 20Gb) e 2000 de 20mb torrentes?

    
por MarkOverride 17.07.2010 / 18:27

5 respostas

6

Desde que o seu cliente possa lidar com esses muitos torrents, eu não esperaria que o uso da CPU fosse diferente, porque a maior parte do trabalho envolvido é E / S de disco e rede. Praticamente, você pode enfrentar dificuldades em manter tantas (milhares) conexões de rede com outros clientes.

    
por 17.07.2010 / 18:33
8

Se você pode semear como um torrent, então é melhor fazer isso do que criar 2000 torrents.

Com 2000 torrents, você terá muita sobrecarga acontecendo:

  • Seu processador precisa calcular mais, ele precisa fazer o material extra 2.000 vezes em vez de uma vez.
    Também será necessário alternar muito entre os segmentos, novamente causando sobrecarga.

  • Sua memória terá muita sobrecarga, todos os dados de sobrecarga para os mapas de arquivos resumem muito.

  • Seu disco de E / S terá muita sobrecarga, o cache de coisas na memória será menos eficaz.

  • A sua rede de E / S terá muita sobrecarga, muito mais conexões do que as necessárias são preparadas.
    Seu computador provavelmente não conseguirá lidar com todas essas conexões extras,
    ou você pode definir menos conexões, o que tornaria ineficaz.

Então, faça um torrent ou divida-o em alguns torrents, mas não o crie 2000 ...

Por favor, não esqueça que o usuário baixando seu torrent pode selecionar quais arquivos ele quer!
Eles ficarão mais felizes com uma pequena quantidade de torrents para ter conexões suficientes |  para que o torrent seja baixado mais rápido!

Ah, outra dica: se a sua CPU e disco são rápidos o suficiente, você pode querer comprimir as coisas primeiro ...; -)

    
por 18.07.2010 / 00:00
3

Se você tentar distribuir 2.000 torrents de uma só vez, você vai querer observar os limites em sua pilha TCP causando conexões para falhar - a maioria dos kernels de qualquer tipo tem algum tipo de limite no número de conexões TCP simultâneas, se Se você quiser experimentar semear 2000 torrents, você vai querer ter certeza de que sabe como ajustar os limites do seu sistema.

    
por 17.07.2010 / 21:58
2

Para cada torrent que está sendo propagado, seu computador precisa manter

  • várias conexões de rede - geralmente de 5 a 50 na minha experiência
  • um mapa das peças do torrent
  • um registro de até que ponto da torrente cada cliente conectado é
  • possivelmente outras coisas ...

Fazer tudo isso requer um pouco de memória para um punhado de torrents. Por 1000 vai ser uma grande quantidade de memória.

Outra diferença importante está no número total de peças para acompanhar. O torrent de 20GB terá peças muito maiores que uma torrente de 20MB. Vamos dizer que o torrent de 20GB tem 1000 peças, e o torrent de 20MB tem 100 peças. Em seguida, o número total de peças será 1000 para o torrent de 20 GB e 100.000 para os 20 MB de torrents. Seu servidor de torrent usará uma certa quantidade de memória para cada parte, então, para esta parte, os torrents de 20MB usarão 100x a memória.

Se você estiver procurando distribuir um conjunto de coisas onde a maioria das pessoas desejará tudo isso, então, se você dividi-lo, cada torrent terá que manter conexões de rede para cada cliente, em vez de ter apenas uma conexão de rede. cada cliente porque há apenas um torrent.

    
por 17.07.2010 / 23:25
1

Você provavelmente teria mais conexões para lidar com um grande número de torrents, o que naturalmente causaria mais carga no sistema que faz a semeadura.

    
por 17.07.2010 / 18:34

Tags