VBTT - Мод торрент трекера для vBulletin. Скачать движок трекера бесплатно (не tbdev и не torrentpier). Разработка vBulletin Torrent Tracker  
Вернуться   VBTT - Мод торрент трекера для vBulletin. Скачать движок трекера бесплатно (не tbdev и не torrentpier). Разработка vBulletin Torrent Tracker > Разработка движка трекера VBTT > Разработка VBTT
VBTT.ORG > Разработка движка трекера VBTT > Разработка VBTT > Дальнейшее развитие движка трекера VBTT.
Важная информация

Ответ
 
Опции темы Опции просмотра
Старый 17.05.2009, 23:39   #1
Аватар для Skald
Skald Skald вне форума
Администратор
Дальнейшее развитие движка трекера VBTT.

В связи с тем что наконец начали появляться другие программисты, которые решили поучаствовать в проекте, стала проблема координации разработки и постановки правильных ТЗ.
Как результат добавил несколько разделов исключительно для разработчиков.

В следующие несколько постов постараюсь изложить свои мысли насчет дальнейшего развития проекта.
Ответить с цитированием
Старый 18.05.2009, 00:45   #2
Аватар для Skald
Skald Skald вне форума
Администратор
Сначала надо определиться что хотелось бы получить от трекера?
Как мне кажется, это:
  1. Производительность.
  2. Функциональность.
  3. Универсальность.
  4. Расширяемость.
Производительность:
Самое ресурсоемкое место любого трекера на базе PHP - это аннонсер(скрейп), и иногда некоторые части фронтэнда. С фронтэндом у vBulletin нет никаких проблем - наверное один из самых оттюненных для производительности движков форумов на PHP, но вот с аннонсером при достижении некоторого количества пиров - 100% будут проблемы. В зависимости от конфигурации сервера - число может довольно сильно колебаться, но есть данные что на выделенном сервере 100К пиров 400 пользователей онлайн нагрузка юникс сервера около единицы. А к примеру VDS с 20К пиров при тех же 400 онлайн - юникс нагрузка уже около 4.
Основная проблема проблема PHP аннонсеров - это PHP :) А именно - первая проблема - PHP все-таки не самый быстрый скриптовый язык, а обрабатывать надо от десятка до нескольких сотен запросов в сек (аннонс + скрейп). Вторая не возможность нормально хранить данные между запросами, как следствие постоянное дерганье базы MySQL.
Решением проблемы производительности может стать любой другой аннонсер, например бинарник xbtt, написанный на с++. Но у этого анносера есть несколько недостатков, это:
функциональность - базовый функционал очень мал, и программа ничего не знает о vb,
совместимость и универсальность - т.к. это бинарник - пойдет не на всех хостингах, программу нужно компилировать и она требует довольно много библиотек и иногда есть проблемы в момент сборки - как результат невозможность сборки.

Добавлено через 13 секунд
Функциональность:
Я могу реализовать практически любой функционал трекера на PHP, LUA вот с другими языками посложнее будет. Как следствие правильно модифицировать исходник бинарника и добавить нужный функционал я не могу. В версии 1.0 я отталкивался от последней версии бинарника оригинального VBTT, но т.к. я не мог изменить код - это сильно тормозило разработку и постоянно приходилось придумывать костыли на PHP для замены того функционала, что по идее должен был делать бинарник. Со временем это сильно усложнило код и мне пришлось полностью отказаться от поддержки бинарника. Есть еще проблемы с бинарником, но это уже для отдельного раздела и для тех кто захочет его модернизировать (надеюсь что такие будут :))

Добавлено через 13 минут
Универсальность:
Достичь универсальности можно только используя несколько модификаций движка (минимум версий аннонсеров). Потому что, как я написал выше, использовав PHP аннонсер - все будет работать на любом хостинге, но тогда возникнут проблемы с производительностью, при большом количестве пиров, а использовав бинарник или другой аннонсер демоном, получаем производительность, но совсем не универсальность :)
Поддерживать параллельно несколько различных версий - это просто нереально, но вот определиться с некоторыми местами кода где и какие отличия будут в различных версиях - без проблем (о технической реализации - позже). Только таким способом можно достичь относительной универсальности продукта. Все равно будет или одно или другое, но у пользователя будет выбор (или быстро, но проблемы с совместимостью, или заработает везде, но максимальная нагрузка ограничена)

Добавлено через 9 минут
Расширяемость:
Проблем с расширяемостью у vB практически нет. Существует мощная система хуков для интеграции стороннего кода.
Подобные хуки я добавлю в VBTT. Это нужно чтобы не захламлять код редко используемыми фичами и экзотическими функциями.
Поэтому каждый желающий при желании сможет дописать свой функционал и не надо ничего будет править в коде чтобы заработал какой-либо дополнительный мод. И не должно быть потом проблем при обновлении, т.к. хуки скорее всего будут только добавляться, а удаляться только в крайнем случае - при переписывании большой части кода
Ответить с цитированием
Старый 18.05.2009, 00:46   #3
Аватар для BRP
BRP BRP вне форума
Member
На основании вышеизложенного хотелось бы задать вопрос, чем отличается двиг торрентпира от данного, ведь по заявлениям тот двиг держит ~400К пиров, может стоит посмотреть наработки из него...
(то что тот двиг трекера открытый, а данный частный это понятно, но это разве настолько может влиять на производительность?)

PS. Если не в тему - прошу удалить или перенести в другое место...
Ответить с цитированием
Старый 18.05.2009, 00:54   #4
Аватар для LInfo
LInfo LInfo вне форума
Junior Member
Цитата:
Сообщение от BRP Посмотреть сообщение
На основании вышеизложенного хотелось бы задать вопрос, чем отличается двиг торрентпира от данного, ведь по заявлениям тот двиг держит ~400К пиров, может стоит посмотреть наработки из него...
(то что тот двиг трекера открытый, а данный частный это понятно, но это разве настолько может влиять на производительность?)

PS. Если не в тему - прошу удалить или перенести в другое место...
дело в том, что тот двиг использует xbt-версию

и тут как раз ставится вопрос: главное производительность или универсальность (плюс еще функциональность и расширяемость, последние за счет "движка" форума)
Ответить с цитированием
Старый 18.05.2009, 00:54   #5
Аватар для Skald
Skald Skald вне форума
Администратор
BRP, Я не знаю сколько может держать мой текущий двиг на данный момент, последние данные для выделенного сервака 100К пиров при очень небольшой нагрузке на сервер. Надеюсь понимаете что VDS - это не полноценный выделенный сервер, и я например не слышал чтобы на VDS-ах были форумные трекеры с количеством пиров более 10К.
Я видел исходники торрентпира. Там говорят о кешировании как о каком-то достижении, что очень печально, т.к. я считаю что кеширование должно быть по умолчанию.
Ответить с цитированием
Старый 18.05.2009, 01:01   #6
Аватар для Skald
Skald Skald вне форума
Администратор
Цитата:
Сообщение от BRP Посмотреть сообщение
PS. Если не в тему - прошу удалить или перенести в другое место...
Писать можно и нужно, т.к. сейчас главное определить основные направления развития. Тему потом можно почистить.

Добавлено через 2 минуты
Цитата:
Сообщение от BRP Посмотреть сообщение
может они изначально за счет этого облегчали нагрузку?
Наверное. Т.к. без скрейпа нагрузка точно меньше будет. Если по соотношению запросов - скрейп:аннонс - идут где-то 2:1.
Хотя аннонс запросов в БД делает значительно больше

Добавлено через 1 минуту
Цитата:
Сообщение от LInfo Посмотреть сообщение
и тут как раз ставится вопрос: главное производительность или универсальность
А хочется и то и другое, не одновременно, а чтобы выбор был :)))
Ответить с цитированием
Старый 18.05.2009, 00:49   #7
Аватар для Skald
Skald Skald вне форума
Администратор
Технические аспекты интеграции аннонсеров с фронтэндом пока здесь (тема еще в редактировании)
Ответить с цитированием
Старый 18.05.2009, 00:56   #8
Аватар для BRP
BRP BRP вне форума
Member
еще обратил внимание что на двиге торрентпира по умолчанию скрейп не пашет, может они изначально за счет этого облегчали нагрузку?
Ответить с цитированием
Старый 21.05.2009, 01:07   #9
Аватар для Skald
Skald Skald вне форума
Администратор
Создал опрос - добавлять или нет ситему бонусов в VBTT и если да, то какую
Ответить с цитированием
Старый 13.09.2009, 14:50   #10
Аватар для Skald
Skald Skald вне форума
Администратор
В связи с тем что довольно скоро новая версия и что аннонсер будет переписан почти с нуля, решил опять вернутся к системе бонусов.
После долгих размышлений пришел к выводу что система бонусов (вернее хранение бонусов в базе) будет реализована так:
У пользователя есть засчитанная стата по аплоуду/даунлоуду из которого считается ратио и есть реальная стата по трафу (без учета золотых, серебрянных, випгруппы и т.д.).
Т.е. например:
▲18.87 ГБ / 6.42 ГБ▼
Ратио: 2.94
А реальная стата: будет например
▲10.00 ГБ / 23.42 ГБ▼
Тогда из этих данных (конечно по требованию - редко кому это нужно постоянно), можно из таблицы пиров поднять детальную инфу и получить, что-то типа такого:
▲18.87 ГБ (10.00 ГБ + 1.00 ГБ бонус на своих +2.87 ГБ бонус на чужих + 5 ГБ другие бонусы) / 6.42 ГБ (23.42 ГБ всего - 17.00 ГБ золотых раздач)
Ответить с цитированием
Ответ

Опции темы
Опции просмотра
Комбинированный вид Комбинированный вид

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход