hardhouse писал(а):
55179918поиграться с utp (возможно, его надо будет отключить)
Игрался, но безрезультатно. Пробовал тюнить uTP related параметры в advanced по руководству в wiki, пробовал совсем отключать uTP - скорость далека от максимальной. Такое ощущение, что uTP вообще на нее не влияет. Зато влияет параметр, задающий максимальное количество соединений на торрент. Когда я ставлю туда 50, скорость плавно набирается и держится на максимуме (мне удалось получить 21 МБайт/с на двух 100-мегабитных каналах). Если там поставить 100 или 200, то соединений становится больше, но скорость при этом меньше - порядка 10 МБайт/с. Возможно виновата винда или клиент - на роутере проц при этом загружен лишь наполовину. Причем такое же поведение наблюдается и на 3.1.3, и на 2.2.
Такое ощущение, что в 3.1.3 сломали все, что могли. Когда я ставлю 50 соединений на торрент, 2.2 честно устанавливает все 50 соединений, в то время как 3.1.3 устанавливает только 37. При заданных двух соединениях 3.1.3 устанавливает лишь одно, при трех - два, при четырех - три. В чем тут логика я не знаю. Еще несколько замеченных регрессий:
- Ужасные цвета в графиках.
- При очистке списка пиров на торренте цифры не сбрасываются на нули.
- Крайне медленная проверка хэша торрента, если файлов на диске нет вообще.
Единственное преимущество 3.1.3 перед 2.2 - приоритизация IP. Но и в ее работоспособности есть сомнения (нужно провести еще серию тестов).
Тест 1. Торрент с 4 сидами и 0 личами. Все сиды возвращаются трекером (PEX и прочая не требуется). Прописываю 3 сида в isp.peer_policy_url, 4-й оставляю "внешним". Ставлю в клиенте ограничение 3 соединения на торрент. Запускаю. Клиент соединяется именно к тем трем пирам, которые прописаны как локальные. Если после этого увеличить количество соединений на торренте до четырех, клиент соединяется еще и с внешним пиром. Запускал несколько раз, пробовал менять набор локальных пиров - все работает четко.
Тест 2. Торрент с огромным количеством пиров, среди которых с десяток локальных (благодаря локальным ретрекерам). Ограничение на количество соединений - 50 (для 3.1.3 это означает 37). Запускаю. Сразу идет коннект к пачке внешних адресов. Вторая волна соединений проходит уже на локальные адреса. Количество соединений растет очень медленно. Скорость тоже. В какой-то момент все 37 соединений установлены, много локальных пиров, но суммарная скорость с них низкая (8-10 МБ против 20 возможных).
На самом деле я провел больше тестов, но они какие-то неоднозначные. По моему субъективному ощущению, когда включена приоритизация пиров, общая скорость скачивания заметно уменьшается несмотря на то, что скачивание идет с локальных пиров. Впрочем и с отключенной приоритизацией скорость тоже неровная. Она не так стабильна, как на 2.2. Сама идея удачная, но видимо помимо приоритизации пиров что-то там накрутили со скоростью. К тому же фича недокументированная, и судя по настроениям разработчиков, доводить ее до ума они не сильно стремятся. Поэтому я решил отказаться от этой фичи и откатиться на uTorrent 2.2.