Home

A free C++ BitTorrent/HTTP/FTP Download Client

bitcomet_client_issues_and_possible_solutions
 

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
bitcomet_client_issues_and_possible_solutions [2011/02/22 00:18] – [Why is the speed displayed in the Task List for my task(s), different from the ones BitComet shows in other areas?] greywizardbitcomet_client_issues_and_possible_solutions [2015/08/15 04:21] (current) – external edit 127.0.0.1
Line 179: Line 179:
 You can and must impose an upper limit on the global upload bandwidth that BitComet is allowed to use. The limit must be large enough to permit good upload speed for each task you are running, yet small enough that other applications have enough bandwidth to get their jobs done. You can and must impose an upper limit on the global upload bandwidth that BitComet is allowed to use. The limit must be large enough to permit good upload speed for each task you are running, yet small enough that other applications have enough bandwidth to get their jobs done.
  
-Practically, this means you must find out what your actual upstream bandwidth is, and then set your Global Maximum Upload Bandwidth in BC to about 80% of that maximum. (Don't rely on what your internet service provider told you your speed was: test it, with nothing else using any part of it, at [[http://www.speedtest.net/|speedtest.net]] or a service fairly nearby, and do it at different times of day and night on different days, to get a reliable average value.)+Practically, this means you must find out what your actual upstream bandwidth is, and then set your Global Maximum Upload Bandwidth in BC to about 80% of that maximum. (Don't rely on what your internet service provider told you your speed was: test it, with nothing else using any part of it, at [[http://www.speedtest.net/|speedtest.net]] or a service fairly nearby, and do it at different times of day and night on different days, to get a reliable average value.) You will need to make sure you transform K**b** in K**B** (a division by 8 will pretty much cover it), then multiply it with 0.8 and input the result on the [[bitcomet_options#connection|BitComet Options --> Connection]] page, in the "//Global Max Upload Rate//" box.
  
 When you aren't using any other applications, you still **can't** leave your GMUB unlimited, because BitComet will even interfere with itself, dropping packets in the same way. You can increase the rate, but remember to decrease it again when you want to do other things.\\ <html><br /></html>    When you aren't using any other applications, you still **can't** leave your GMUB unlimited, because BitComet will even interfere with itself, dropping packets in the same way. You can increase the rate, but remember to decrease it again when you want to do other things.\\ <html><br /></html>   
Line 192: Line 192:
  
 Setting your global maximum upload bandwidth very low means you effectively won't be downloading anything before next Kwanza. Set your GMUB back to the 80% that we recommend, then shut down and restart BitComet, and your speed will come back to normal. //("Now calmly think about supposed leechers for a few moments, and you will be enlightened, Chinchbug".)//  Setting your global maximum upload bandwidth very low means you effectively won't be downloading anything before next Kwanza. Set your GMUB back to the 80% that we recommend, then shut down and restart BitComet, and your speed will come back to normal. //("Now calmly think about supposed leechers for a few moments, and you will be enlightened, Chinchbug".)// 
 +
 +----
 +
 +==== When BitComet is running my router/modem reboots itself or freezes. Why is this happening and what can I do to fix this? ====
 +
 +**A little theory first.**
 +
 +All BitTorrent clients, by the design of the BitTorrent protocol, work by opening simultaneous connections to a very high number of peers. BitComet is no exception from this axiom.
 +
 +This very high number of simultaneous connections to different IP addresses, will have to be handled by your system and your networking equipment (modem, router). That is to say, BitTorrent clients place a higher stress on certain components (software and hardware) both in your system and in the devices connecting you to the Internet.\\ 
 +While this is no bad thing in itself, if often may bring to surface hardware or software limitations, flaws or conflicts which otherwise don't manifest themselves and rest unbeknown to the user.
 + 
 +This is one such example.\\ 
 +The main issue here, is related to a technology employed by your router/modem, called NAT (Network Address Translation).
 +In short, what this does for you is allowing you to use multiple devices in your personal home LAN (Local Area Network), while having/paying only for one single public IP address to connect to the global network known as the Internet.\\ 
 +NAT does this by translating the private IP addresses used by the devices in your LAN (PCs, servers, etc.) to the public IP address (which your ISP assigns to you), for all the outgoing traffic of your network, and vice-verse, translating the public IP to the private IP addresses each device on your LAN uses, for all incoming traffic going to any of your local devices.
 +
 +It doesn't matter if you have only one PC connected to the router, it doesn't care about that. As long as NAT is enabled it will do it's job and translate addresses.
 +
 +The NAT process does that by using a //NAT session table// which keeps tabs of which port is mapped to which local IP address, so that it may forward incoming reply traffic to the proper local device on the LAN.
 +
 +As you may have guessed, this NAT table is hosted into the router's memory and as we all know, memory is a limited and expensive resource. Depending on the brand and the model of your router/modem, your equipment will be able to hold various maximum numbers of simultaneous entries depending on the amount of memory allotted to it.
 +
 +While better equipments have no problem in handling the great number of connections initiated by a BitTorrent client, others do. This isn't to say that the respective device is a bad one per se (it will probably work OK in most other situations), it's just not fit for handling BitTorrent traffic.
 +
 +To make a long story short, when this issue occurs the NAT table becomes filled up with entries, while your BitComet client is running, and can't handle any more new connections.
 +
 +While some better routers (of the lot of those who can't support too many connections) handle this situation gracefully by dropping outgoing packets for new connections, until such time an entry times out in the NAT table, other worse equipments stutter and crash or entirely freeze into a state where they may need a manual reboot, to get back on feet.
 +
 +On top of that running BitTorrent client may keep initiating many new connections for a long time (especially when downloading) therefore even if your device doesn't crash, you may experience a total inability to access the Internet with any other application, or from other computers in your LAN (however this effect may have also a different cause; see the [[bitcomet_client_issues_and_possible_solutions#all_my_other_internet_applications_either_slow_down_or_say_they_can_t_connect_when_i_use_bitcomet_what_s_going_on_and_how_can_i_fix_this|previous topic]] for details on that).
 +
 +**What can you do to fix this?**
 +
 +The first and best option would be to find an equipment which doesn't have this limitation (buy, trade or swap your actual one for it).
 +
 +If that's is not an option for you at present time, then there are some measures you could try to contain this.
 +
 +  - If you have LT-Seeding enabled in your client, make sure that you go to [[bitcomet_options#advanced|Options-->Advanced]] and change the value of the //bittorrent.connection_ltseed_protocol_selection// option to **0** instead of the default 2. This will force BitComet to use only TCP as a transport protocol for LT-Seeding connections.\\ 
 +   - Next, set the //network.max_connections// option to a conservative value such as 200, for starters. This will limit the number of simultaneous TCP connections maintained by BitComet, to whatever value you set for this option, and in turn reduce the number of entries which BitComet may place in the NAT table, by the use of TCP connections.
 +  - (Optional) If you're using Windows XP, you may also want to set the number of maximum embryonic connections allowed by Windows to something a little higher than the default 10 (by using the [[bitcomet_options#tcp_ip_limit|TCP/IP Limit]] option in BitComet to set it at something like 20) and then make sure that the //network.max_connecting_connections// option is set to something lower than that (the default 10 should be OK).
 +  - Another thing you might want to watch out for is the number of simultaneous running tasks BitComet has, since incoming TCP connections and UDP traffic for each additional task cannot be stopped before reaching the router so each different IP source will create a new entry in the NAT table. Starting out with 1-2 running tasks in total (both downloading and seeding) might be a good place to begin, along with all the above measures if you encounter this type of issue.
 +  - If after doing all the above your problem still isn't solved, then it means that the culprit here is probably the UDP transport protocol. BitComet may communicate with very large number of different IPs using UDP, on account of DHT and Torrent Exchange messages which use UDP as a transport protocol. Each UDP datagram outgoing towards a different IP address will create a new entry in the NAT table of your router as well as each new IP address sending a datagram towards you, so your router's NAT table can easily become cluttered simply on account of UDP traffic even though the traffic volume in itself may not be very high, necessarily.\\ 
 +An option in BitComet, that you can use to contain this effect, is //network.max_udp_pkt_per_sec// which will limit the maximum number of UDP datagrams which BitComet may send per second. Setting this value to a conservative value, such as 5 will limit the max number of new entries which BitComet can create through UDP, in the NAT table of your router, to 300 new entries per minute.
 +Summed with the 200 you set for TCP, this will give a max number of 500 entries BitComet can place any minute in the NAT table, on behalf of outgoing traffic.
 +
 +If the above settings work for you, then you should start to gradually increase the values until you find some values which make the issue re-appear and then stay below that threshold. For instance, you may try to first increase the number of TCP connections, by a increment of 50 or even lower and then test your router for a while and see how it works. Do this until you get to a value of 500-800 and if nothing goes wrong stop there.\\
 +Then, once you found a number of TCP connections where your router is stable you can start increasing the number of UDP packets per second, by small increments of 5 or lower and again test your router. Once you've found a value which makes your router crash/freeze, go back a couple of increments and let the option set at that value, to keep yourself in the safe zone.
 +
 +If on the contrary, the above said settings don't work for you, you may try even more conservative settings or you may consider even disabling DHT altogether, to alleviate this problem.
  
 ---- ----
Line 271: Line 320:
  
 Do not add or delete any tasks. Doing that WILL make method #2 below, useless (for reasons we trust are obvious), and it will interfere with the others;\\ Do not add or delete any tasks. Doing that WILL make method #2 below, useless (for reasons we trust are obvious), and it will interfere with the others;\\
-  - If your version is v.1.18 or above (or in case you upgraded, if your previous version was v.1.18 or above), then recovering your tasklist is just a matter of renaming one of the .bak files (you can start with the most recent one) to //downloads.xml// (they should be present in the same folder as //downloads.xml//).+  - If your version is v.1.18 or above (or in case you upgraded, if your previous version was v.1.18 or above), then recovering your tasklist is just a matter of deleting the current //downloads.xml// file and renaming one of the .bak files (you can start with the most recent one) to //downloads.xml// (they should be present in the same folder as //downloads.xml//).
   - If your version is v.1.07 or above but below v.1.18 (or in case you upgraded, if your previous version was v.1.07 or above), try the backup file: see if there is a //downloads.xml.bak// file in the program directory described in the above sections. Delete the //downloads.xml// file and rename //downloads.xml.bak// to //downloads.xml//. Now start Bitcomet and see if the task list is correct or more nearly correct.   - If your version is v.1.07 or above but below v.1.18 (or in case you upgraded, if your previous version was v.1.07 or above), try the backup file: see if there is a //downloads.xml.bak// file in the program directory described in the above sections. Delete the //downloads.xml// file and rename //downloads.xml.bak// to //downloads.xml//. Now start Bitcomet and see if the task list is correct or more nearly correct.
   - Check the [[torrent_history|Torrent History]] (or [[torrent_share_and_torrent_archive#torrent_archive|Torrent Archive]] in BitComet v.1.16 or the older). The Torrent History may have all of your previously downloaded torrents, unless you disabled this feature or deleted that torrent from the history list... Select the torrents that existed as tasks before your BitComet shutdown, one by one (starting with v.1.23 you can select multiple torrents and add them with one single command from the right-click context menu: //Add to TaskList...//). Double-click the selected torrent and a popup dialog will warn: "The task you want to view is removed, do you want to download again? " Click "Yes" and choose the same destination for the download as the one where the files for that torrent reside, and click "Download now" to continue. BitComet will do a hash-check automatically then and after the hash-check is finished, it will start downloading those unfinished tasks or seeding if they were finished.   - Check the [[torrent_history|Torrent History]] (or [[torrent_share_and_torrent_archive#torrent_archive|Torrent Archive]] in BitComet v.1.16 or the older). The Torrent History may have all of your previously downloaded torrents, unless you disabled this feature or deleted that torrent from the history list... Select the torrents that existed as tasks before your BitComet shutdown, one by one (starting with v.1.23 you can select multiple torrents and add them with one single command from the right-click context menu: //Add to TaskList...//). Double-click the selected torrent and a popup dialog will warn: "The task you want to view is removed, do you want to download again? " Click "Yes" and choose the same destination for the download as the one where the files for that torrent reside, and click "Download now" to continue. BitComet will do a hash-check automatically then and after the hash-check is finished, it will start downloading those unfinished tasks or seeding if they were finished.
Line 318: Line 367:
  
 If it's not then recheck the %appdata% permissions -- often you need to check all the permissions for the entire tree and every node in it. The account you usually run BitComet under - normally your own - should own the directory and files, and have full control of both.  If it's not then recheck the %appdata% permissions -- often you need to check all the permissions for the entire tree and every node in it. The account you usually run BitComet under - normally your own - should own the directory and files, and have full control of both. 
 +
 +==== How can I transfer all my tasks to another computer? ====
 +
 +If you wish to move all your tasks (active and/or stopped) to a new computer and hence to a new installation of BitComet you will have to follow a few easy steps:
 +    - Copy the current BitComet download folder (the folder which holds the files for each task) onto the new computer and make sure that it resides in a partition which has the same letter as the previous one (i.e. if your current download folder is //D:\BitComet Downloads// then make sure you move BitComet Downloads on the D:\ partition of the new computer.\\ If you don't have a partition with the same letter on the new computer then you'll have to move all the tasks from within BitComet (select the tasks, right-click and choose //File Move To//) into a folder on the current computer whose path **can** be replicated on the new one and you'll have to do this **prior** to moving the files to the new computer or exporting the tasklist. (E.g. if your download folder on the current computer is //D:\BC_Downloads// but you'll only have a //C:\// partition on the new computer (bad idea by the way) then you'll have to move all your tasks into //C:\BC_Downloads// on the **current** computer **prior** to moving the folder on the new computer. This ensures that each task points toward the right path, not towards an inexistent one, on the new PC.
 +  - Go to the //File// menu and choose //Import and Export Download List...//. In the lower section named "Export" click on the ellipsis button and choose a filename and location for the backup file. Make sure that the "Export all tasks" radio button is selected before hitting the //Export// button. This will create a backup copy of the tasklist and BitComet settings into a backup file.
 +  - Select all the tasks in the Task List of BitComet and then right click and choose //Save Torrent As// and save all the .torrent files into a location of your choice.
 +  - Make sure that in your new installation of BitComet the variable //system.use_app_data// is set to TRUE into //Options-->Advanced//.
 +  - Open a new Explorer window and type in the address bar //%appdata%\BitComet\torrents// then hit Enter. You should find yourself into the //\torrents// folder of the new BitComet installation. Copy in here all the .torrent files that you saved in Step 3.
 +  - Go into the //File-->Import and Export Download List...// and into the upper section called Import choose the backup file which you saved in Step 2. After BitComet finishes importing the list, you should be done and have an identical completely functional list of tasks as on the old computer.
  
 ---- ----
 -[[understanding_bitcomet|Previous Page]] -[[configuration_and_user_settings|Next Page]]\\ -[[understanding_bitcomet|Previous Page]] -[[configuration_and_user_settings|Next Page]]\\
 -[[start|Main Index]] -[[start|Main Index]]
 
bitcomet_client_issues_and_possible_solutions.1298333929.txt.gz · Last modified: 2015/08/15 04:21 (external edit)
Recent changes RSS feed Driven by DokuWiki