Skip to content

Downloading

parg edited this page Oct 16, 2023 · 10 revisions

Why is my download slow?

This is a common question and there is no simple answer as many things can influence your upload and download rates.

Insufficient seeds

The first thing to do is evaluate the health of the swarm. A healthy swarm will have a number of seeds that have the complete download and are available to send you data. Depending on your download it will probably have one or more trackers, these can be seed in the "sources" sub-tab for the download. It may also use decentralised trackers (the built in BiglyBT tracker, the "mainline DHT" tracker if you have this installed and the I2P tracker if the download uses this network). Check the "seeds" column to see how many seeds each source is reporting. Note that the values reported aren't guaranteed to be accurate but it is a good starting point.

If the swarm has zero or a low number of seeds then there are few potential sources of the data you want to download.

You can see the actual seeds you are connected to by checking the "peers" sub-tab.

If the "peers" sub-tab shows attempted to connections (indicated by a state of "connecting") that disappear after a while then this generally means that the peers are no longer available - this is quite common.

Poor seed-to-peer ratio

Even when there are seeds available if there are a large number of peers (also known as "leechers") attempting to also download then your download may be slow. This is because the seeds' upload bandwidth is spread across all the downloading peers. For example if there are 10 seeds and 100 peers then each seed's upload is shared across 10 peers.

Often when a popular download becomes available for the first time this will be the case.

Upload slot allocation

Even when you are connected to a seed it won't necessarily upload to you. This is because bittorrent uses the concept of "upload slots". A given seed will only upload to a relatively small number of peers at a time to avoid spreading its upload bandwith too thinly - it uses a limited number of upload slots to achieve this. Periodically it will re-allocate the slots to different peers. When you have been allocated a slot you have been "unchoked" by the peer. When you don't have a slot you are "choked". There is a column in the "peers" sub-tab that shows your "choked" status (note this is different from the "choking" column. The choking column shows other side of things - whether or not you have allocated a slot to the peer in order to upload to it). Once you are unchoked you can make requests for data to the peer - see the "out reqs" column.

If the download's swarm has a lot of other peers then don't expect a seed to upload to you at a high speed, it may well be uploading to other peers and have limited bandswidth available for you. Also you don't know what other downloads a seed is participating in, it may be uploading to many other swarms.

Saving to a slow device

Users often save their download data to an external drive. If this is a USB device then this can be quite slow and impact the overall download speed. Also, due to buffering, you can end up with an unstable download rate that fluctuates between high and low values. One fix for this is to download to a local drive and then move the download to the external one when complete - see Options->Files->Completion Moving for an option to do this.

You have a speed limit set

It is possible that you have set a download speed limit - check the current ones in force by going to Tools->Speed Limits->View Current...

Bound to incorrect network interface

Check that you aren't bound to the wrong/inactive network interface under "Options->Connection->Advanced Network Settings [Socket Options]: Bind to local IP address or interface" (note you have to set your "Mode" to Advanced to see these settings). If there's a value set there and you don't remember entering it then clear it. One way this can get set for you is if BiglyBT thinks you are running a VPN - if this is incorrect, or perhaps your VPN network interface has changed, this can result in an invalid binding being set.

Fake/poisoned swarm

Sometimes there can be fake peers in a swarm that are there to attempt to interfere with downloading/seeding. This can be evident if you have lots of peer connections but none of them are unchoking you or the ones that are unchoking you are not answering your requests for data. You can try to "kick-and-ban" peers that appear to be fake - right-click on them in the "peer" sub-tab for options.

Saturated upload

Although this generally doesn't occur with a consistently slow download it can impact your overall download speed. Your upload is saturated when you are uploading at, or close to, your maximum upload bandwidth. When this happens it can interfere with your downloading as the necessary control messages to the remote peer are delayed. In general it is recommended that you cap your maximum upload speed to 80% of the maximum.

Addendum

If you are a user that limits your upload bandwidth and stops seeding a download as soon as it completes then don't come moaning about slow download speeds, you are part of the problem.