lina wrote: > Once I used the wget to download one file from debian repository, on > another terminal I with to use the wget to get another file at the same > time from the same repository.
And if you needed both files then that seems fine to me. > I was discouraged to do that, and was also told that, two wget > downloading would deduce the downloading speed, I should have waited one > finished before download another one. *Should* is too strong. It doesn't hurt anything to download two files at the same time. Or three. A hundred is probably too many though. But really there isn't any difference in the overall result. > It's happened two years ago, but I still remembered that suggestions. > Even later in my life I still download two or more at the same time. Sure. I often have multiple things happening at the same time. It is why I use a multitasking operating system. > Here my question is that, is it true that open two wget will affect the > downloading speed? better one by one, just suspect it. Let's assume you have a 1.0 Mbit/s download connection. Because it makes the math easier. And assume you need a 1.0 Mbyte file. With no other overhead it will take aproximately 10 seconds to download. Now let's assume that you download two of those files at the same time. You still only have 1.0Mbit/s download speed. But now you are downloading 2.0Mbytes of data in total. Obviously the total download will take aproximately 20 seconds to download. If you ran them sequentually then the first one would finish in 10 seconds and then the second one would start and it would finish 10 seconds later. So it would take 20 seconds in total for both to download both of those files. If you ran them both at the same time then neither would be able to get the full 1.0Mbit/s download speed. It should balance out between them and each would get about 0.5Mbit/s download speed. Which would double the amount of time each would take. Each would take about 20 seconds to download those files but both are running at the same time. So once again it would take 20 seconds in total for both to download those files. No difference! Now if you needed *one* of those files first then you would download it first and not start any of the others until you had what you needed first. You would prioritize. You would get the high priority items first. Because then in 10 seconds you would have something you needed first. You would hold off the lower priority items that could wait to get the ones that you wanted soonest. Hopefully all of that makes sense and enables you to do whatever makes the most sense at that moment in time. If the bottleneck in speed is your local network connection to the Internet then you would whatever you wanted to make your task easiest. Now here is a twist. This is a obtuse thing but useful to know about. If the bottleneck is competition with other people then the situation is different. Let's say you are working at a small business or school or coffee shop along with nine other people for ten total people downloading things. There is still a 1.0Mbit/s download capacity. But now ten people are using it. So you are only getting 0.1Mbit/s download speed. Getting that 1.0Mbyte file now takes 100 seconds instead of 10 seconds. Because nine others, all ten of you in total, are all downloading all at the same time and the system is sharing the bandwidth across all of you. So now it takes 100 seconds. Now here is the twist. If you can split that file up into nine parts and then start nine downloads in parallel you will get the total 1Mbyte file downloaded in 50 seconds. That is now twice as fast as the 100 second case! The system doesn't know about users. The system knows about download connections. If you have nine downloads going at once but your nine other coworkers each have one that is 18 total downloads going at once. The system will share the bandwidth across all 18 of those. But 9 of those are yours and 9 belong to the rest of your coworkers. So you are getting half of the available bandwidth and starving your coworkers out of their fair share. Better if you split the file into 27 parts and ran 27 downloads in parallel then you would have 27 and your coworkers would have 9 and you would have 27/(27+9)=3/4 of the bandwidth and they would have 9/(27+9)=1/4 of the bandwidth. You would be able to download a 10Mbyte file in 13.3 seconds. The system divides bandwidth up between the connections so if you have more connections then you get more bandwidth. You could keep going with this but at some point the overhead prevents further progress. This is what some file download manager programs do. This is part of what makes bittorrent so effective. Meanwhile your coworkers might be a little bit upset that you were starving them out. In response they might start doing the same thing and running a parallel download manager. This becomes an "arms race" with all sides trying to get more than their fair share at the expense of others. Now if everyone in your group all did the same thing then the result is that you would be right back where you started before, with 1/10 of the bandwidth of the ten of you in the group. I hope this was interesting and useful. Bob
signature.asc
Description: Digital signature