C'è qualche differenza nel caricamento della CPU tra il seeding di un grande torrent (oltre 20Gb) e 2000 di 20mb torrent?
C'è qualche differenza nel caricamento della CPU tra il seeding di un grande torrent (oltre 20Gb) e 2000 di 20mb torrent?
Risposte:
Se il tuo client è in grado di gestire quei numerosi torrent, non mi aspetto che l'utilizzo della CPU differisca di molto, perché la maggior parte del lavoro coinvolto è l'I / O del disco e della rete. In pratica, potresti incontrare difficoltà nel mantenere così tante (migliaia) connessioni di rete ad altri client.
Se puoi eseguire il seeding come un unico torrent, allora è meglio fare proprio questo che creare 2000 torrent.
Con 2000 torrent, avrai un sacco di spese generali:
Il tuo processore deve calcolare di più, deve fare le cose extra 2000 volte anziché una volta.
Dovrà anche passare molto più da un thread all'altro, causando di nuovo un sovraccarico.
La tua memoria avrà un sacco di sovraccarico, tutti i dati generali per le mappe dei file si sommano molto.
L'I / O del disco avrà un sacco di sovraccarico, la memorizzazione nella cache delle cose in memoria sarà meno efficace.
L'I / O di rete avrà un sacco di sovraccarico, saranno preparate molte più connessioni del necessario.
Probabilmente il tuo computer non sarà in grado di gestire tutte queste connessioni extra,
oppure puoi impostare meno connessioni che lo renderebbero inefficace.
Quindi, crea un torrent o suddividilo in alcuni torrent, ma non crearne 2000 ...
Non dimenticare che l'utente che scarica il tuo torrent può selezionare quali file desidera!
Saranno più felici con una piccola quantità di torrent in modo che abbiano abbastanza connessioni in
modo che il torrent si scarichi più velocemente!
Oh, un altro suggerimento: se la tua CPU e il tuo disco sono abbastanza veloci potresti voler prima comprimere le cose ... ;-)
Se provi a eseguire il seeding di 2000 torrent contemporaneamente, ti consigliamo di controllare i limiti nello stack TCP che causano errori nelle connessioni: la maggior parte dei kernel di qualsiasi tipo ha una sorta di limite sul numero di connessioni TCP simultanee, se vuoi prova a seminare 2000 torrent, ti consigliamo di sapere come regolare tali limiti sul tuo sistema.
Per ogni torrent che sta eseguendo il seeding, il tuo computer deve essere mantenuto
Fare tutto ciò richiede un po 'di memoria per una manciata di torrent. Per 1000 sarà un'enorme quantità di memoria.
Un'altra differenza chiave sta nel numero totale di pezzi di cui tenere traccia. Il torrent da 20 GB avrà pezzi molto più grandi di un torrent da 20 MB. Diciamo che il torrent da 20 GB ha 1000 pezzi e il torrent da 20 MB ha 100 pezzi. Quindi il numero totale di pezzi sarà 1000 per il torrent da 20 GB e 100.000 per i torrent da 20 MB. Il tuo server torrent utilizzerà una certa quantità di memoria per ogni pezzo, quindi per questa parte i torrent da 20 MB useranno 100 volte la memoria.
Se stai cercando di distribuire un insieme di cose in cui la maggior parte delle persone vorrà tutto, allora se lo spezzi ogni torrent dovrà mantenere le connessioni di rete per ogni client, piuttosto che avere una sola connessione di rete per ogni client perché c'è solo un torrent.
Probabilmente avresti più connessioni da gestire con un gran numero di torrent, il che naturalmente causerebbe più carico sul sistema che esegue il seeding.