Настройка максимальной производительности приложения Transmission
Чтобы получить максимальную производительность со встроенным Transmission, необходимо наличие качественных пиров у раздачи, быстро работающий контроллер у накопителя, а также как можно меньше фрагментированный накопитель и минимум одновременно загруженных и работающих пользовательских юзерспейсных приложений.
По умолчанию в релизах операционной системы KeeneticOS установлено максимальное ограничение скорости закачки и раздачи в зависимости от модели интернет-центра. Эти значения вы найдете в инструкции Интерфейс Torrent-клиента Transmission.

Данное ограничение выставлено с учетом лабораторных исследований BitTorrent-клиента Transmission в KeeneticOS, опираясь на качественную линию, большого количества пиров, серверов (узлов), отключенный протокол uTP, отключенное расширение Peer exchange (PEX) и Local Peer Discovery (LPD).
При данных значениях не происходит влияние на работу процессора роутера, так как это не NAS-сервер хранения данных на файловом уровне, а в первую очередь маршрутизатор, на котором работают различные сервисы и он предназначен прежде всего для подключения сетевых устройств к Интернету и пересылки пакетов между различными сегментами сети на основе правил и таблиц маршрутизации. Поэтому не нужно допускать монопольный "захват
" всей памяти роутера и ресурсов процессора (CPU) таким ресурсоёмким приложением как Transmission. Для этих целей выставлены ограничения на загрузку/отдачу, которые не рекомендуется изменять.
Чтобы получить максимальную скорость загрузки/отдачи, необходимо учитывать следующие факторы:
На какой носитель осуществляется запись файла — твердотельный накопитель SSD или жёсткий диск HDD (5400 rpm, 7200 rpm — распространенные стандарты скорости вращения шпинделя);
Наличие "хороших" пиров, кто участвует в раздаче файла, при этом обменивается его (файла) "
кусками
", сегментами равной длины;Как ваш интернет-канал (провайдер) взаимодействует, при помощи однорангового протокола BitTorrent через торрент-клиент, с инфраструктурой узла (трекер, сервер);
Какое количество TCP-сессий (поток) генерируется при загрузке торрент-файла;
Скорость зависит от выставленного номера порта для Входящих соединений (по умолчанию
51413
, который не блокирует большинство трекеров);Размера кластера NTFS. Рекомендуем изменить значение по умолчанию
4K на 8K
при форматировании диска;Фрагментация разделов и срабатывание преаллокации файловой системы NTFS (преаллокация, англ. persistent preallocation, preallocation — предварительное выделение места, блоков для записи, в файловой системе для скачиваемого файла).
Так как сейчас большинство сетевых узлов фильтруется системами DPI провайдера, то загрузку/раздачу торрент-файла можно осуществлять в базе данных распределенной хеш-таблицы DHT (Distributed HashTable). Но и тут не стоит забывать про "хороших
" пиров, которые находятся внутри этой базы данных, общей DHT-сети. Данный протокол включен по умолчанию в торрент-клиенте Transmission, тем самым помогает снижать нагрузку на CPU системы и увеличит пропускную способность загрузки файла, так как быстрее находится ближайший пир с "ключом
" информации (данных файла).
Для теста подключим SSD-накопитель с настройками по умолчанию к роутеру Keenetic и получаем такие скорости:

В нашем примере Uplink 100 Мбит/с
, тариф до 100 Мбит/с, у торрент-клиента скорость загрузки на диск до 100
Мбит/с = до 11
Мбайт/с:

Если вам провайдер предоставляет канал 1 Гбит/с
, вы хотите получить максимальную производительность и задействовать все аппаратные возможности роутера, можно использовать сторонние BitTorrent-клиенты из OPKG Entware:
qBittorrent
Важно
Рекомендуется ограничить скорость раздачи/отдачи в торрент-клиенте, чтобы исключить проблему в работе устройства при максимальных нагрузках!
Задействуйте область подкачки swap: Подготовка USB-накопителя в качестве хранилища и активация раздела подкачки.
Если вы планируете записывать объемные данные, рекомендуется перейти на файловую систему EXT4
, для которой не требуется преаллокация (preallocation): Использование файловой системы ext4 на USB-накопителях.
В системном журнале роутера вы можете наблюдать сообщения вида:
[I] transmissiond: Earth (2015) Retrying scrape in 7211 seconds. [I] transmissiond: Earth (2015) Scrape error: Could not connect to tracker [I] transmissiond: Earth (2015) Retrying scrape in 7240 seconds. [I] transmissiond: Earth (2015) Scrape error: Could not connect to tracker [I] transmissiond: Earth (2015) Retrying scrape in 7220 seconds. [I] transmissiond: Earth (2015) Scrape error: Could not connect to tracker
или после добавления торрент-файла вы видите желтый треугольник с "восклицательным знаком" возле названия добавленного торрент-файла или ошибки в разделе Trackers у доменного имени трекер-сервера (ресурса), с которого был скачан файл, это значит, что в сети провайдера осуществляется фильтрация (блокировка) на уровне систем DPI (Deep Packet Inspection), которые анализируют передаваемые пакеты на транспортном уровне протоколов TCP/UDP:

При этом вы можете наблюдать, что запись торрент-файла на диск продолжается, так как по умолчанию в торрент-клиенте включена поддержка протокола DHT, при помощи которого образуется общая распределенная DHT-сеть между участниками раздачи файла для быстрого поиска пиров, что позволяет скачать файл.
Наличие "восклицательного знака
" также может означать, что на стороне трекер-сервера возникли технические проблемы и он временно или постоянно не доступен.
Если основной торрент-трекер заблокирован вашим провайдером, но при этом осуществляется закачка и раздача торрент-файла, это значит, что работа идет в рамках протокола DHT, т.е. клиенты образуют между собой общую DHT-сеть, которая помогает найти сидеров.
Если наблюдаются проблемы со скачиванием торрент-файла, то для дальнейшей диагностики потребуется сделать следующее:
Накопитель подключите к роутеру.
В веб-конфигураторе перейдите в меню Приложения в раздел Transmission и удалите файл конфигурации приложения, нажав на кнопку Восстановить settings.json:
Перейдите в интерфейс торрент-клиента (GUI), отметьте Включить DHT и в поле Включить очередь загрузки, одновременно установите значение 1:
Добавьте настройку отправки DNS-запросов доменных имен по протоколу DNS over TLS (DoT).
Чтобы DNS резолвинг работал стабильно, нужно одновременно указать несколько DoT-серверов, желательно от разных DNS-служб. Например:
Адрес сервера DNS
Доменное имя TLS
77.88.8.8
common.dot.dns.yandex.net
77.88.8.1
common.dot.dns.yandex.net
8.8.8.8
dns.google
8.8.4.4
dns.google
1.1.1.1
cloudflare-dns.com
1.0.0.1
cloudflare-dns.com
9.9.9.9
dns.quad9.net
94.140.14.14
dns.adguard-dns.com
94.140.15.15
dns.adguard-dns.com
dns.comss.one
dns.comss.one
Подробную информацию о встроенном в Keenetic торрент-клиенте можно найти в инструкциях Transmission и Интерфейс Torrent-клиента Transmission.
Для встроенного торрент-клиента Transmission открывать или пробрасывать порт не нужно, так как он автоматически открывается в NAT системой:
== Chain _NDM_IP_PUBLIC ==src: 0.0.0.0/0, dst: 0.0.0.0/0, in: "*", out: "*", proto: "TCP"; "tcp" match, mask: , cmp: , dport: 51413; ACCEPT
При тестировании открытых портов на роутере вы будете видеть, что порт закрыт. Из-за приватной адресации на ISP-интерфейсе проверка порта проходить не будет.
Ещё раз обращаем ваше внимание, что для встроенного Transmission открывать и пробрасывать порт не нужно, так как операционная система KeeneticOS при включении клиента или смены порта сразу же добавляет соответствующую запись в NAT.
Вот если бы TCP/51413
в NAT не было и мы не видели записей ASSURED
в таблице fastnat
:
Line 9141: UDP 17 src=10.201.58.157 dst=95.37.216.25 sport=51413 dport=56212 packets=2 bytes=211 src=95.37.216.25 dst=10.201.58.157 sport=56212 dport=51413 packets=2 bytes=1258 [ASSURED] [FASTNAT] mark=0x00000000 ndmmark=0x00 Line 9141: UDP 17 src=10.201.58.157 dst=95.37.216.25 sport=51413 dport=56212 packets=2 bytes=211 src=95.37.216.25 dst=10.201.58.157 sport=56212 dport=51413 packets=2 bytes=1258 [ASSURED] [FASTNAT] mark=0x00000000 ndmmark=0x00 Line 9146: UDP 17 src=10.201.58.157 dst=14.117.184.147 sport=51413 dport=9601 packets=2 bytes=250 src=14.117.184.147 dst=10.201.58.157 sport=9601 dport=51413 packets=1 bytes=97 [ASSURED] [FASTNAT] mark=0x00000000 ndmmark=0x00 Line 9146: UDP 17 src=10.201.58.157 dst=14.117.184.147 sport=51413 dport=9601 packets=2 bytes=250 src=14.117.184.147 dst=10.201.58.157 sport=9601 dport=51413 packets=1 bytes=97 [ASSURED] [FASTNAT] mark=0x00000000 ndmmark=0x00
это бы означало, что нет соединения на данный порт из-за блокировки провайдером. Тогда нужно менять данный порт (TCP/51413
) на другой, который не блокируется провайдером.