Jump to content
To block spammers, this forum has suspended new user registration ×
Comet Forums
To block spammers, this forum has suspended new user registration

BitComet often ignore the priorities


Recommended Posts

I like BitComet because it is possible to download any files, contained in torrent, in turn.

But BitComet often ignore the priorities and when he finally finished a first file with the highest priority, the remaining files with lowest priority was on 50-60% downloaded.

Is it possible to do so, that downloading files are REALLY downloaded in turn?

bc_sp.jpg

Sorry, but screenshot contains russian language.

The idea is that hiest priority file on screenshot on 17.8%, but other files on 30%-40%.

Do you think this is ok?

  • ISP: dynamic.mts-nn.ru
  • Download Speed: 3 Mbits/s == 384 KBytes/s
  • Upload Speed: 768 Kbuts/s == 96 KBytes/s
  • Hardware: Conexant USB ADSL WAN Modem
  • OS: Microsoft Windows 7 fully updated
  • AntiVirus: ESET Smart Security 4.0.467.0
  • Software Firewall: ESET Firewall
  • AntiSpyware: I sad only ESET...

Edited by w3ee (see edit history)
Link to comment
Share on other sites

BitTorrent is a peer to peer protocol (that means human to human) that means you get your files (actually the piece parts that are assembled by your client, BitComet, in this case, into equally sized pieces that are then checked against the hash and then if they pass they are (the whole pieces) assembled into files) from a multitude of other peers (humans) that have exactly the same task you started. You get their IP addresses and ports from servers that keep track of the torrent you are using, those servers are called trackers. As you request a list of addresses from them (the trackers) you write your own address on those (every tracker has its own list of peers that requested a list from them) lists just like every other peer like you and every other peer that asks for the list on those trackers will find you on the lists and it will try to connect to every peer on those lists, including you. Every peer in the swarm does this, including you. This is how you connect to another peer, a new question arises: What happens next?

What happens next (if the connections to the other peers succeed in the first place, some fail, and those that fail don't fail because of BitComet, this is out of it's control and there are a multitude of factors that could affect this) is that you request the pieces you don't have and if and only IF the contacted peers have and want(yes, I said want , that means that you are trading pieces and the currencies are speed and reliability, if the other peers will find faster and more reliable peers than you they will refuse you) to give you those pieces you will receive them.

The priority system you talk about only controls what you ask for first. If it doesn't find what has the highest priority it will move on to the next and so on. Would you rather sit and wait until it finds what has the highest priority? That might take hours. Wouldn't you agree that those hours are wasted this way and that BitComet can download something else in the meantime?

Link to comment
Share on other sites

Vasy has given you a very accurate technical description of the process, but just in case your looking for a simple answer, I offer this.

To sum it up, bittorrent doesn't download in "files", rather in "pieces". It's a very good thing that it does it this way, if not then it wouldn't be as popular as it is.

If you would rather download your data in files, then you should find an FTP site to get your files from. FTP is a direct download, server to peer. Because the files are often much larger (bittorrent piece is often much smaller then 1mb, where ftp files can be upto several gigabytes in size) Also, failed downloads often occur making it necessary to use compressed archives so you will find your movies and videos packed into several .rar files.

Additionally, FTP sites (at least the good ones) aren't free.

Without realizing it, what your asking is for bitcomet to step back ten years in technology because you feel it's more organized to download one file at a time rather then dozens or hundreds of tiny pieces at a time.

I'm doing my best to explain to you that this is a very bad idea.

If you insist you want one file at a time, you can start a torrent with only one file enabled, then move to the next when its complete, but doing this will take an extremely long time with slow speeds, and much data will need to be downloaded twice.

To say it is a bad idea is an understatement. The only time I'd recommend it is if you have no choice, like if you want to download an entire TV series that is 50gb in size and you only have room for 25gb. In that case you can download half, burn them to disc then download the second half, but expect the total download time to be much longer, and your not only making it less efficient for yourself, but for everyone you connect to.

In fact, it's not a good idea to change priority on files at all. The best way to download is to set all files to normal.

Link to comment
Share on other sites

BitTorrent is a peer to peer protocol (that means human to human) that means you get your files (actually the piece parts that are assembled by your client, BitComet, in this case, into equally sized pieces that are then checked against the hash and then if they pass they are (the whole pieces) assembled into files) from a multitude of other peers (humans) that have exactly the same task you started

This would give the real speedup, if I had infinite speed Internet connection. But now it turns out that I use my traffic to intercept other people's packages. Besides, if I download file alone, that is, all packages come to me, still happens the same thing, that is, files with a low priority downloads with files with hight priority.

If you insist you want one file at a time, you can start a torrent with only one file enabled, then move to the next when its complete, but doing this will take an extremely long time with slow speeds, and much data will need to be downloaded twice.

First time I tried to do that on other torrent clients. For example on uTorrent I was choose high and normal priorities for 2 first files and low priority for other files, and downloading them first. There was no loss of speed, but it was uncomfortably. When I heared about BitComet, I thought that my problems was solved. But unfortunately BitComet has this lack.

Probably I'll have to find a new torrent-client :(

Edited by w3ee (see edit history)
Link to comment
Share on other sites

Place your feet in a bowl with warm water and read my post again, slower, paying more attention to details.

No BT client can control a human, no bt client can control other clients, all a bt client does is that it gives and receives pieces it has and finds as said above.

You should also know that prioritizing your files harms the effectiveness of the swarm and that the BitTorrent protocol was not intended to do this.

If you want more control over what and how you download your files you should use ftp as TuuS said or DC (strongDC++ and apexDC++ are both very effective at this)

Link to comment
Share on other sites

Place your feet in a bowl with warm water and read my post again, slower, paying more attention to details.

No BT client can control a human, no bt client can control other clients, all a bt client does is that it gives and receives pieces it has and finds as said above.

Sorry if I was inattentive, but I just want to downloads one file in list at a time without constant switching manually, I do not see particular problem in this, but no torrent-client has this function.

The priority system you talk about only controls what you ask for first. If it doesn't find what has the highest priority it will move on to the next and so on. Would you rather sit and wait until it finds what has the highest priority? That might take hours. Wouldn't you agree that those hours are wasted this way and that BitComet can download something else in the meantime?

I just checked it out. If I turn off all the files in the torrent, and leave only one, my speed will be about 320KB/s.

If I leave the all files, then my speed 360KB /s, but is divided among all the other files.

Edited by w3ee (see edit history)
Link to comment
Share on other sites

That's because your torrent had enough seeds, and you managed to connect to them or because a lot of peers already had that file. What if they didn't? Would you rather have waited until they got it and then shared it with you?

What if the torrent was initial seeded by only one seed and the rest were peers that slowly got the files piece by piece?

If you're looking for a way to automatically set file priority in an order, right click the task, select "Proprieties" and then select the "Download Order" tab" , order the files in any way you want then click "OK" to apply the changes.Please note that this will only use "High" priority for the first unfinished file in list and it will not set the rest to "disabled", but to "normal".

Link to comment
Share on other sites

...I just want to downloads one file in list at a time without constant switching manually, I do not see particular problem in this, but no torrent-client has this function.

You don't see a particular problem in this because you don't understand how BitTorrent protocol works. It is not intended to download files sequentially, period. Now BitComet has introduced a prioritizing function which will try to get the pieces for the prioritized file, always with the highest priority when making piece requests.

But in the periods when no client can deliver to it pieces belonging to that "high-priority" file it will take pieces for the rest of the files which have lower priority as well, so that it doesn't waist time, waiting idle.

It's a very simple concept which you seem to miss.

No one will ever implement in a BitTorrent client what you asked for (to download pieces only for one file and disable all the rest) because it would be a highly ineffective method.

That's because when the client doesn't find available pieces for that file or finds them but is being temporarily choked by the clients owning those pieces, it would rest idle, waisting time in which it could download some pieces for the other lower priority files.

By using the "Download Order" tab which Vasy has indicated to you, you will get better overall results than if you would manually choose one file at a time, to download.

Link to comment
Share on other sites

Seems you completely misread/misunderstood my entire post.

I tried to explain that it's a very bad idea to make excessive use of file priority in torrents, but you seem bound to continue to use it more and more, expecting it to do something it was never designed to do.

First problem is your saying BitComet is failing to run a torrent in a way that bittorrent protocol will NEVER do, regardless of what torrent client you use.

If you want to download one file at a time, then you need to get a separate torrent for each file, but even then, any torrent client is (behind the scenes) actually downloading tiny parts of that file until it has enough to reassemble it for you.

The "priority" setting will allow you to select which files finish first, but ONLY if every tiny piece of data in the torrent is equally available, in which case high priority will complete first. If the high priority files contain pieces which your client cannot locate, bitcomet will behave properly by downloading other pieces for other files until it can find a peer that both has the file, and is accepting new connections (unchoked).

Nothing will change this, if you want to download by the file, then don't use torrents.

Secondly, to get the best performance, you should allow bitcomet to download the pieces currently available in the swarm by setting all files to "normal". If your downloading a large torrent of videos as shown above, you can set the first few to higher priority, and it will (if possible) get them first, but that is dependent on the other peers you connect to. If they don't have it, or are busy (choked), then there is no way they can complete. Just remember, by changing priority, your hurting yourself and the entire swarm in forms of efficiency. Changing one or two files to high priority isn't going to do great harm, but disabling all but one file so you can download one at a time is beyond stupid (no offense intended), because your crippling the efficiency of everyone's download by forcing your client to request only unavailable pieces and downloading other pieces multiple times.

Link to comment
Share on other sites

If you're looking for a way to automatically set file priority in an order, right click the task, select "Proprieties" and then select the "Download Order" tab" , order the files in any way you want then click "OK" to apply the changes.Please note that this will only use "High" priority for the first unfinished file in list and it will not set the rest to "disabled", but to "normal".

I know about "Download Order", this is exactly what I love in BitComet.

You don't see a particular problem in this because you don't understand how BitTorrent protocol works. It is not intended to download files sequentially, period. Now BitComet has introduced a prioritizing function which will try to get the pieces for the prioritized file, always with the highest priority when making piece requests.

I understand it, but as I mentioned earlier, other torrent clients (uTorrent for example) never ignore the priorities, it means that if there is file with hight priorities, the remaining files will be inactive until the first file will not be fully loaded. And all this is happening almost without losing speed. How to explain this?

You showered me technical information of the protocols, but I see that part of what I want is in BitComet, and another part in uTorrent. Oh, if I could merge them)

All I need - the same work priorities, as in other torrent clients, but with the ability to appoint "Download Order".

Nothing will change this, if you want to download by the file, then don't use torrents.

I use torrents because for me it is the most available method to downloading files.

I realized that what I need is impossible in your program. Very sorry.

Edited by w3ee (see edit history)
Link to comment
Share on other sites

I understand it, but as I mentioned earlier, other torrent clients (uTorrent for example) never ignore the priorities, it means that if there is file with hight priorities, the remaining files will be inactive until the first file will not be fully loaded.

No, you don't really understand. If you did you wouldn't insist on an illogical thing.

And NO, uTorrent and the rest of the other BitTorrent clients don't do what you said ("the remaining files will be inactive until the first file will be fully loaded") because it would be ineffective.

Here (under the Spoiler below) you can see a screenshot of a torrent containing a series of files, downloaded in uTorrent.

You can easily see that even though the overall torrent progress is only 0.3% and the progress for the "high-priority" file is only 14.8%, a LOT of additional pieces for other "normal-priority" files have been downloaded already. Just as it's been explained to you repeatedly.

post-53766-12763991748001.jpg

Yes, what you describe may happen ocasionally in any client that uses prioritization for file download but that is a "best-effort" result and not a "guaranteed" thing. It highly depends on dozens of factors and SHOULDN'T be enforced as mandatory. Ever.

You showered me technical information of the protocols, but I see that part of what I want is in BitComet, and another part in uTorrent.

Well, we may have showered you, as you say, hoping to make you understand a factual thing but alas, you seem to be wearing a "shower-proof" coat so I'll rest my case and not "bother" you anymore.

You just want something and don't really care about what anybody has to say about it or why that is not possible or feasible. So I guess that you should go ahead and create your own BitTorrent client that will work the way you want, not in the most efficient way. B)

Link to comment
Share on other sites

I realized that what I need is impossible in your program. Very sorry.

What you want is impossible in ANY bittorrent client.

I understand it, but as I mentioned earlier, other torrent clients (uTorrent for example) never ignore the priorities, it means that if there is file with hight priorities, the remaining files will be inactive until the first file will not be fully loaded

This is NOT true. uTorrent handles file priority the exact same way bitcomet does. It will "request" pieces of data that it needs to complete the high priority files first, and if there are no peers accepting those requests, it will request other pieces that are available.

No bittorrent client will ignore lower priority files until the high priority ones complete.

Also, I'll repeat that you really should let bitcomet get you ALL the data as fast and as efficiently as it can. Making changes to file priority will usually slow down your download and waste resources trying to find specific pieces instead of taking any piece that it needs as soon as its available.

Imagine your building a house, and truck after truck comes by to deliver materials. You let two trucks full of bricks pass you by because your holding a hammer and want a nail. Well, you finally get your nail, but later when you need a brick, you'll find that all the suppliers are finished delivering brick, and you let them pass because you were standing there doing nothing at all, except holding a hammer and waiting for a nail.

This anology expresses what your trying to force bitcomet to do. Let it handle the download and you'll get all your files in the shortest time possible.

Link to comment
Share on other sites

We are not only telling you it is impossible to do this in a bittorrent application, we are also explaining to you WHY it is impossible. It is the explanation part you should be paying more attention to.

You are telling us it is possible, but you are not telling us HOW it is possible.

Please make a post similar to my first reply to you, and explain how you would do it.

Link to comment
Share on other sites

We are not only telling you it is impossible to do this in a bittorrent application, we are also explaining to you WHY it is impossible. It is the explanation part you should be paying more attention to.

You are telling us it is possible, but you are not telling us HOW it is possible.

Please make a post similar to my first reply to you, and explain how you would do it.

I dont know how it is possible, I'm just a simply user, not developer, therefore, easier for me to check it out in practice.

Now compare my screenshot from BitTorrent and screenshot "greywizard" from uTorrent. The difference is obvious, 14.8% vs 1.1% is better than 17.8% vs 41.0%. Besides, I'm not looking for the most effective way to download a torrent, I'm just trying to download most files in order during some time.

By the way, thanks you for that paid so much attention to my post, to be honest I did not expect)

Edited by w3ee (see edit history)
Link to comment
Share on other sites

We try to help all members with using bitcomet, and we also don't mind doing some teaching. We have been very patient in trying to teach you how things work, but I still feel your missing the point.

The reason your seeing that a high priority file is downloading slower then a low prioity file is that the pieces it is made of are less available (at this time).

The pieces that make up the low priority file might have 100 or more peers that are offering them, but the high priority file may have only 2 peers offering them. If BitComet was designed to force the download order, it would never be able to speed up your file number one, the only thing it could do is slow down the other and sit and wait until a peer either offers the piece it needs, or a peer that has it becomes "unchoked", and accepts your request.

Although that would be possible to do, I seriously doubt even you would be happy if your download just completely stopped as it sat and waited indefinitely for these rare pieces to be offered.

If you feel that uTorrent, or any other bittorrent client can download the pieces you tell it to download without a peer offering or accepting your request, then your wrong.

Now, my staff has been very thorough in explaining this, so it's your turn to soak some of this in and work on your understanding of bittorrent protocol and how it works. This is NOT a bug with BitComet, and it's not a problem with it's features or how it obeys the settings. If you insist that it's a problem, then the problem is with the torrents peers, but nothing you (or bitcomet) does can change that.

Link to comment
Share on other sites

Well, if this is not a bug ... Let's take a test. I will leave only a first file in the torrent and see how fast it will be downloaded, then I will include other files and give highest priority to the second file. This file will be downloaded in 5-10 times slower. Is this normal? I still think it's a bug.

In fact, it is indeed possible, just not enough option for the priorities, which would be completely turned off the other files, while the highest is not downloaded.

Edited by w3ee (see edit history)
Link to comment
Share on other sites

Your test would be meaningless unless you controlled every computer (peer) you connect to. For a test to be valid, you need to have identical conditions to compare.

Here is a test that is just as logical, close your eyes and run across a highway to see if you get run over. At 3am one could probably do that hundreds of times with no problem, but try doing it in heavy traffic.

Your "peers" are your traffic, so you cannot do a test when the traffic isn't the same, and it's always changing.

Link to comment
Share on other sites

Your examples do not convince me completely. I see a bug, but you say that it is not, of course we can not reach an agreement.

If you want, I can create my own torrent, share it to my friends, and they will gives me a packages with a constant speed, while I will note the time. Such statistics will convince you?

Link to comment
Share on other sites

This operation has already been tested under laboratory conditions by our development team. You obviously don't understand how bittorrent works and we have spend as much time as we are willing to try to teach you.

Topic Closed

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...