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

Very odd BitComet behavoir


Recommended Posts

I think this is a question for a pro. Someone really smart on this stuff. Maybe a developer or something.

I'm in Afghanistan, for one. I'm on a wireless net that is probably a satellite net connection. Plus there are all kinds of weird communications equipment all around which I'm sure interfere with the signal quite often, but that isn't really what this is about. My point is simply that my internet is unreliable when it comes to speed. There is no set speed. There are many people that use this, and speed varies throughout the day.

Anyways, to my point.

I've been downloading things with BitComet, and I've noticed some odd behavior of the program. I'm not sure if there is a way to fix this. Pretty much, sometimes when I leave my torrents alone and go away from my computer, they stop downloading by themselves. Sort of. It isn't very consistent, but for the most part I have 20-30 torrents open and downloading, and they all end up less than 1 kB/s over time.

Here is the tricky part. I have unlimited number of downloads at a time, and unlimited speed upload/download (I didn't tune this to my net connection because of the variance in speed throughout the day). So... I see all my torrents are less than 1 kB/s, and I right click one of them and select "Properties". I go to the Advanced tab, and click "Share this task in torrent share" and "Enable task specific settings" and keep everything at "Unlimited". Then I click "OK". The torrent that I did this to (within a minute or so) will often skyrocket in speed, and get up to 100-200 kB/s, and gradually work it's way back down to zero over time. WTF? So, I see it at zero a while later. I open Properties, and uncheck those boxes, and hit OK. Then I reopen it, and recheck them. Hit OK. BOOM. Speed again. WTF?

So, in the middle of this email, I just repeated this again. I have one torrent I've been 'speed boosting' for a couple days now and I've downloaded more than I thought was possible on this net connection. It was at 0 kB/s a few seconds ago, I did the steps above, now it's at 53 kB/s and climbing.

I also feel like my messing with the torrent, "giving it attention" so to speak, has an effect. If I see a torrent slowing down and I start randomly clicking peers in my peers tab, it speeds up. It's kinda like I'm causing it to search harder for more peers or something by cracking the whip of my mouse pointer.

This is totally confusing me, I have no idea why my program is behaving like this. I'd like to think that I just have some messed up settings, and I can fix them and get download speeds that are consistently "high" for my net connection, instead of speeds returning back down to zero over time.

Any thoughts?

Link to comment
Share on other sites

When using BitTorrent you must give in order to get and all transfers are mutual decisions between peers just like you, done by your client (BitComet in this case) automatically. That means everybody looks for the best peers it can find, so the best peers stay connected with the best and the bad ones will have to settle for less. What would make you a desirable peer? Have a high upload speed per task (so running 20 tasks at a time won't get you anywhere, actually if you run only one and put the rest on queue they'll all finish faster) , also make sure every seeding task has at least 10kb/s each or you're not really seeding as the ones you upload to will mostly drop you before you send out any single piece to them. And make sure your client has enough upload bandwidth left to respond quickly to any request and have a good communications flow, so you really need to test your upload speed (without any internet based app running, and at various times of days as you say it's not stable, to get a medium value), any testing site will do , but choose a server closer to you. For example speedtest.net, also test the quality of your connection at pingtest.net (you need java installed) Once you have a medium value of your real upload speed, go to options in BitComet, choose "Connection" and set the "Global Max Upload Rate" to 80% of that.

Edit: If you can anticipate the variations of your upload speed (i. e. it's slower at noon but faster at night, etc) you can use the scheduler, a sub menu of the Advanced panel in Options.

Link to comment
Share on other sites

Well, one of your main issues is that you don't know what type of connection you have nor at least it's advertised parameters. If you made a contract yourself with the ISP you should look upon it to see what kind of service you've purchased. If not, find the one who did. Be it satellite, 3G wireless or WiMax, you should still have some advertised parameters you could use as a starting point (if you say your measured results vary so heavily).

Even with the results of speed tests varying so much you should perform several tests on different times of the day, in several successive days, write down the results and at the end calculate an mathematical arithmetical average of the download and upload values.

Or just take into account the smallest values and make an average out of them, so that you'll always be within the "live" bounds of your connection. Multiply that with 0.8 and input that value in the Global Max Upload Rate box, on the Connection Options page.

Any of the methods above would give you a better starting basis for properly configuring your connection settings in BitComet, than what you have now.

If you don't "reserve" some of the bandwidth (by limiting the upload to 80% of your max upload speed) then BitComet will hog all the bandwidth available for the torrents it runs and will shoot itself in the leg (it won't have any available bandwidth for the overhead protocol traffic - TCP, UDP, BT, HTTP - therefore it won't be able to communicate with the other peers most of the time, hence the slow speeds).

Another question which comes up is: Do you have a green status light? If you don't, then you shouldn't expect any high speeds, because it's not going to happen anytime soon (except if you find a torrent with very many seeds and almost no peers).

As for the number of simultaneously running torrents on your client, that's insanely high!

All your running (both downloading and seeding) torrents split the upload bandwidth among them.

Unless you have a very high speed upload (10-100MB/s upload) connection, you're literally sabotaging your own client. Every running torrent needs, at the very least an 8kB/s uploading bandwidth, in order to get any stable peers at all. But usually, if you want high speeds for that particular torrent, you should follow this rule: "the higher the upload speed for a torrent, the higher the possible (but not granted) download speeds".

BitTorrent transfers work by having every peer dynamically negotiating connections with other peers. Every peers evaluates, in every single moment, the speed to which it uploads to everybody else compared to the speed at which everybody else uploads to it.

Whenever someone seems to only download and not upload anything, or even if the speed at which you download is not matching the speed at which you upload to them, it will drop the connection with you and seek a better peer. This may happen even several times a second!

Therefore, if you've got nothing to offer (in terms of bandwidth for that torrent), pretty soon you'll end up having been connected to every peer in that swarm and being chocked by all of them, hence your speeds going gradually down to 0kB/s.

The fact that a torrent for which you change a setting on the properties page, shows a boost in speed could be explained maybe, through the fact that anytime when you open the properties page and hit the OK button, the tracker tab will be refreshed (your client will "update" the trackers, hammering them before the scheduled interval). But I'm not very sure what impact will this bear, since your client doesn't drop the connections to its peers, when this happens.

However, (I'm just guessing here, since I don't know how every other client out there works) when you reconnect to the tracker(s) your IP could be fed to the other peers as a newly connected peer and if the other peers' clients don't verify the list of newly reported peers against their own list of peers, then for a short time you might get some of them to unchoke you and accept a connection with you, until they figure out again that you're no good and choke you back.

You didn't say your client version or OS so there is not much to think about.

You should start with capping your connection to 80% of your average lowest upload speeds (input that value in BitComet).

Then start by allowing only one torrent to run (one which has enough peers - a.k.a. is not nearly dead). Leave it running for a while and watch the upload speeds. If it's well beyond 10KB/s you may start a second one. Do the same thing again, and if the upload speeds for both don't go below at least 13-20 kB/s you may start another one.

This way you will find the maximum number of torrents your connection can support at a time.

Except that if it oscillates so much as you say, you may want to stay below that threshold, just to be on the safe side when your speed decides to take a dive.

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...