Jump to content

[uTorrent 1.4] Internal (Hidden?) download cap based on upload?


Borg

Recommended Posts

redrum: plenty of people in Israel using µTorrent that have 96kbit upload and can upload at 6KB/s just fine.

Ofcourse they can download/upload I didn't oppose to that. But they cannot do anything else from what I've seen.Ask them if they can surf properly for example. Or check response time for a 512 kb packet ping (for any home-server you may have this is a problem. All I say is that if you want to make a fair system, use a ratio cap and not just minimum speed. Either put a 0.25 u/d ratio cap for example or don't have the cap at all. Then I can say the system is fair with all users. Because now only low bandwidth users are concerned with this cap and I just don't know how come noone understands what I am standing here .

Link to comment
Share on other sites

  • Replies 54
  • Created
  • Last Reply

I have a Chello Cable Internet with 256/64 speed, so i really know what is all about.

But i must say that more important thing to me, would be, if i could set upload slots limit not per every torrent but globally.

I mean i have a 3 torrents, but set upload slots limit to 2, and i have only two outgoing connections.

Now at 6kB/s upload limit, I can download at full speed, but only if i download one torrent (2 upload slots). When there are three active torrents, i have automatically 6 upload slots, and limiting them at 6kB/s is much harder for uTorrent than with 2 slots, so there are spikes on upload speed which slows my download speed to around 64kb/s! It's terrible.

If i remember most bittorrent clients use GLOBAL upload slots limit, and per torrent download limit (as it is now so it's OK).

Link to comment
Share on other sites

Actually, my first broadband connection was from a small cable company at 1.5mbps down and 128 kbps up. I used to run Kazaa Lite on it and upload at 108 kilobits/sec (had to make a registry hack to do that btw). I could still surf the web, although it was a little slow. If I lowered upload speed to 90 kilobits/sec, I couldn't even tell I was running Kazaa Lite. Web surfing was pretty fast. I played numerous games of Total Annihilation while Kazaa Lite was running, although then I often slowed my upload in Kazaa Lite to 64 kilobits/sec (8 KB/sec). My pingtimes were typically below 300 ms...with good connections below 200 ms. Note: Kazaa Lite's upload control was not the amount of BANDWIDTH it used for uploading but how fast you wished to upload. So even when I set it to 64 kilobits/sec...it was typically using a little more than 70 kilobits/sec real network traffic. 108 kilobits/sec pushed it right to the limits of my connection. Even more amazingly, BearShare could run as fast as 120 kilobits/sec on my connection and showed a stable transfer rate in AnalogX's NetStat Live. But even 2 kilobits/sec faster and it would all go bursty/ragged, and actual throughput would fall to 80% at most of 120 kilobits/sec.

About 6 months later, the service was upgraded to 256 kilobits/sec upload. It was fun compared to what I started with. I could upload at just over 2x as fast and still surf the web with little noticeable slowdowns.

However I changed over to ComCast because it was a lot cheaper (~$50/month instead of ~$80/month), and got a 1.5mbps down and 128 kbps up line. Same as before, it was equally limited as before. Kazaa Lite was still just as fast on it as well. Total Annihilation ran just as well. ...well, once I got past the 3 months of "teething troubles" the new service had. (I had the same initial problems with the other ISP as well.)

Most of the time I was downloading rare stuff on Kazaa Lite or BearShare. Were I download speed limited to 30 KB/sec or even 15 KB/sec...most of the time I wouldn't even notice, because I was downloading from single sources that seldom uploaded faster than 3 KB/sec each. But every so often I could get 50-120 KB/sec downloads. This was while I was still uploading faster than 12 KB/sec on a 128 kilobit/sec max upload line.

redrum,

You've got problems alright, no doubting that. But it is not typical of a good connection at that speed. Considering my personal experience I don't understand why a line supposedly capable of uploading at 128 kbps total traffic cannot upload files at 6 KB/sec.

Link to comment
Share on other sites

redrum,

You've got problems alright, no doubting that. But it is not typical of a good connection at that speed. Considering my personal experience I don't understand why a line supposedly capable of uploading at 128 kbps total traffic cannot upload files at 6 KB/sec.

Second that. I had 128kbps upload-> effectively 12kbs/s, uploaded at 9kbs/s and was surfing just fine, as long as I was just seeding, else I could surf but it was mildly slow. So I suggest people either get their facts straight, or change ISPs.

Link to comment
Share on other sites

"Thirded". :) I have 128 kb/s upload, so I'm well aware of its capabilities. Theoretically it's supposed to reach 16 kB/s, but that's impossible. I can sustain 12.3 kB/s upload on FTP, but with BitTorrent 10 kB/s is the maximum that allows me smooth surfing. I dunno what connection problems Redrum has, but he sure has major issues and the ISP needs to get its shit together and sort out what's wrong, 'cause 6 kB/s definitely ain't normal. :/

Link to comment
Share on other sites

It only applies when you set your upload cap to 1-5KiB/s, nothing more.

1-5kb/s GLOBAL or PER TORRENT?

I'm wondering if I'm seeding alot of torrents, and lets say one or more of them happens to be uploading at less than 6kb/s, is my download speed for these torrents limited? My global upload speed is ALWAYS at unlimited but my total upload right now is about 512kbit so it gets spread around pretty sparse at times. Please clarify.

Link to comment
Share on other sites

Now at 6kB/s upload limit, I can download at full speed, but only if i download one torrent (2 upload slots). When there are three active torrents, i have automatically 6 upload slots, and limiting them at 6kB/s is much harder for uTorrent than with 2 slots, so there are spikes on upload speed which slows my download speed to around 64kb/s!

This is a very real problem you've stumbled on -- µTorrent not being able to consistantly control the connection.

With 3 torrents and 2 upload slots each and 6 KB/sec global upload speed means each upload slot tries to average 1 KB/sec. With MTU sizes of 1300-1500 bytes being common, that means even a single data packet per second is LARGER than the upload speed per slot per second. So some seconds it sends out a data packet, others it doesn't -- end result, it's very bursty. Trying to download 3 torrents at once with only 6 KB/sec upload speed is probably pretty slow regardless of the download limiter in µTorrent. Doing only 1 or 2 at a time is probably a LOT faster unless these torrents have very many seeds and few peers.

µTorrent really should auto-reduce the upload slots per torrent to 1 when it can't maintain 1 KB/sec upload speed per upload slot. The upload slot limit value we're setting should be the maximum, conditions should allow µTorrent to throttle that to the minimum of 1. Starting more torrents than you have KB/sec upload probably should just result in torrents getting queued instead of started.

The global download limiter only kicks in as far as I know if your global upload limit is set to less than 6 KB/sec.

You could have global upload limit set to 6 KB/sec, run 4 torrents with each upload limited to 1 KB/sec each and 10 upload slots each, and the download limiter probably would not be on.

You could also have global upload limit set to 6 KB/sec but for whatever the reason (NetLimiter or no peers to upload to or no complete chunks to upload...a real problem on torrents with 4 MB chunks) be uploading at <5 KB/sec and your download speed would not be limited.

Link to comment
Share on other sites

OT: Switeck, if I understand this somewhat, does this mean uTorrent controls its upload speed by throttling the number of packets it sends out the pipe? If that's how uTorrent works, wouldn't it be best if I set a number of upload slots that allowed each upload slot an amount of bandwidth in steps of 1.5kB (1.5/3/4.5/6/7.5/etc) ?

I noticed uTorrent works best when I give 5-7kB/s per upload slot and set max connections per torrent to give the equivalent of at least 1kB per connection over time (65kB/s up = 65 conns for single torrent, etc).

ML

Link to comment
Share on other sites

Pure guess on my part:

Probably yes. µTorrent probably tells the Windows OS that it wishes to send out data. The Windows OS looks at MTU size to decide how much to stuff into each packet, then starts firing off packets as they fill. (This wait-till fill delay might cause extra latency and even reduce throughput.) Since these packets fall into regular intervals like you said, 1 KB/sec upload increments don't match up evenly with them. Each packet can probably contain only 1.4 KB max rather than 1.5 KB, due to header and BitTorrent overheads. I'm sure it's not as simple as that in µTorrent, though sending out exactly 1 KB per data packet if upload speed is less than 10 KB/sec would probably work reasonably well enough without too much overheads.

I'm not always that generous. I just try to get 3 KB/sec per upload slot -- though I seldom set upload slots per torrent higher than 4. Sometimes I have only 1 torrent seeding with just 2-4 upload slots (though more if <90% upload max), other times I might have 6 torrents with 1-2 upload slots each. But it's a pain to set all that manually -- µTorrent really needs an option to manage upload slots. Sort of a reverse "<90% open another upload slot" rule... If current max upload speed per upload slot is <1 KB/sec, limit upload slots per torrent to 1. Then the <90% rule can correct it if neccessary. :)

I do think the max number of connections should never exceed the lower of your upload OR download bandwidth in kilobits/sec. Usually upload bandwidth is lower. So if upload bandwidth max for a connection is 128 kilobits/sec, there is absolutely no reason to have more than 128 connections at once. From personal experience, even having more than about 60 connections with upload bandwidth of only 128 kilobits/sec is too many.

Since µTorrent's upload setting is a speed limit rather than a theoretical limit for the connection, that value alone cannot be used to limit total connections. But in the same way leeching is bad, setting upload speed to <6 KB/sec AND set max connections to (and actually get) 100+ is bad for everyone in those torrents.

Link to comment
Share on other sites

I was counting kBytes but I see what you mean. I set 65 conns for 65kBytes/s UL so that each conn gets an absolute minimum 1kBytes/s from me due to optimistic unchoke cycle with 10 upload slots. What this appears to do for me is reduce overall connect/disconnect activity while improving overall torrent performance.

In the case of 6kB/s UL limit because of the inherent limit of a particularly slow connection, I'd set 3 upload slots and 15-20 conns per torrent and run only one torrent at a time.

ML

Link to comment
Share on other sites

I don't think you could have made that any more vague or secretive. Your download is limited with every connection you make anywhere on the internet

I personally think that is obvious enough. Of course your download is limited with every connection - but it's not artificially limited by the software you're using, so the software doesn't say so.

Could it be added to the status bar that: "Download limited to x kB"? x = upload cap * 5.

Yes, a good idea, and maybe that would reduce the above problem a little.

Always thought that setting your ul speed below 6 on Torrent programs would affect your dl speeds as I heard somewhere that this was a specof the torrent protocol.

It may affect it in some cases, particularly where there are lots of other leechers if you upload more you will get more download due to the tit-for-tat algo in BT. Doesn't usually have much effect on private trackers though.

But i must say that more important thing to me, would be, if i could set upload slots limit not per every torrent but globally.

I don't have a copy of µT on me right now, but can't you just set this from Network Options?

As I said before: If you're going to cap your upload to less than 5 KiB/s, I'm sorry, but you don't deserve more than 30 KiB/s (6x5). It doesn't matter how crappy your connection is, you just don't deserve it as you're hurting the swarm. :)

Link to comment
Share on other sites

One could view BitTorrent as a "game" the same way baseball is a game. There are certain basic rules to be followed. Beyond that, there is something called "sportsmanship". Being a bad sport can get you thrown off a team where I come from.

A major concept in BitTorrent is tit-for-tat, something for something. That's not just an artificial/additional rule, that's a core part of this game! To get upset that you're not allowed to get back more than 6 times what you're offering in return when you're only willing to offer 5 KB/sec *OR LESS*...makes you a bad sport.

Link to comment
Share on other sites

As I said before: If you're going to cap your upload to less than 5 KiB/s, I'm sorry, but you don't deserve more than 30 KiB/s (6x5). It doesn't matter how crappy your connection is, you just don't deserve it as you're hurting the swarm. :)

sounds kinda like some fascist coding if i understood correctly how it works

one good example from private trackers (many torrents have low peer numbers)

1 seed with 100bmit up

1 leech with modem

1 leech with 100mbit down

so does the artificial limiting really mean the 100mbit user cannot download at full speed but only at slow-ass limited speed calculated from his upload to modem user?

that would be really ridiculous

Link to comment
Share on other sites

Could it be added to the status bar that: "Download limited to x kB"? x = upload cap * 5.

Yes' date=' a good idea, and maybe that would reduce the above problem a little.[/quote']

actually, i'd have just coded some logic onto the preferences form so that when the user sets upload speed in the range 1-5 then the download speed box becomes disabled, and automatically set to the calculated value. if they move out of the range, it re-enables and lets them choose. simple UI design :)

Link to comment
Share on other sites

sounds kinda like some fascist coding if i understood correctly how it works

one good example from private trackers (many torrents have low peer numbers)

1 seed with 100bmit up

1 leech with modem

1 leech with 100mbit down

so does the artificial limiting really mean the 100mbit user cannot download at full speed but only at slow-ass limited speed calculated from his upload to modem user?

that would be really ridiculous

That's not how I understand it. The download cap is based on the upload cap, not on the actual achieved upload speed. If the leecher on broadband sets µTorrent not to upload beyond modem speed on that torrent, period, even if other leechers show up, then the download limit kicks in. If the leecher on broadband has the upload speed cap set higher but just isn't getting an opportunity to reach it, there's no punishment.

Link to comment
Share on other sites

okey ... I heard enough here to understand the "communication breakdown" . No debate of whatsoever ...just different posts answering some parts of previous posts, ignoring others and a lot of blah blah. As I said before , let the road and police patrol limit the speed u want to run ..not the car itself. If u r a bad driver ...u drive bad in any car. Download cap is like communism ... a theoretical idea which is amazing but cannot survive in a world of capitalism ... Goodbye from me and happy trails ...

Link to comment
Share on other sites

No, there are minimum standards that must be enforced by the BitTorrent client...or "it ain't baseball it's playing". (it's cheating to do otherwise.)

TCP/ip congestion occurs if upload speeds per upload slot fall below 1 KB/sec. That can also occur if upload speed is set below about 6 KB/sec and/or multiple torrents are running at once with lots of connections per torrent.

"True" Communism would be everyone downloads at the average speed of the uploads regardless of how fast they are uploading. That would certainly help you if you're slower than average, but if you're faster...why bother? You might as well slow your upload to only 1-5 KB/sec -- you'd still get about the same amount back.

Socialism would be the fast uploaders have to "subsidize" the slow uploaders, even if it means taking a HUGE speed hit on their own download speeds to do so.

Capitalism is when everyone gets back roughly proportional to the amount they put in.

Getting back up to 6 times what you "put in" seems to fit closer to capitalism than socialism or communism IMO.

Link to comment
Share on other sites

Here's how this cap affects me.

I share a 2048/256 link (the max speed available over here) with 4 other persons. Downlink is not an issue and I can easily comandeer 1500kbps, but the uplink is usually saturated. I have a machine there that's on 24/7. During the day, when everyone is in, I have to cap below 6kb/s, usually at 4kb/s, otherwise I'm over my bandwidth allowance and I get the evil stares from across the room (there's another p2p app running also plus some other sutff). The reason I switched to uT was because I could use bandwidth scheduler and dynamically adjust U/L cap. I'd set it to 4kb/s during the day and 16kb/s during the night, and automatically seed to 150%. Everything was peachy and fine, until this version came along.

This D/L cap definitely ruins uT for me. I can't D/L during the day and seed during the night. As it is, I'm now running 1.3 and will have to stay at that, untill that happy day when our telecoms get off their asses and give us a decent link. Or until I find some other client with the same feature set, that allows me to do what I want with my bandwidth. Knowing the telcos around here, I'd bet on the latter.

Damn shame, uT is _exactly_ what I want in an client.

Developers, please, don't try to enforce behaviour on your users. Those who don't fit in your model will just go away and in the end you'll convert noone to the 'one true model of behaviour'. Learn from music/movie industries mistakes. All the DRM in all the world didn't manage to enforce the behaviour of their users. And you can't even sue people for not seeding. :-)

Link to comment
Share on other sites

that music/movie industry comparison is spot on man :)

Capitalism is when everyone gets back roughly proportional to the amount they put in.

its more like a lot of ordinary folks work their asses of (uploading/downloading everyone in tens kbytes) while there's a couple of people on top who get to reap all the benefits :) (fat download speed)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...