Форум vBTorrents.org

Форум vBTorrents.org (https://vbtorrents.org/index.php)
-   VBTT v.2.0 (https://vbtorrents.org/forumdisplay.php?f=2)
-   -   обновление vbtt v.2.0.2 (https://vbtorrents.org/showthread.php?t=59)

epozdnjakov 31.03.2010 05:57

Вложений: 1
Из каких соображений эта функция вообще делается через кучу if'ов, а не ассоциативный массив и sprintf? Я может чего-то недопонимаю и она у вас из спецификации автоматически генерится?

upd: Таки выглядеть оно будет примерно так (Извините, код пока не причесан).

Skald 31.03.2010 20:12

epozdnjakov, А так исторически сложилось :)
Сначала эта функа была внутри аннонсера (по скорости и расходу памяти тупые if-ы все-таки быстрее), а потом практически без изменений перекочевала в фронтэнд - зачем переписывать то что и так работает.
К тому же это отдельная функа - кому надо всегда перепишет для себя :)

epozdnjakov 31.03.2010 23:11

Да я тоже вижу, что заблуждаюсь ;) Не только в производительности, а тупо потому, что вернусь к тому же если захочу нормально отслеживать версии (Например, четвертый октет Уторрента используется только для указания типа релиза, например, B=бета, в остальных случаях ноль; Либторрент вроде использует Azureus-стиль, но почему-то версии там теперь в base64), sprintf превратится в sprintf(format, eval()) :)

Ну и ещё у меня тут пара тупых вопросов, на которую вы, может, ответите.

- Насколько реально перепилить фронтэнд на возможность анонимного скачивания? То есть, можно, конечно, сделать пользователя Anonymous и подправить код выдачи торрента, чтобы выдавал его пасскей, но ведь нужно количество анонимных пиров адекватно учитывать (Анонимус ведь либо будет считаться одним, либо будет куча одного и того же анонимуса в статистике). Просто навскидку, ибо сделать мне это необходимо и никуда я от этого уже не убегу.

- Как вы относитесь к идее использования на хостинге cgi-анонсера, написанного на C? По-моему, опустит расход ресурсов на порядок. И да, вменяемый бинарный трекер поставить у меня нет возможности, так как все ресурсы и так умещаются на виртуальном хостинге (маленькая релиз-группа, расчет на двести торрентов по десятку пиров на каждый максимум).

Skald 31.03.2010 23:31

Цитата:

Сообщение от epozdnjakov (Сообщение 2188)
- Насколько реально перепилить фронтэнд на возможность анонимного скачивания? То есть, можно, конечно, сделать пользователя Anonymous и подправить код выдачи торрента, чтобы выдавал его пасскей, но ведь нужно количество анонимных пиров адекватно учитывать (Анонимус ведь либо будет считаться одним, либо будет куча одного и того же анонимуса в статистике). Просто навскидку, ибо сделать мне это необходимо и никуда я от этого уже не убегу.

Довольно легко, но придется работать с версией 2.5 - там уже можно скачивать/раздавать одному пользователю один торрент с нескольких компов. Но для анонимного лучше использовать xbtt версию (1.0)
Цитата:

Сообщение от epozdnjakov (Сообщение 2188)
- Как вы относитесь к идее использования на хостинге cgi-анонсера, написанного на C? По-моему, опустит расход ресурсов на порядок. И да, вменяемый бинарный трекер поставить у меня нет возможности, так как все ресурсы и так умещаются на виртуальном хостинге (маленькая релиз-группа, расчет на двести торрентов по десятку пиров на каждый максимум).

В данный момент в версиях 2.0-2.5 нет поддержки xbtt, т.к. для реализации нужного мне функционала надо было переписывать код бинарника, а в с++ я не настолько силен чтобы написать вменяемый код.

Но все равно xbtt не самый оптимальный вариант (станет самым оптимальным если из него вообще выкинуть обращение к базе). Если надо могу более подробно расписать в чем проблема с xbtt (я не говорю что xbtt плох - просто он заточен именно под полностью открытые трекеры)

epozdnjakov 01.04.2010 00:00

Цитата:

Сообщение от Skald (Сообщение 2189)
Но для анонимного лучше использовать xbtt версию (1.0)

Ну, мне все-таки нужно и анонимный и по регистрациию - у меня один из лидеров форума хочет заняться раздачей доступа в закрытые разделы по рейтингам раздачи. Как я понял, с этим в новых версиях стало лучше. Так что, наверное, все-таки 2.5, хоть он вроде как и не поддерживается.

Цитата:

Сообщение от Skald (Сообщение 2189)
В данный момент в версиях 2.0-2.5 нет поддержки xbtt, т.к. для реализации нужного мне функционала надо было переписывать код бинарника, а в с++ я не настолько силен чтобы написать вменяемый код.

Да я не про то, я именно про переписывание существующего php-анонсера один в один на C и подключения его к веб-серверу. В результате получится просто бинарный скрипт со смешным потреблением памяти :) Вы ведь вроде оптимизировали анонсер, скажите, насколько оправдана борьба именно с накладными расходами самого php?

Skald 01.04.2010 12:40

Цитата:

Сообщение от epozdnjakov (Сообщение 2190)
Да я не про то, я именно про переписывание существующего php-анонсера один в один на C и подключения его к веб-серверу. В результате получится просто бинарный скрипт со смешным потреблением памяти :) Вы ведь вроде оптимизировали анонсер, скажите, насколько оправдана борьба именно с накладными расходами самого php?

Основная проблема почти всех php- аннонсеров это не пхп как таковой (скомпилированный пхп сам по себе довольно быстрый получается), а сама релизация скрипта, а именно, не возможность нормального сохранения данных между сессиями - общее глобальное пространство переменных и как следствие постоянное насилование базы (ну не любит мускуль постоянные апдейт/селекты одной и той же таблицы), так же никто не учитывает тот факт, что для проверки доступности порта используется стандартная функция, которая отрабатывает долго если порт закрыт (таймаут соединения), минимум 1 сек, что для аннонсера не допустимо, учитывая что аннонсов может быть более 100 в сек. Основная фишка xbtt, не то что он написан на с++, а то что он все данные хранит в памяти и в заданное время синхронизирует с базой, но так же я могу привести кучу примеров когда данная схема будет прикладывать сервера.
Так же хочу уточнить что все текущие разговоры имеют смысл только для очень крупных трекеров - количество раздач более 20К пользователей более 100К, и самое смешное что количество пиров уже не становится таким принципиальным, т.к. каждый аннонс отрабатывает очень быстро и основные проседания в производительности происходят именно при пакетном обновлении базы торрентов и пользователей.
В данный момент аннонсер 2.5 версии самый быстрый из всех существующих в публичном доступе PHP-аннонсеров для стандартного конфига вебсервера PHP/MySQL (почти стандартного, т.к. все-таки нужен xcache, но его поставить довольно легко, да и для самого форума устанавливать его однозначно рекомендуется).
Совсем недавно проверял все аннонсеры (TBDev различные версии, стандартный торрентпир, не xbtt версию и др.) везде значительно больше 1-2 запросов на аннонс и 0-1 запросов на скрейп (как в версии 2.5 с установленным xcache).

epozdnjakov, Насчет производительности советую посмотреть в сторону PHPDaemon - переписать текущий аннонсер можно очень легко, но сразу автоматом можно избавиться от прокладок типа xcache-а. Но все равно будут пакетные обновления, описанные выше, которые будут прикладывать базу. Также в PHPDaemon-е есть свой аннонсер в качестве примера использующий MongoDB (кстати данная база значительно быстрее мускуля для конкретной задачи, но совсем не самая быстрая и стабильная из подобных вариантов), можно переписать его. 2.5 версия по максимуму отвязана от самого аннонсера насколько это возможно.

А чтобы делать реально быстрые аннонсеры надо просто использовать совсем другие технологии.

epozdnjakov, Если есть желание поучаствовать в развитии новой версии движка и если есть знания в битторрент технологии и др. p2p технологий, то просьба отписаться мне в личку или в аську.
Новая будет больше ориентирована на открытость/анонимность трекера, но чтобы что-то писать надо точно определиться с функционалом.

orfo 25.10.2010 03:40

Skald вопрос по поводу announce.php я так понимаю если сервер перегружен (В настройках форума указан лимит нагрузки) скрипт продолжит выполнение (в плане записи в базу и выдачи статистики)?
Если да, то разумно ограничить его работу (чтобы не нагружал сервер) как это сделано средствами форума?!

// Просто нашёл // start server too busy в gloabal.php и задумался...
p.s. извиняйте если вопрос слишком уж глупый.

Cyberdaemon 25.10.2010 22:05

Skald,
Цитата:

Новая будет больше ориентирована на открытость/анонимность трекера
Ты вот такую вещь видел - _http://www.redragon.cn/ru/ ? Я тут озадачился на эту тему.

BRP 25.10.2010 23:49

Cyberdaemon, зашел по ссыле... походу какойто китайский клиент... скачал, поставил... и непонял... устанавливается тупо медиа плеер... остальных описанных возможностей чет не нашел...

Cyberdaemon 26.10.2010 14:13

BRP, там на сайте сверху справа есть переключение на русский, хотя я вроде ссылку дал уже на русскую страницу. Клиент при установке тоже даёт себя на русский переключить. Штука интересная - возможности перечислены на странице загрузки клиента, смущает то, что клиент платный. А так - поставил лайт версию, тянет на ура, при подключении в 2 мегабита свободно смотрятся фильмы. Хотя тут интересно не столько просмотр, сколько протоколы. Плюс на сайте декларируется некоторая анонимность протоколов.


Текущее время: 06:25. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.4 Patch Level 6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot