Есть opentracker (http://erdgeist.org/arts/software/opentracker/), который используют Piratebay и xbt_tracker, который я упоминал ранее (он на C++). Если трекер публичный (неприватный), то от трекера может понадобиться только обновление статистики по раздачам, кол-во сидов, пиров и тд. Если приватный, то уже сложнее, я этим не заморачивался. Opentracker совсем аскетичный, его о статистике можно опрашивать scrape-запросами, xbt использует для хранения статистики mysql базу, в этом случае можно извернуться и брать данные из нее.
--
Konstantin Shababov
--
Konstantin Shababov
http://github.com/etehtsea
On Monday, July 4, 2011 at 2:29 AM, Vladimir wrote:
Константин, может посоветуете что-то из тех, что написаны на Си и
будет ли необходимость связать сервер с каталогом?
On Jul 3, 8:21 pm, Konstantin Shababov <m...@etehtsea.me> wrote:Я согласен, что при правильном применении, узким местом будет не трекер. Но все же тогда встает вопрос - какой смысл писать на руби трекер, когда есть готовые, надежные и к тому же на C?
--
Konstantin Shababovhttp://github.com/etehtsea
On Sunday, July 3, 2011 at 11:46 PM, Alexey Bondar wrote:On Jul 3, 2011, at 2:52 PM, Konstantin Shababov wrote:Лично наблюдал как около 10к пользователей укладывают популярный torrentpier в варианте с php-трекером на ура. Если пользователей будет пара десятков конечно и на ruby трекер можно пользовать.10к пользователей, это до 90к анонсов в час (3 раздачи и 3 анонса в час по каждой). Это 25rps flat или около 100-120rps в пике. Структура нагрузки тут простая как лом: таблица сидов / личей по хешу торрента (около 200 байт на запись) и таблица пользователей. На каждый анонс идёт одна операция записи и две операции чтения (можно сократить до одной, если сидов и личеров хранить в одном сете).Это всё очень хорошо оптимизируется. Например если есть задача учитывать трафик, то можно это делать на сразу, а сохранять только последние данные из анонса и раз в какое-то время запускать считалку, которая будет учитывать только трафик из последнего анонса. При больших нагрузках такую считалку можно вообще не запускать, а переносить ушедших с раздачи во временное хранилище, которое отрабатывать когда нагрузка спадёт.Вобщем-то я не понимаю где тут проблема конкретно с руби :) Разобрать бенкод это копеечная операция, записать и прочитать в редис/мемкеш пару килобайт тоже.Самое главное для треккера, я считаю, вне зависимости от того на каком языке он написан -- не делать жесткой связи между каталогом и треккером. В этом проблема почти всех пхп-треккеров.А гидру я не рекомендую. Она настолько отвратительно написана (а точнее переписана с пхп, не особо включая голову) и имеет очень много кривых мест.--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу:http://ru.wikibooks.org/wiki/RubyFAQДля того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com (mailto:ror2ru@googlegroups.com)
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com (mailto:ror2ru-unsubscribe@googlegroups.com)
Дополнительные варианты находятся на странице группыhttp://groups.google.com/group/ror2ru?hl=ru
--
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru
--
Данное сообщение отправлено Вам, так как Вы являетесь подписчиком группы "RubyOnRails to russian" на группах Google.
FAQ группы находится по адресу: http://ru.wikibooks.org/wiki/RubyFAQ
Для того, чтобы отправить сообщение в эту группу, пошлите его по адресу
ror2ru@googlegroups.com
Чтобы отменить подписку на эту группу, отправьте сообщение по адресу: ror2ru-unsubscribe@googlegroups.com
Дополнительные варианты находятся на странице группы http://groups.google.com/group/ror2ru?hl=ru
Комментариев нет:
Отправить комментарий