2017-02-22 3 views
0

Ich schreibe ein Dateiübertragungsprogramm mit WebSockets, gibt es eine Möglichkeit, die Geschwindigkeit mit Multiprocessing zu erhöhen? Wenn Sie beispielsweise mehrere Prozesse verwenden, um mehrere Websockets zwischen zwei Computern zu erstellen, Dateien in so viele Teile aufzuteilen und jedes Teil durch jeden Prozess zu schicken, wird dadurch die Übertragungsgeschwindigkeit erhöht?Websockets mit Multiprocessing

Antwort

1

Nein, wahrscheinlich würden Sie unnötigen Aufwand verursachen. Die Bandbreite zwischen A und B wird durch das langsamste Konnektivitätssegment im Pfad definiert und ändert sich nicht, unabhängig davon, wie viele Prozesse gestartet werden.

Eine andere Sache wäre, wenn Sie die Dateiteile verfügbar von verschiedenen Standorten, die erreicht werden, die gemeinsamen langsamsten Segmente zu vermeiden, wie P2P-Anwendungen tun.

Dies könnte Sie interessieren: https://www.howtogeek.com/141257/htg-explains-how-does-bittorrent-work/

Zum Beispiel, wenn Sie eine 56K-Verbindung haben, ganz egal, wie viele Stellen Sie die Dateiteile setzen, wird der Download auf 56K begrenzt. Wenn Sie ein 100 MB-LAN haben, aber Ihr Nachbar auf 56 KB, können Sie nur Dateiparts von ihm bei 56 KB herunterladen. Wenn Sie in einer 10-MB-Leitung einen anderen Nachbarn haben, der Dateien bereitstellt, können Sie jetzt Teile mit 10 MB + 56 KB herunterladen, und so weiter. Wenn Sie einen anderen Nachbarn mit einer 1Gb-Leitung bekommen, können Sie mit 100Mb herunterladen, das ist das Maximum Ihrer Leitung. Und wenn Ihr 56K-Nachbar es Ihnen erlaubt, einen anderen Nachbarn mit einer verrückten 100GB-Leitung zu erreichen, werden Sie immer noch auf 56K mit ihm beschränkt sein.