Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
vms:bittorrent [2017/05/31 04:09]
admin [Transmission]
vms:bittorrent [2017/06/02 04:36] (current)
admin [Transmission]
Line 4: Line 4:
  
 We'll start with the installation of a **Transmission** server, based on a [[vms:​debian|Debian template]]. We'll start with the installation of a **Transmission** server, based on a [[vms:​debian|Debian template]].
 +
 +=== Installation ===
  
 <​Code:​json>​ <​Code:​json>​
Line 25: Line 27:
 "​incomplete-dir":​ "/​var/​lib/​transmission/​seeding",​ "​incomplete-dir":​ "/​var/​lib/​transmission/​seeding",​
 "​dht-enabled":​ true, "​dht-enabled":​ true,
 +"​lpd-enabled":​ true,
 "​pex-enabled":​ true, "​pex-enabled":​ true,
 "​peer-limit-per-torrent":​ 10, "​peer-limit-per-torrent":​ 10,
Line 41: Line 44:
 For a complete description of all options: [[https://​web.archive.org/​web/​20160428165927/​https://​trac.transmissionbt.com/​wiki/​EditConfigFiles]] For a complete description of all options: [[https://​web.archive.org/​web/​20160428165927/​https://​trac.transmissionbt.com/​wiki/​EditConfigFiles]]
  
-For detailed ​instruction ​on how to use Transmission:​ [[https://​help.ubuntu.com/​community/​TransmissionHowTo]]+For detailed ​instructions ​on how to use Transmission:​ [[https://​help.ubuntu.com/​community/​TransmissionHowTo]] 
 + 
 +=== System Configuration === 
 + 
 +To avoid Transmission eating up all the system'​s resources, edit ''/​lib/​systemd/​system/​transmission-daemon.service'':​ 
 + 
 +<​Code>​ 
 +> nano /​lib/​systemd/​system/​transmission-daemon.service 
 +ADD @ end of [Service] section 
 +[Service] 
 +... 
 +Nice=16 
 +IOSchedulingClass=idle 
 +CPUSchedulingPolicy=idle 
 +MemoryMax=25M 
 +MemoryHigh=35M 
 +ProtectSystem=true 
 + 
 +> systemctl daemon-reload 
 +</​Code>​ 
 + 
 +Note that we reload daemons for our changes to take effect. 
 + 
 +=== UDP socket buffers === 
 + 
 +Setting ''"​message-level":​ 3,''​ in ''/​var/​lib/​transmission-daemon/​info/​settings.json'',​ then monitoring ''/​var/​log/​syslog'',​ or better ''/​var/​log/​daemon.log''​ will show: 
 +<​Code>​ 
 +Jun  2 04:18:24 transmission-20 transmission-daemon[4243]:​ [2017-06-02 04:​18:​24.532 CEST] UDP Failed to set receive buffer: requested 4194304, got 425984 (tr-udp.c:​78) 
 +Jun  2 04:18:24 transmission-20 transmission-daemon[4243]:​ [2017-06-02 04:​18:​24.534 CEST] UDP Failed to set send buffer: requested 1048576, got 425984 (tr-udp.c:​89) 
 +</​Code>​ 
 + 
 +It seems Transmission is willing to get a 4MB receive buffer and a 1MB send buffer, while only 256K are available. We'll fix that using the following commands: 
 +<​Code>​ 
 +> echo '​net.core.rmem_max = 16777216'​ >> /​etc/​sysctl.conf 
 +> echo '​net.core.wmem_max = 4194304'​ >> /​etc/​sysctl.conf 
 +> sysctl -p 
 +</​Code>​ 
 + 
 +For production servers with hundreds of connections 16MB receive and 4MB send buffers are recommended [[https://​trac.transmissionbt.com/​ticket/​4321| read more here...]]
 ===== mitorrent ===== ===== mitorrent =====
 [[https://​github.com/​da2x/​mitorrent]] [[https://​github.com/​da2x/​mitorrent]]