Вложений: 1
Из каких соображений эта функция вообще делается через кучу if'ов, а не ассоциативный массив и sprintf? Я может чего-то недопонимаю и она у вас из спецификации автоматически генерится?
upd: Таки выглядеть оно будет примерно так (Извините, код пока не причесан). |
epozdnjakov, А так исторически сложилось :)
Сначала эта функа была внутри аннонсера (по скорости и расходу памяти тупые if-ы все-таки быстрее), а потом практически без изменений перекочевала в фронтэнд - зачем переписывать то что и так работает. К тому же это отдельная функа - кому надо всегда перепишет для себя :) |
Да я тоже вижу, что заблуждаюсь ;) Не только в производительности, а тупо потому, что вернусь к тому же если захочу нормально отслеживать версии (Например, четвертый октет Уторрента используется только для указания типа релиза, например, B=бета, в остальных случаях ноль; Либторрент вроде использует Azureus-стиль, но почему-то версии там теперь в base64), sprintf превратится в sprintf(format, eval()) :)
Ну и ещё у меня тут пара тупых вопросов, на которую вы, может, ответите. - Насколько реально перепилить фронтэнд на возможность анонимного скачивания? То есть, можно, конечно, сделать пользователя Anonymous и подправить код выдачи торрента, чтобы выдавал его пасскей, но ведь нужно количество анонимных пиров адекватно учитывать (Анонимус ведь либо будет считаться одним, либо будет куча одного и того же анонимуса в статистике). Просто навскидку, ибо сделать мне это необходимо и никуда я от этого уже не убегу. - Как вы относитесь к идее использования на хостинге cgi-анонсера, написанного на C? По-моему, опустит расход ресурсов на порядок. И да, вменяемый бинарный трекер поставить у меня нет возможности, так как все ресурсы и так умещаются на виртуальном хостинге (маленькая релиз-группа, расчет на двести торрентов по десятку пиров на каждый максимум). |
Цитата:
Цитата:
Но все равно xbtt не самый оптимальный вариант (станет самым оптимальным если из него вообще выкинуть обращение к базе). Если надо могу более подробно расписать в чем проблема с xbtt (я не говорю что 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 технологий, то просьба отписаться мне в личку или в аську. Новая будет больше ориентирована на открытость/анонимность трекера, но чтобы что-то писать надо точно определиться с функционалом. |
Skald вопрос по поводу announce.php я так понимаю если сервер перегружен (В настройках форума указан лимит нагрузки) скрипт продолжит выполнение (в плане записи в базу и выдачи статистики)?
Если да, то разумно ограничить его работу (чтобы не нагружал сервер) как это сделано средствами форума?! // Просто нашёл // start server too busy в gloabal.php и задумался... p.s. извиняйте если вопрос слишком уж глупый. |
Skald,
Цитата:
|
Cyberdaemon, зашел по ссыле... походу какойто китайский клиент... скачал, поставил... и непонял... устанавливается тупо медиа плеер... остальных описанных возможностей чет не нашел...
|
BRP, там на сайте сверху справа есть переключение на русский, хотя я вроде ссылку дал уже на русскую страницу. Клиент при установке тоже даёт себя на русский переключить. Штука интересная - возможности перечислены на странице загрузки клиента, смущает то, что клиент платный. А так - поставил лайт версию, тянет на ура, при подключении в 2 мегабита свободно смотрятся фильмы. Хотя тут интересно не столько просмотр, сколько протоколы. Плюс на сайте декларируется некоторая анонимность протоколов.
|
Текущее время: 06:25. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.4 Patch Level 6
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot