Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Заметки о стабильности XBT
Re-Tracker | Система локальных ретрекеров | Ретрекер > РеТрекер > Обсуждение
Страницы: 1, 2
Gri.fon

Что это за ошибка и как с ней бороться?
Gri.fon
Че неушто ни у кого не было такой ошибки, раньше норм было, щас каждый день стала появляться sad.gif
Yodj
Цитата(Gri.fon @ 28.1.2009, 11:20) *
Че неушто ни у кого не было такой ошибки, раньше норм было, щас каждый день стала появляться sad.gif

Стала появляться после чего? Ставили что то, удаляли??
Gri.fon
в том то и дело что ничего не ставил связанного с трекером или mysql
Yodj
Цитата(Gri.fon @ 28.1.2009, 16:31) *
в том то и дело что ничего не ставил связанного с трекером или mysql

Попробуйте переустановить и то и другое. Только не уповайте на память, очень частая ошибка- это при установке думать что помнишь как все ставиться. smile.gif
Gri.fon
Переустановил, проработало пару часов и опять таже ошибка, раньше все норм было, щас какая та фигня начилась, на этом же mysql серве стоит база форума, он как пахал так и пашет без проблем, я все таки склоняюсь к тому что эта ошибка с ним связана тока вот от чего она возникает не могу понять
Shift
включи логи , и скринчег ошибки сюда
Gri.fon
Цитата(Shift @ 29.1.2009, 1:59) *
включи логи , и скринчег ошибки сюда

а как вкл логи? rolleyes.gif
Shift
Такс , добавь к своему конфигу
В файле xbt_tracker.conf

announce_interval = 4500
anonymous_connect = 1
anonymous_announce = 1
anonymous_scrape = 0
full_scrape = 0
auto_register = 1
log_access = 0
log_announce = 0
log_scrape = 0
redirect_url = http://re-tracker.ru
scrape_interval = 5000
table_announce_log = xbt_announce_log
table_files = xbt_files
table_files_users = xbt_files_users
table_scrape_log = xbt_scrape_log
table_users = xbt_users
write_db_interval = 100
read_config_interval = 500
read_db_interval = 100
gzip_scrape = 0
clean_up_interval = 200
Yodj
Цитата(Shift @ 29.1.2009, 13:39) *
Такс , добавь к своему конфигу
В файле xbt_tracker.conf

announce_interval = 4500
anonymous_connect = 1
anonymous_announce = 1
anonymous_scrape = 0
full_scrape = 0
auto_register = 1
log_access = 0
log_announce = 0
log_scrape = 0
redirect_url = http://re-tracker.ru
scrape_interval = 5000
table_announce_log = xbt_announce_log
table_files = xbt_files
table_files_users = xbt_files_users
table_scrape_log = xbt_scrape_log
table_users = xbt_users
write_db_interval = 100
read_config_interval = 500
read_db_interval = 100
gzip_scrape = 0
clean_up_interval = 200

А это извиняюсь, что? Это позволяет делать что? Это надо для статистики? Расскажииитеееее пжалустаааааа!!!
Shift
Это конфиг который держит 20 000+ пиров ......
Yodj
Цитата(Shift @ 29.1.2009, 16:37) *
Это конфиг который держит 20 000+ пиров ......

А мне, как чайни....., т.е. как держателю локального ретрекера надо прописывать этот конфиг??? Или обойдется и так?
Shift
Если не падает можно не прописывать smile.gif этот конфиг - щидящий режим для MySQL
Если проблем нет лучше не трогать smile.gif
Yodj
Цитата(Shift @ 29.1.2009, 17:25) *
Если не падает можно не прописывать smile.gif этот конфиг - щидящий режим для MySQL
Если проблем нет лучше не трогать smile.gif

Ок, понял!
provokatorx3
хм, ну незнаю за несколько месяцев ни разу не падал, вот сейчас уже 6ой день аптайм...
Shift
у меня при кол-во пиров меньше 15 к он держался месяц после превышения отметки 23 начал падать по непонятным причинам
Gri.fon
А можно как нибуть связаться с разрабом этого XBT, мб он знает в чем трабла у меня?
Shift
на сурс фордже если только контакты смотреть ...
Gri.fon
А может быть этот баг из за версии sql серва? у меня стоит чуть постарее чем тот что лежит в архиве с ретрекером
MASMAS
Цитата(Gri.fon @ 10.2.2009, 3:17) *
А может быть этот баг из за версии sql серва? у меня стоит чуть постарее чем тот что лежит в архиве с ретрекером


у меня точно такая же проблема, появилась как только число пиров перевалила за 5 тысяч. В чем проблема - так и не выяснил, появляется в случайный момент времени - может до сбоя и сутки проработать, а бывает и через 5 мин после запуска падает


Просто в планировщике задач каждый час запускаю батник с содержимым

net stop "XBT Tracker"
net start "XBT Tracker"
alex14n
Могу рассказать про стабильность XBT. Живёт на одном трекере уже 2 года.
Сейчас обслуживает 120-180 тысяч пиров при 5-минутном анонсе, т.е. 400-600 запросов в секунду.
Пробовали ставить 1-минутный анонс - 1800-2000 запросов в секунду, Load Average почти поднялся до 1.
Вот целая статья про него: http://habrahabr.ru/blogs/server_side_optimization/53360/

Для ретрекера на самом деле ему вообще не нужен MySQL.
Ставится анонимный режим, без логирования, с авто-регистрацией, и всё.
В таком режиме он и десятки тысяч запросов в секунду обслужит, только скорее интернет-канал умрёт чем сам XBT.
MASMAS
под винду хбт штука жутко лагучая, падает даже при небольшой нагрузке, выдавая select failed - enobufs


на линухе постабильнее, но тоже падает

например этот http://p2p.corbina.net:2710/sta трекер падает примерно раз в 1-2 суток (по счастью сам автоматически перезапускается), макс. поток запросов 250 штук в секунду
JDVU
на линухе не падает, это всё руки. смотрите настройки мускля и тыды
Gri.fon
Цитата(alex14n @ 10.3.2009, 13:13) *
Ставится анонимный режим, без логирования, с авто-регистрацией, и всё.
В таком режиме он и десятки тысяч запросов в секунду обслужит, только скорее интернет-канал умрёт чем сам XBT.


А вот про это можно поподробней, как именно это сделать и какими командами, трекер стоит на винде
RoadTrain
xbt_tracker.conf
http://xbtt.sourceforge.net/tracker/
поковыряйте параметры.
FreeM@N
Цитата(MASMAS @ 10.3.2009, 18:49) *
под винду хбт штука жутко лагучая, падает даже при небольшой нагрузке, выдавая select failed - enobufs


на линухе постабильнее, но тоже падает

например этот http://p2p.corbina.net:2710/sta трекер падает примерно раз в 1-2 суток (по счастью сам автоматически перезапускается), макс. поток запросов 250 штук в секунду


ИМХО тоже всё в настройки упирается...
alex14n
Цитата(MASMAS @ 10.3.2009, 17:49) *
под винду хбт штука жутко лагучая, падает даже при небольшой нагрузке, выдавая select failed - enobufs

м... даж не знаю, в *никсах это зависит от максимально допустимого числа открытых файлов - его можно вручную поднимать, а чего в винде...

ещё вроде в винде есть некий IOCP, который планируют поддержать в Libevent:
https://blog.torproject.org/blog/some-notes...cp-and-libevent


Цитата(MASMAS @ 10.3.2009, 17:49) *
на линухе постабильнее, но тоже падает

это исключительно вопрос настройки. видел XBT с миллионом пиров с аптаймом в несколько месяцев

а opentracker в качестве ретрекера никто не пробовал кстати?
http://erdgeist.org/arts/software/opentracker/

Цитата(Gri.fon @ 10.3.2009, 20:42) *
А вот про это можно поподробней, как именно это сделать и какими командами, трекер стоит на винде

надо смотреть всю ли работу с базой можно отключить из конфигов,
если нет - в server.cpp можно закомментировать всё что не надо
(в write_db_users и write_db_files + заполнение буферов,
впрочем и read_db_users и read_db_files_sql не нужны).
отключать scrape кстати смысла нет - он вообще ресурсы не ест, нагрузку не создаёт
SaveTheRbtz
Цитата(MASMAS @ 10.3.2009, 17:49) *
под винду хбт штука жутко лагучая, падает даже при небольшой нагрузке, выдавая select failed - enobufs


на линухе постабильнее, но тоже падает

например этот http://p2p.corbina.net:2710/sta трекер падает примерно раз в 1-2 суток (по счастью сам автоматически перезапускается), макс. поток запросов 250 штук в секунду

Вот тут обсуждалось:
https://sourceforge.net/forum/forum.php?thr...forum_id=328824 - лимит на количество дескрипторов у select()
https://sourceforge.net/forum/forum.php?thr...forum_id=328824 - маленький backlog у listen()

Тюним ОС(Фря i386)
loader.conf
Код
kern.maxdsiz="2147483648"
kern.ipc.nmbclusters=65536
kern.ipc.maxsockets=204800
net.inet.tcp.syncache.hashsize=1024
net.inet.tcp.syncache.bucketlimit=100
net.inet.tcp.tcbhashsize=4096


sysctl.conf
Код
kern.ipc.somaxconn=4096
kern.maxfiles=204800
kern.maxfilesperproc=200000
kern.maxvnodes=200000
kern.ipc.nmbclusters=65536
net.inet.tcp.recvspace=8192
net.inet.tcp.sendspace=16384
net.inet.ip.portrange.first=1024
net.inet.ip.portrange.last=65535
net.inet.udp.blackhole=1
net.inet.tcp.blackhole=2
net.inet.tcp.msl=3000
net.inet.tcp.maxtcptw=40960
net.inet.tcp.nolocaltimewait=100


В основном изменения направлены на увеличение лимита открытых файлов (как в общем, так и для одного процесса), увеличение кол-ва сетевых буферов и уменьшения их размеров.



Нагрузка небольшая, но трекер сам по себе не падает, перезапускаем только при в несении изменений в код
alex14n
в мускуле обязательно надо поднять размер буфера... max_allowed_packet если ничего не путаю
alex14n
Глянул исходник. В конфиге надо указать mysql_host=- (минус) тогда XBT вообще к мускулу лезть не будет
Shift
а смысл ? все держать в оперативке ? MySQL как то надежней
alex14n
Цитата(Shift @ 11.3.2009, 14:08) *
а смысл ? все держать в оперативке ? MySQL как то надежней

что "всё"? список пиров XBT всегда держит только в оперативке. учитывать трафик юзеров - не дело ретрекера.
Shift
вообщето он много чего пишет посмотри структуру БД его , я не думаю что он сможет без нее он куда то пишет хэш , IP сколько скачано , отдано ...
RoadTrain
мускул для ретрекера не нужен в принципе. Все необходимые данные xbt хранит в памяти.
alex14n
Цитата(MASMAS @ 10.3.2009, 17:49) *
под винду хбт штука жутко лагучая, падает даже при небольшой нагрузке, выдавая select failed - enobufs

м... есть вариант пересобрать его с #define FD_SETSIZE 4096 как советуют http://itamarst.org/writings/win32sockets.html

Цитата(Shift @ 11.3.2009, 15:51) *
вообщето он много чего пишет посмотри структуру БД его , я не думаю что он сможет без нее он куда то пишет хэш , IP сколько скачано , отдано ...

я отлично понимаю и структуру базы и исходники XBT, благо портировал его под TorrentPier, добавлял кучу фишек от "золотых раздач" до IPv6.

всё что он пишет - исключительно для использования веб-мордой, писаной отдельно, например на php. сам он все свои данные держит в памяти, и никогда не обращается за ними в мускул. для закрытых трекеров ему нужны списки торрентов и юзеров, для полностью открытого - нет. если то, что он пишет, никто не использует вовне - для отчетов и прочего - мускул можно полностью отключить. стабильность от этого только возрастёт.
SaveTheRbtz
некоторые детали архитектуры XBTT разъяснены тут http://habrahabr.ru/blogs/server_side_optimization/53360/
MASMAS
выложите здесь содержимое конфиг файла

mysql_host=- добавил, все равно падает
SaveTheRbtz
http://sourceforge.net/forum/forum.php?thr...forum_id=328824
Тут обсуждалась проблема малого кол-ва дескрипторов у select() правда в контексте поддержки kqueue FSM'ом.
Проблема решается переводом трекера на BSD/Linux или же пересобором приложения с
Код
#define FD_SETSIZE 1024

или больше... в XBT вроде в последнихбилдах стоит 1024..... по крайней мере в наших.....
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2017 IPS, Inc.