Перейти к содержанию
Форум русской поддержки продукции Synology

Transmission (настройки)


Рекомендованные сообщения

Начну немного издалека...

 

Одним из основных применением NASа (по крайней мере у меня) является просмотр HDvideo.

Смотрю я его через Egreat EG-M34A. Иногда при просмотре бывают "тормоза".

Углубившись в данную проблему - выяснил, что косвенным виновником может являться Transmission.

 

Если торент клиент = transmission, и в его опциях settings.json параметр filepreallocation не равно 2, то с бОльшей вероятностью тормоза на тяжелом контенте будут. Файлы будут сильно фрагментированы. Убогая реализация железок не справится.

Ага.. пошел, нашел конфигурационный файл - и таки такой строки там нет...

 

wiki дает ответ на этот вопрос: редактирование конфига

 

preallocation: Number (0 = Off, 1 = Fast, 2 = Full (slower but reduces disk fragmentation), default = 1)

 

Добавил себе в конфиг с параметром 2. Посмотрю, что изменится.

Вот...

 

Ну, а кому интересно - могут поковырять остальные настройки :)

Ссылка на комментарий
Поделиться на другие сайты

  • Ответов 51
  • Создано
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

На форуме qnap (http://forum.qnap.ru) рекомендуют еще в settings.json такое изменение:

Важно! Меняем лимит на максимальное число открытых файлов на больший:

"open-file-limit": 512,

Ссылка на комментарий
Поделиться на другие сайты

Насколько понял, при увеличении "open-file-limit" увеличивается стабильность transmission. Если у кого падает, стоит изменить.

 

По поводу фрагментации. Проверил с помощью filefrag. Действительно, скачанные файлы сильно фрагментированы при preallocation =1. Если выставить 2, то до начала скачивания будет создан менее фрагментированный файл, заполенный нулями. На это уйдет определенное время. Какая будет фрагментация - нужно смотреть.

 

Сравнил скорость копирования (samba) фрагментированного файла, скачанного transmission (preallocation =1) и его копии. Разница более 2х раз. Фрагментированный копировался со скоростью 11-12 мб/c, а копия 30-32.

 

Можно попробовать поступить так. После скачивания торрента, останавливаем torrent (или transmission), копируем файл в другое место (с сохранением времени модификации), удаляем исходный и перемещаем копию назад.

Вопрос только в том - достаточно ли остановить torrent, или же нужно останавливать transmission.

Ссылка на комментарий
Поделиться на другие сайты

Попробовал "дефрагментировать" файл копированием в другую директорию, затем перемещением назад. Пробовал и при остановленной Transmission и при остановленном торренте.

Сначала копируем файл, сохраняя атрибуты и время.

cp -p <файл> /opt/tmp/

потом фозвращаем назад.

mv -f /opt/tmp/<файл> .

Находимся в папке с файлом. Если transmission запущен (torrent остановлен), то фрагментация уменьшается, но незначительно. При этом во временной папке (в примере это /opt/tmp/) файл фактически нефрагментирован. Когда перемещаю назад - опять фрагментирован значительно (но меньше чем исходный).

С остановленным transmission провел эксперимент только с одним файлом. Ситуация похожая. Странно.

 

Выставил preallocation=2. Посмотрим.

Ссылка на комментарий
Поделиться на другие сайты

Попробовал "дефрагментировать" файл копированием в другую директорию, затем перемещением назад.

Находимся в папке с файлом. Если transmission запущен (torrent остановлен), то фрагментация уменьшается, но незначительно. При этом во временной папке (в примере это /opt/tmp/) файл фактически нефрагментирован. Когда перемещаю назад - опять фрагментирован значительно (но меньше чем исходный).

С остановленным transmission провел эксперимент только с одним файлом. Ситуация похожая. Странно.

 

Выставил preallocation=2. Посмотрим.

Не совсем уверен как работает файловая система Ext3, но если на примере с FAT то сказал бы, что файл записался в старые дырки :)

 

Т.е. следовало:

1. скопировать файл в другое место

2. переименовать оригинал

3. вернуть копию на родину

4. удалить переименованный файл

 

и дабы не потерятьраздачу все делать при остановленном transmission

 

з.ы. все IMHO :rolleyes:

Ссылка на комментарий
Поделиться на другие сайты

Еще раз объясняю. Дефрагментаторов под ext3, фактически нет. То, что я делал, делает скрипт defrag. Ссылку искать лень.

Если посмотрите описание файла resume у transmssion, то увидите, что он основан на времени модификации файла. Поэтому копировать файл нужно с сохранением атрибутов (времени, владельцем, правами).

После копирования, при наличии свободного места на диске копия мало фрагментирована. Все проверяется командой filefrag.

Далее мы перемещаем(!!!) файл на место. По идее файл должен оставаться на месте, а в директории меняется ссылка.

Команды cp и mv брались родные синоджиковские (бизибокс). Почему после mv файл становился фрагментированным - не знаю, не должен. Возможно исходный все еще был открыт в transmission. Большая часть экспериментов проводилась с остановленным toreent и работающим transmission.

Ссылка на комментарий
Поделиться на другие сайты

Еще раз объясняю.

Спасибо... Теперь понятно :)

 

Пошел изучать документацию:

Фрагментация под Linux: Настройка файловой системы Ext3

Ссылка на комментарий
Поделиться на другие сайты

Я фактически руками делал то, что делает "defrag v0.07 by Con Kolivas".

Transmission у меня установлен как SPK. Командой killall не останавливается (или не дождался). Поэтому останавливал с помощью killall -9. Файлы при этом могли остаться открытыми. При остановленном этим способом transmission попробовал дефрагментировать только 1 файл. Число экстентов уменьшилось в 4-5 раз но осталось большим.

Ссылка на комментарий
Поделиться на другие сайты

Смотрю, что происходит с preallocation=2.

Скачивание нового файла очень долго не начиналось, может файл долго создавался, а может сидов transmission не получил.

Минут через 10-20 все пошло.

Для скачиваемого файла

filefrag <xxx>.part
<xxx>.part: 190 extents found, perfection would be 12 extents

Для файла близкого размера, скачанного ранее

filefrag <xxx>
<xxx>i: 100786 extents found, perfection would be 13 extents

Опция работает.

Ссылка на комментарий
Поделиться на другие сайты

Смотрю, что происходит с preallocation=2.

Скачивание нового файла очень долго не начиналось, может файл долго создавался, а может сидов transmission не получил.

Минут через 10-20 все пошло.

Для скачиваемого файла

filefrag <xxx>.part
<xxx>.part: 190 extents found, perfection would be 12 extents

Для файла близкого размера, скачанного ранее

filefrag <xxx>
<xxx>i: 100786 extents found, perfection would be 13 extents

Опция работает.

 

провел аналогичные опыты - результаты поражают...

поставил файл на загрузку с параметром preallocation:1, а затем удалив его и установив параметр preallocation: 2 и получив результаты очень удивился! В первом случае было около 300000 extents found, а во втором около 300.

з.ы. кто решит поменять параметр - не забудьте перезагрузиться (штатными средствами выгрузить\остановить Трансмишен не удалось - он все-равно сидел в памяти)

Вот.

Так что, БОЛЬШОЕ спасибо Zyxmon за проведенные исследования !!!

 

з.з.ы. для тех кто не понял важности результатов - это позволит избежать "тормозов" при воспроизведении сильно фрагментированных файлов.

Ссылка на комментарий
Поделиться на другие сайты

... штатными средствами выгрузить\остановить Трансмишен не удалось - он все-равно сидел в памяти

Я отредактировал файл

/var/packages/transmission/scripts/start-stop-status

чтобы можно было останавливать transmission без перезагрузки. Изменеия в самом начале в функции stop_daemon ()

stop_daemon ()
{
    # Kill it and wait until it is really dead (may take some time).
    killall transmission-daemon
    sleep 1
    killall transmission-daemon
    sleep 1
    killall -9 transmission-daemon
    counter=10
....

Использование killall -9 не очень прилично, но перезагружать не нужно.

Ссылка на комментарий
Поделиться на другие сайты

  • 1 месяц спустя...

Ни у кого не было проблем с долгой DLNA индексацией файлов , скаченных трансмишном с preallocation=2?

 

Ситуация: поставил трансмишном качать (качается сразу в папку видео созданную медиасервером) двдрип (1-2 минуты не ловил сидов как и должно быть), фильм скачался.

Зашел через WD TV Live в папку с видео (через длна медиасервер), и нового файла там не обнаружил, за 20 минут так и не появился.

Начал искать в чем проблема, сделал ручную переиндексацию в настройках DLNA в DS, и новый файл после этого появился и воспроизводится без проблем. <_<

 

Попробую вернуть preallocation=1 и посмотреть как скоро будет виден файл после загрузки трансмишном.

 

 

UPD: конечно, preallocation был тут не причем :)

Проблема известная, и на официальных форумах не раз обсуждаемая - автоматически не индексируются файлы, залитые в папки DLNA отличными от штатных способами и программами.

 

Нашел хороший скрипт на перле, который решает данную проблему - сканирует папку видео, и если там появились новые файлы (как в моем случае с трансмишном, который закачивает туда торренты), добавляет их в индексацию.

 

http://www.naschenweng.info/2010/02/13/syn...g-via-synoindex

Ссылка на комментарий
Поделиться на другие сайты

  • 7 месяцев спустя...

Скажите, если кто пробовал новую DSM 3.1 Beta, там по умлочанию настройки нормальные или нужно бороться с дефрагментацией и пр.?

Ссылка на комментарий
Поделиться на другие сайты

Скажите, если кто пробовал новую DSM 3.1 Beta, там по умлочанию настройки нормальные или нужно бороться с дефрагментацией и пр.?

 

С дефрагментацией бороться не нужно :-)

 

А вот понятие prealocation - это да..

 

На Ext3 и Ext4 понятие фрагментации сводиться к минимуму. Доказательством тому служит отсутствие программ дефрагментации. Есть правда одна, и то она для Ext2. Из чег следует, что нужно перегонять все в Ext2, дефрагментить, и обратно загонять в Ext3. При этом есть риск потерять данные. Нах, спрашивается, это нужно, если это не нужно:)?

 

Ссылка на комментарий
Поделиться на другие сайты

Нужна или нет дефрагментация. Нужно или нет менять preallocation проверяется просто:

1. Качаем файл в transmission.

2. Измеряем скорость копирования файла на комп.

3. Копируем (не перемещаем) скачанный файл внутри synology на другой диск, в другую папку.

4. Измеряем скорость копирования копии файла на комп.

 

Если скорость копирования возрасла после этой операции раза в два, делаем выводы.

Ссылка на комментарий
Поделиться на другие сайты

Ну, допустим.. я согласен, к preallocation самого Tranmission это имеет значение. А при чем здесь дефрагментация?

 

 

Ссылка на комментарий
Поделиться на другие сайты

Я почему спросил - меня устраивал Download Station от 3.0 сейчас в Бете 3.1. положили transmission, т.е. теперь такая установка - переход на него. вот в свете этого и узнаю нюансы, т.к. нюансы работы с предыдущей качалкой знал и это было полезно.

Ссылка на комментарий
Поделиться на другие сайты

Я почему спросил - меня устраивал Download Station от 3.0 сейчас в Бете 3.1. положили transmission, т.е. теперь такая установка - переход на него. вот в свете этого и узнаю нюансы, т.к. нюансы работы с предыдущей качалкой знал и это было полезно.

 

Это где вы там нашли Transmission в DSM 3.1?! Я проверял Demo DSM3.1 Beta на сайте Synology . Никакого Transmission там не обнаружил. Там настройки Download Station в контрольной панели. Из чего следует, что Download Station остался.

 

Ссылка на комментарий
Поделиться на другие сайты

А при чем здесь дефрагментация?

Дефрагментация не причем. Причем тут фрагментация.

Там настройки Download Station в контрольной панели. Из чего следует, что Download Station остался.

Внутри Download Station теперь transmission, раньше был rtorrent. Писалось неоднократно.

 

Ссылка на комментарий
Поделиться на другие сайты

Дефрагментация не причем. Причем тут фрагментация.

Ну ессесно..

 

Внутри Download Station теперь transmission, раньше был rtorrent. Писалось неоднократно.

 

Ну тогда отлично. Хотя меня и тот zibulon устраивает

 

 

Ссылка на комментарий
Поделиться на другие сайты

Проверка - нужно или нет ставить preallocation=2 на новых прошивках с DSM 3.0/3.1 и ext4 - элементарная. Не обязательно смотреть фрагментацию с помощью утилиты в консоли. Как проверить - написал.

На DSM 2.3(ext3) установка preallocation=2 увеличивала скорость чтения файла по (гигабитной) сети почти в два раза. Пропадали глюки при воспроизведении файлов плеерами. Об этом многие писали.

 

Меня удивляет, что никто самостоятельно не проверил, нужно ли ставить preallocation=2 на новых прошивках и ext4. Все только спрашивают.

 

Когда (если) я перейду на новую прошивку и ext4 - проверю. Меня пока DSM 2.3 устраивает.

Ссылка на комментарий
Поделиться на другие сайты

Проверка - нужно или нет ставить preallocation=2 на новых прошивках с DSM 3.0/3.1 и ext4 - элементарная. Не обязательно смотреть фрагментацию с помощью утилиты в консоли. Как проверить - написал.

На DSM 2.3(ext3) установка preallocation=2 увеличивала скорость чтения файла по (гигабитной) сети почти в два раза. Пропадали глюки при воспроизведении файлов плеерами. Об этом многие писали.

 

Меня удивляет, что никто самостоятельно не проверил, нужно ли ставить preallocation=2 на новых прошивках и ext4. Все только спрашивают.

 

Когда (если) я перейду на новую прошивку и ext4 - проверю. Меня пока DSM 2.3 устраивает.

 

Я проверял - все великолепно работает на моей DSM 3 1354. С preallocation=2 - тянет даже Блю-Рэевские п Wi-Fi.

 

У меня такой вопрос вообще. Какая у кого скорость копирования-чтения по сетке вообще? У меня по Wi-Fi 10-12 мегабайт в среднем.

Ссылка на комментарий
Поделиться на другие сайты

Я проверял - все великолепно работает на моей DSM 3 1354. С preallocation=2 - тянет даже Блю-Рэевские п Wi-Fi.

 

У меня такой вопрос вообще. Какая у кого скорость копирования-чтения по сетке вообще? У меня по Wi-Fi 10-12 мегабайт в среднем.

 

Вопрос заключается в том - нужно ли ставить preallocation=2 на ext4 или нет. Раньше я считал, что нет, сейчас считаю, что нужно.

Но это теория. А критерий истины практика. Понятно, что при preallocation=2 проблем не будет.

 

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти

×
×
  • Создать...