Changes between Initial Version and Version 1 of Development/Vast_amount_of_torrents


Ignore:
Timestamp:
04/11/2013 04:53:22 PM (11 years ago)
Author:
bro
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Development/Vast_amount_of_torrents

    v1 v1  
     1[[PageOutline(1-3,,inline)]] 
     2 
     3= Current state of Deluge (v1.3) = 
     4 
     5Deluge v1.3 handles hundreds of torrents fairly well. The GTKUI uses a lot of CPU to render the torrent list, so to keep CPU usage at a minimum it is a good idea to run in deamon/client mode and only connect with to the daemon when you need. 
     6 
     7When the torrent list reaches 1000 torrents, the CPU usage gets more and more noticable, the more torrents the slower it gets. 
     8 
     9Improvements are needed for Deluge to handle thousands of torrents! 
     10 
     11= State of git-master (To be v1.4) = 
     12 
     13git-master has been tested and works well with 2-3000 torrents. Currently the biggest problem is that to make libtorrent v0.16.X handle that many active torrents, the settings ''active_dht_limit'', ''active_tracker_limit'', ''active_lsd_limit'' must be set. This is currently not implemented in git-master, but applying the patch proposed in #2257 should solve this. 
     14 
     15The following patches have already been applied which improves the speed of Deluge with many torrents greatly: 
     16 
     17 * [http://dev.deluge-torrent.org/ticket/2255 Speed optimizations to the daemon (#2255)], [http://git.deluge-torrent.org/deluge/commit/?id=8c106ce8c4c0794ddd63e8e8f98b097221a56a52 master] (Daemon) 
     18 * [http://dev.deluge-torrent.org/ticket/2246 Speedup set_prioritize_first_last in torrent.py (#2246)], [http://git.deluge-torrent.org/deluge/commit/?id=6313ff19b322a2801c633324bb0d77dc4f59b9a1 master] (Daemon, mainly on startup) 
     19 * [http://dev.deluge-torrent.org/ticket/2184 Speed optimizations to the torrentview in GTKUI (#2184)], [http://git.deluge-torrent.org/deluge/commit/?id=b4f5e78a775503a5501e2eba7eee73dfa0e1955a master] (GTKUI)  
     20 * [http://dev.deluge-torrent.org/ticket/2248 Cache tracker icons in gtkui (#2248)] ([http://git.deluge-torrent.org/deluge/commit/?id=463ac0c07eda1b33b145e1b9be7edbc0981815a99 master]) ([http://git.deluge-torrent.org/deluge/commit/?h=1.3-stable&id=36a78d8f219f 1.3-stable)] (GTKUI)  
     21 * [http://dev.deluge-torrent.org/ticket/2259 Small (but significant) speed optimizations to the torrentview in GTKUI (#2259)], [http://git.deluge-torrent.org/deluge/commit/?h=1.3-stable&id=a0ae3ebfce826980d08f6e75ec62a48e39cd5b41 1.3-stable] (GTKUI, smaller version of #2184 for 1.3 branch) 
     22 * [http://dev.deluge-torrent.org/ticket/2116 Application layer protocol for transfering RPC messages + utf8 decoding error (#2116)], [http://git.deluge-torrent.org/deluge/commit/?id=8e7432e71c80a47c96bf48c07535ec1991efe1d9 master] (RPC communication between daemon and clients) 
     23 
     24Proposed patches: 
     25 * [http://dev.deluge-torrent.org/ticket/2285 Speed optimizations to sessionproxy (#2285)] (GTKUI)  
     26 * [http://dev.deluge-torrent.org/ticket/2250 Speedup removing multiple torrents from core (#2250)] (GTKUI) 
     27 * [http://dev.deluge-torrent.org/ticket/2257 Allow setting of active_dht_limit, active_tracker_limit and active_lsd_limit. Fix bugs. (#2257)] (Daemon)  
     28 
     29Other issues that need investigation: 
     30 * Adding multiple torrents is very slow. This is because when adding many torrents, one call is made to core.add_torrent_file for each torrent. 
     31 * Pausing/resuming multiple torrents is very slow. This is probably because when a torrent changes state, a lot of operations are done (event listeners in GUI presumable), so with hundreds of torrents changing state the result is too much work needing to be done. 
     32 * CPU usage on an idle daemon can still be around 5%. One possible cause for this is because each torrent class creates a LoopingCall which causes twisted to do a lot of checking when there are a lot of torrents in the session. 
     33 * Add caching to the data-funcs in torrentview.py/listview.py to reduce unecessary computation (Patch development: [https://github.com/bendikro/deluge/commits/master-torrentview-data-funcs-cache])