Jump to content

Optimising local distibution of large torrents 50GB


Recommended Posts


We use uTorrent to distribute our data to the student pc's and one uTorrent server as initial seeder with a 2GB interface. This works perfect for data the size of 3GB. This is tranmitted with max speed (10 MB/s).

Is we have a large torrent (50GB), it takes a very long time to reach max speed and for it to be an interessting method of distributing.

Is there a way to optimize the settings of uTorrent to max out speed when distributing a large torrent? Maby i need to change DHT, Local peer exchange/discovery settings for this?


Link to comment
Share on other sites

Get faster peers. :P

Only use initial seeding if you fear the peers aren't uploading at all.

In your case, probably more upload slots is better. Piece size isn't much of an issue so long as each upload slot is >10 KB/sec.

Disable Resolve IPs and probably UPnP and NAT-PMP as well...you're manually forwarded I hope.

Are the students firewalled to each other?

Link to comment
Share on other sites

Thx for you help!

Its a local LAN setup. Faster peers: I agree :), but as the clients all have a 100MB ethernet card i cant get this any faster. The server is connected using a 2GB interface.

This server is the first, only and initial seeder, but it is not mark as "Inittial-seeder" within uTorrent. Its yust the first, so initial seeder.

All student clients have the Windows XP Firewall disabled so that is no issue.

I wil disable Resolve IP's UPnp and NAT-PMP as those are not used and needed. All peers and server al local to each other in a LAN.

What about selecting ports? I dont think i need to set this as all is local to each other and no firewalls.

I need to increase upload slots? How much is a good setting you think?

Link to comment
Share on other sites

How many are wanting to get this torrent at once?

Would allowing upload slots for everyone slow the average upload speed below 50 KB/sec?

A local software firewall on any of the student computers may make them firewalled, which is why I asked...I don't know anything about your network topology.

Disable Resolve IPs as well. It's really pointless in a LAN setup.

When you said initial seeder, I thought you meant initial seeding/super-seeding setting found in uTorrent. Instead you meant just you're the first seeder. Can't do much else for that then...

I'm not familiar with 2 gigabyte/second ethernet lines. I haven't head of anything faster than 10 gigabit/second being made into a standard for wired ethernet. Or is this fiber? Or multiple lines?

Link to comment
Share on other sites

The number of clients that need the data is around 30. Sometimes its around 60. It depends.

I dont know about the upload slots. I have the server set to, i think, 250 upload slots.

All clients and the uTorrent server has the firewall disabled.

I will disable Resolve-IPs.

The 2GB line is a 2x 1GB LACP teamed ethernet copper line.

Link to comment
Share on other sites

When I see capital "GB" I think GigaBYTE...but apparently you meant two 1-gigabit/second ethernet copper lines.

Do note that uTorrent's upload slots are per torrent, so running multiple torrents at once with 30-60 peers each could push average upload speed per upload slot down below 100 KB/sec. But you'd need more than 30 torrents at once to do that were your server lines actually maxed out. :P

Are there any hard drive bottlenecks?

You'd need an extremely fast SATA-2 hard drive (probably with a large ram cache) to saturate a single gigabit/second ethernet line...and that's doing purely sequential reads.

Even a RAID array incurs rotational latency penalties that are compounded by BitTorrent's desperately random nature.

A ramdrive would work...but no doubt you don't have that much ram!

I would expect you to find a "peak point" where more or less upload slots cause reduced speeds -- less because the downloaders don't download fast enough, more because your computer's bottlenecks get compounded by everyone making requests at once.

Link to comment
Share on other sites

I must apologize. Of course i meant a 2Gb line.

A RAM drive is no option.

Our server contains 6x 1TB, Near Line SAS, 3.5-inch, 7,200 rpm disks in a RAID 5 array with Adaptive Read Ahead enabled.

I will look into the upload slots.

Link to comment
Share on other sites

* Are you using a hub or switch? If you're using a hub, you would saturate the network bandwidth quickly.

* You might also try using a program like TeraCopy as a baseline.

* Some interesting discussion here about your very situation: http://discuss.joelonsoftware.com/default.asp?joel.3.110169.43

* Also, can you compress the 50GB file before transmitting it to reduce the file size?

* UFTP? http://www.tcnj.edu/~bush/uftp.html

* Use a patch system. Assuming your 50GB content only changes slightly with each release, you could force recheck and sync only pieces that fail the hash check. The force recheck idea is good since a computer could miss an update but still get the latest.

Link to comment
Share on other sites

Advanced setting diskio.coalesce_write_size would help were you writing to disk, but with seeding...that's probably useless. :(

Is the OS for the server on the same RAID 5 array?

Test both with and without Windows read caching enabled in uTorrent's Advanced, Disk Cache settings. And a larger cache size might help if you have some ram to spare. uTorrent's default disk cache size is only 32 MB, so try that at 256-1800 MB of ram (depending on how much can be spared).

Link to comment
Share on other sites

The data that is spread, contains several VMware virtual machines that are created newly every couple of weeks and then need to be distibuted. These machine are used by the students to create there exams and are prepared by a teacher.

The distributed data (Torrent) is a directory containing several large (6 GByte), medium (1GByte) and small (> 1MByte) files.

The network is fully Cisco 4500 switched.

The server OS is on a seperate RAID 1 and has 8GByte RAM installed, QUAD Xeon E5410 2.33GHz.

Basic Cache setting is changed to 1024MB all other settings are default.

These are the settings for the server. What changes should i make to optimise the clients? I already changed the cache size of the clients to 1024MB (2GB installed).

Maby the diskio.coalesce_write_size setting for the client (as he is writing the data to disk) should be adapted?

Link to comment
Share on other sites

On the client side, try setting diskio.coalesce_write_size to 4 MB...this MAY cause problems so do test it!

Test both with and without Windows read caching enabled in uTorrent's Advanced, Disk Cache settings. It's possible for windows caching to be so crappy that it causes Disk Overload errors in uTorrent.

Link to comment
Share on other sites


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

  • Create New...