Jump to content

Automatic bandwidth restriction


NiteShdw

Recommended Posts

  • 1 month later...
  • Replies 78
  • Created
  • Last Reply

Ok, so we all agree it is a usefull thing to have. Frankly by looking at the board with the feature requests I can't see another which is so sorely needed as this one. The question is to who do we pray to, to have it. Maybe the developers could make a list with features in order to be implemented into uTorrent. Looking at the azureus website this plug-in is the third one down in the list for automation (should be first if you ask me). Even the source codes are available. So please, please, please Mr Wizard- can we have it? I swear on my bleeding sword not to use azureus again!

Link to comment
Share on other sites

I'm quite new to torrents and even newer to µTorrent, just days.

First, I have 2 or 3 systems sharing a cable connection.

I have watched the bandwidth and experimented with the effects of the upload speed. On the system running µTorrent, I also run winmx since it appears to make sharing thousands of files easier.

I found that with lots of torrents active, both seeding and downloading, if I set the UL limit to 30kB/s, my DL BW is 3-4x UL. When I set UL to unlimited, the DL dropped and roughly matched the UL speed. I believe due to UL quota saturation, strangling packets needed for DLing.

With multiple systems sharing a common connection, and UL bw loads constantly varying on each, I suppose setting a fixed limit on each process of system would be less than optimal, as it may leave some UL bandwidth sitting idle if a particular box is not using its preset quota at the time.

Running µTorrent with unlimited UL will consume all the UL quota, but at the cost of crippling DL bw.

Given that.. what about adding an option that would learn the long term UL average or peak BW capable, and then compare present DL:UL ratio. then allow setting behavior depending on that ratio, such as dynamically reducing the UL bw if the DL:UL bw ratio goes below x:1.

This type of dynamic UL throttle could be used for fixed settings too, where even 30kB/s UL could be causing saturation due to the usage by other programs or computers, causing available UL bw to be variable and limited.

Perhaps it could trigger a fallback to 80% or so of the preset UL limit or the monitored average if unlimited. or less if needed, based on the apparent effect on DL streams.

additionally, for systems with exclusive connections [not shared with other computers], perhaps adding the ability to determine total system UL usage [for running other p2p, FTP and browsing too] would be helpful, so µTorrent could adjust up or down depending on the needs of other programs. It would be nice to have an auto-fallback when the browser is in use as such interactive programs should get precedence over those like µTorrent that can run unattended in the background.

The dream: Global, dynamic UL bw management, with assigned priorities by process. Maybe that would be a project in itself. Give whatever process the user is actually interacting with, like a browser or game?, higher priority, but allow µTorrent etc to take up all available slack, so long as it does not impair itself or other programs by saturating the UL quota to the point of crippling the DL bw.

Link to comment
Share on other sites

@bently:

I can just agree with Firon: get cFosSpeed. It does exactly that you dream of :)

This software is awesome. I am testing the demo now for 5 days and i am stunned how good it works. I just leave my upload settings at max bandwith and let cFosSpeed do the work for me. It automatically priorises the traffic for you.

I have two PCs in at home in a homenetwork (connected with a switch or router) bound to one internet connection. It even works for the non-bittorrent pc, where linux is running and so cFosSpeed is not installed.

So I can run µTorrent on my windows system uploading with max speed, and my brother and I can use the internet as usual, because of cFosSpeed. Even videostreams are possible, of course in cost of torrent uploadspeed.

When I disable that nice program the internet is running like sirup *myami*.

So give it a try and download the demo:

http://www.cfos.de/cfosspeed-v212.exe

I am more than statisfied with this program.

Hopefully your dream comes through :)

Link to comment
Share on other sites

  • 2 months later...

I've tried cfosspeed, but it gives my computer an instant blue screen unfortunately. :( And is the fact that there's an external program for €9 that adjusts the upload speed for uTorrent, a good enough reason for not doing it in uTorrent directly?

Link to comment
Share on other sites

Was just about to say, if you want QoS, either get a router with it, or get cFosSpeed which does proper traffic shaping, not just some arbitrary and unscientific adjustment based on ping times.

I run cFosSpeed v3.01 and have uTorrent running with no limits on upload or download speed. I have an FTP and webserver running on the same machine, both of which are nice and responsive even when uTorrent is downloading and uploading at top speed. I also remote into the box regularly and don't have to wait 10 minutes to pause all my torrents; it's just responsive and works well despite my uTorrent maxxing out the connection.

Can't be bad at all for €9, and the next major release is promising traffic-shaping across the LAN too. :D

Merged triple post:

And is the fact that there's an external program for €9 that adjusts the upload speed for uTorrent, a good enough reason for not doing it in uTorrent directly?

LOL. If you're too tight to pay €9, then just manually set your upload speeds as per the speed guide.

And why should uTorrent attempt to include a QoS traffic-scheduler when that's a major project in itself and wholly outside the remit of a small bit-torrent client?! I mean, hey, why not include a fully-featured word-processor in it, and perhaps a spreadsheet too? :rolleyes:

The dream: Global, dynamic UL bw management, with assigned priorities by process. Maybe that would be a project in itself. Give whatever process the user is actually interacting with, like a browser or game?, higher priority, but allow µTorrent etc to take up all available slack, so long as it does not impair itself or other programs by saturating the UL quota to the point of crippling the DL bw.

:lol: So you basically mean you want a QoS router? Hardly a 'dream'. ;)

Link to comment
Share on other sites

///...

And why should uTorrent attempt to include a QoS traffic-scheduler when that's a major project in itself and wholly outside the remit of a small bit-torrent client?! I mean, hey, why not include a fully-featured word-processor in it, and perhaps a spreadsheet too? :rolleyes:

///...

I wouldn't say it's a major project, nor that it's outside the scope of a small client. It would take some time to do it for sure, but when it's finished it would be a fairly small piece of code.

And I think it should be included because in practise it would eliminate problems with incorrect upload speed settings, improve the bandwith usage and data distribution for the whole bittorrent community, and make uTorrent stand out as an even more user-friendly application which will make users more satisfied with it. From my experience with the azureus plugin, it automatically puts the upload speed just at the recommended value or even higher while keeping download speed, keeps the computer/network responsive and allows for burst of downloads without me/the user noticing anything peculiar or having to touch any settings. From my view that's all good.

Just after writing my previous post I checked out cfosspeed again, and tried the 3.01 beta (all the previous versions I've tried were 2.*), and it doesn't produce blue-screens for me anymore! It seems to work really, really good, no doubt about that. :)

Still I think that program is overkill for the large majority of all bittorrent users, and they would have the same functionality from an inbuilt upload throttler, a la eMule and the Azureus auto speed plugin. And surely nearly every single bittorrent user would benefit from it, allthough most would never even notice it. They'd just enjoy a trouble-free bittorrent experience.

Link to comment
Share on other sites

hmmm, so I wanted to try cfosspeed myself, then i got the trial and surprise surprise, my router hangs using it for too long :P

good thing they provide a trial mode, i would have wasted my money, thou i know the problem is the router itself (i can't set even send attachments on the e-mail without an upload cap or the router hangs), still seems CfosSpeed is not for everyone :P

Link to comment
Share on other sites

I wouldn't say it's a major project, nor that it's outside the scope of a small client. It would take some time to do it for sure, but when it's finished it would be a fairly small piece of code.

I presume you've developed a fair bit of network traffic monitoring software then? Or are you just guessing?

Given that to manage traffic properly uTorrent would have to scan for non-BT traffic and prioritise accordingly, and it would also need to identify the (correct) NIC to monitor traffic on, which would mean config dialogs and complicated requirements for users to set it up, I'd say that even if the compiled binary for the resulting code was small, the development would be non-trivial. And besides, it's totally outside the remit of a bit-torrent client.

There are plenty of traffic-shaping solutions out there (be they hardware or software based) so why try and make uTorrent into something it's not? It's akin to the suggestion to add video viewers etc to uTorrent - they're unnecessary, would bloat and distract the app from it's core raison d'etre, and would result in a diluted product which is a jack of all trades, but a master of none.

Link to comment
Share on other sites

Well, I took a look at the source for both eMule and the Az plugin. The plugin is about 600 lines of code in total with indentation, excluding use of standard classes. eMule is doing many more things and is more advanced than the Az plugin, but I don't know any C, so I really don't know why and how they're doing things. Still the actual eMule upload throttler code consists of around 600 lines too. But I know a little java, and what the Azureus plugin does is very straightforward and simple really.

As for the "And besides, "-part, why on earth are you're saying that? Please, qoute my previous post, and and develop your thoughts to why the things I see as positive with an adaptive upload speed are "totally outside the remit of a bit-torrent client".

Link to comment
Share on other sites

cFosSpeed 3.01 (latest version) works in-fucking-credably. I can d/l from uTorrent and play WoW with NO lag at the same time. I'm not saying that uTorrent goes full speed, but it goes as fast as I will let it without hogging ping times from WoW. FTW!

Get it. It's great.

I also find that cFosSpeed works VERY well in conjunction with Crack-Lock... Just my 2pence

:)

Link to comment
Share on other sites

Basically, naugas, in my experience, Autospeed and the like does not work.

Even in theory, AutoSpeed like programs are awful second bests - even assuming the PING method works, which is very dependent on local conditions and other factors, the response time of the program sucks compared to real traffic shaping - which is second by second. When you use the Internet, you really only block the channel for relatively brief periods of time. CfossSpeed can handle this second-to-second movement, but not AutoSpeed. By the time AutoSpeed cranks the speed down far enough, it'd have to start cranking it back up because you are done.

Family sharing same chunk of Bandwidth

With normal Internet connections, again, by the time AutoSpeed ratchets the speed enough the other guy's probably finished. And I simply can't see how having it on your computer will stop them from crowding you out.

For BT connections, what will happen (at least in theory) is that they'd crowd you out whatever the state was before. Imagine - Brother sets his programs to hog up all the available bandwidth. You use AutoSpeed. He starts uploading. Your AutoSpeed senses the drag and reluctantly slows. That turns into free bandwidth - which your Brother's client immediately fills. AutoSpeed senses drag, slows more, Brother takes more... repeat.

And if you guys are all so nice and cooperative, it is probably just as fast for him to say "Hey, I needa use BT, let's work something out" and implement it yourselves instantaneously. Better yet, let's just use ONE computer for BT within a particular family - that has to simplify the traffic management problem immensely.

Size

Besides, 600 lines is a LOT for uTorrent. Think - 600 lines. Say 20 characters each = 12kB. 12kB in a 160-170K program. For that I can get something useful like PeX and Protocol Encryption or even Right-Click-Ban (yes, I know why the last is not implemented but I still want it) :D

Link to comment
Share on other sites

Besides, 600 lines is a LOT for uTorrent. Think - 600 lines. Say 20 characters each = 12kB. 12kB in a 160-170K program. For that I can get something useful like PeX and Protocol Encryption or even Right-Click-Ban (yes, I know why the last is not implemented but I still want it)

Erm, somebody explain to this guy that 600 lines of code probably compiles down to < 2k of binary. ;)

Link to comment
Share on other sites

I think the point is not the size of the binaries, but the time taken to develop it. Getting a traffic monitoring feature working reliably for every scenario would be very complicated and time-consuming, and I for one would rather see Ludde concentrating on other key features which are far more important (e.g., fixing super-seeding) than working night and day for months on a feature which most people wouldn't need and would be far better served by a readily-available application which costs less than a fiver. :)

Link to comment
Share on other sites

  • 2 months later...

Ok, auto upload speed adjusting is now default in the 2.5.0.0 azureus release. It works that good. http://azureus.sourceforge.net/whatsnew.php

And answering on some comments here, it wouldn't take much time to write the code for this. And it would work much better for the majority of people, both giving higher download speeds for the single user as more seeding for the whole network. It would also not interfere with anyone wanting to configure things manually. and it wouldn't prevent anyone using additional traffic shaping programs.

And there haven't been one single valid argument against an automatic upload speed adjustment in this thread. I think I have to copy what I said in post #34, since there are prime examples of people only reading the last posts in this thread:

"And I think it should be included because in practise it would eliminate problems with incorrect upload speed settings, improve the bandwith usage and data distribution for the whole bittorrent community, and make uTorrent stand out as an even more user-friendly application which will make users more satisfied with it. From my experience with the azureus plugin, it automatically puts the upload speed just at the recommended value or even higher while keeping download speed, keeps the computer/network responsive and allows for burst of downloads without me/the user noticing anything peculiar or having to touch any settings. From my view that's all good.

Just after writing my previous post I checked out cfosspeed again, and tried the 3.01 beta (all the previous versions I've tried were 2.*), and it doesn't produce blue-screens for me anymore! It seems to work really, really good, no doubt about that. smile

Still I think that program is overkill for the large majority of all bittorrent users, and they would have the same functionality from an inbuilt upload throttler, a la eMule and the Azureus auto speed plugin. And surely nearly every single bittorrent user would benefit from it, allthough most would never even notice it. They'd just enjoy a trouble-free bittorrent experience."

Link to comment
Share on other sites

You can re-post your posts again and again, but it won't get around the fact that this (relative to other features on Ludde's list) must remain low-priority.

It could be argued that uTorrent could also include a screen-saver, and that it would only take a short time to code. However, that doesn't make a screen-saver a valid feature to add to uTorrent.

Traffic-shapping across the whole network is not something that uTorrent should attempt, and there are a myriad of applications which can do this properly, and much better than uTorrent could ever hope to do itself without adding in proxy network adapter (as Cfosspeed does).

I'd also argue with 2 other points you make: firstly, you seem to think that just because Az implements a feature, all other BT clients must jump on the bandwagon. I disagree. And secondly, you claim that "it wouldn't take much time to write this", yet you've already admitted earlier in the thread that you are not a developer. That's akin to me saying "hey, I'm sure it wouldn't take long to perform a brain transplant".

And finally, I think the Az upload speed system is flawed anyway. 'Gauging the latency of your connection by pinging members of the distributed database' is not a sure-fire way of measuring network load. Just because pings are slow doesn't necessarily mean my network is busy, and just because ping response is quick does not guarantee that my network is idle. The only way to do it properly is via packet analysis and priority (i.e., proper packet-shaping) which is already available for all protocols (not just bittorrent) through a hardware QoS router or software such as cfos...

Link to comment
Share on other sites

My point is that an automatic upload speed setting would be a major improvement for utorrent. The standpoint that a third party application like cfosspeed should be preferred is not a very good idea, simply because it's not necessary for most people. It's better to have an inbuilt small simple solution that works right away for nearly everybody. The revolutionary thing about bittorrent is bandwidth distribution. Even small improvements for each user adds up to large amounts of available bandwidth. People can go on and on about cfosspeed and how great it is (and it works well, I'm using it myself), but it will never be widely used. An inbuilt adjustment would.

And if the Azureus team implements something, it's not a reason to follow along, no. But in this case it proofs that this technology works. It has been tried and tested. And although I'm not a developer, I do understand what the Az plugin is doing by looking at the code, and it's small and simple. (It's _that_ small and simple!)

I can understand that someone want's other things to be prioritized, but surely that's not a reason to argue against automatic upload speed? It sums up to 1: it will ease configuration. 2: it will improve bittorrent bandwith, both up and down 3: it will reduce latency. None of these things are bad, or? To put it in an other way, who would loose on automatic speed adjustements being available?

I'm not saying that it would work perfectly in every situation, but it would be an improvement for the bulk of people using utorrent.

Link to comment
Share on other sites

it's just not somethen required for utorrent to work, its just some extra, yeah maybe it will be implemented in the future, just shouldnt be a priority.

BTW, azureus has a nice graphic swarm display thing, since its done in azureus and it's easy to code let's put it on utorrent :)

Link to comment
Share on other sites

Archived

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


×
×
  • Create New...