XBT: баги или фичи?, Я дурак или сани не едут |
Здравствуйте, гость ( Вход | Регистрация )
XBT: баги или фичи?, Я дурак или сани не едут |
6.10.2009, 17:16
Сообщение
#1
|
|
Новичок Группа: Пользователи Сообщений: 8 Регистрация: 16.1.2009 Пользователь №: 259 |
CODE # uname -a FreeBSD kaari-tst 7.0-RELEASE-p3 FreeBSD 7.0-RELEASE-p3 #0: Mon Jul 28 14:42:17 MSD 2008 GENERIC i386 работает: /usr/local/sbin/xbt_tracker --conf_file /usr/local/etc/xbt_tracker.conf -p /var/run/xbt_tracker.pid исходники сегодня качал из репозитория trunk ветвь Все гуд, но возникло неско вопросов: 1) чистка таблиц тут как-то предусмотрена, или надо прикручивать костыль? CODE mysql> select fid,leechers,seeders,completed,flags,from_unixtime(mtime),from_unixtime(ctime) from xbt_files; +-----+----------+---------+-----------+-------+----------------------+----------------------+ | fid | leechers | seeders | completed | flags | from_unixtime(mtime) | from_unixtime(ctime) | +-----+----------+---------+-----------+-------+----------------------+----------------------+ | 1 | 1 | 0 | 0 | 0 | 2009-10-06 17:34:51 | 2009-10-06 16:23:41 | | 2 | 0 | 0 | 0 | 0 | 2009-10-06 17:59:17 | 2009-10-06 16:23:41 | | 3 | 0 | 1 | 0 | 0 | 2009-10-06 17:21:17 | 2009-10-06 16:23:56 | +-----+----------+---------+-----------+-------+----------------------+----------------------+ для раздачи ID=2 я посылал stop, но ее хеш остался в БД. Для прозрачного публичного трекера это ИМХО недопустимо 2) раздача ID=3 (см таблицу выше) не посылал stop, а просто прекратил посылать аннонсы(эмуляция потери сети клиента, или аварийный выход) Уже как 40+ минут у этой раздачи, где я был единственным пиром, висит в статистике сид 3) как я понял, список пиров в памяти висит, а не в БД? CODE mysql> show tables; +---------------------+ | Tables_in_xbt | +---------------------+ | xbt_announce_log | | xbt_config | | xbt_deny_from_hosts | | xbt_files | | xbt_files_users | | xbt_scrape_log | | xbt_users | +---------------------+ 7 rows in set (0.00 sec) mysql> show table status where rows>0; +------------+.... | Name |... |+------------+... | xbt_config |... | xbt_files |... +------------+... 2 rows in set (0.00 sec) 4) понимаю как следствие пункта 3: рестарт xbt влечет к потере информации о пирах конфиг прилагаю CODE # cat /usr/local/etc/xbt_tracker.conf mysql_host = localhost mysql_user = xbt mysql_password = secret mysql_database = xbt pid_file = /var/run/xbt_tracker.pid announce_interval = 1800 anonymous_connect = 1 anonymous_announce = 1 anonymous_scrape = 1 auto_register = 1 clean_up_interval = 300 daemon = 1 debug = 1 full_scrape = 0 gzip_debug = 0 gzip_scrape = 0 listen_ipa = 192.168.27.242 listen_port = 80 log_access = 0 log_announce = 0 log_scrape = 0 read_config_interval = 60 read_db_interval = 60 redirect_url = http://www.url.ru scrape_interval = 0 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 = 10 Может я что не так делаю? ну не хочется переезжать обратно на php скрипты |
|
|
6.10.2009, 17:19
Сообщение
#2
|
|
Новичок Группа: Пользователи Сообщений: 8 Регистрация: 16.1.2009 Пользователь №: 259 |
upd:
пока писал пост, пир вычистился(см выше пункт 2) Код mysql> select fid,leechers,seeders,completed,flags,from_unixtime(mtime),from_unixtime(ctime) from xbt_files; +-----+----------+---------+-----------+-------+----------------------+----------------------+ | fid | leechers | seeders | completed | flags | from_unixtime(mtime) | from_unixtime(ctime) | +-----+----------+---------+-----------+-------+----------------------+----------------------+ | 1 | 1 | 0 | 0 | 0 | 2009-10-06 18:05:00 | 2009-10-06 16:23:41 | | 2 | 0 | 0 | 0 | 0 | 2009-10-06 17:59:17 | 2009-10-06 16:23:41 | | 3 | 0 | 0 | 0 | 0 | 2009-10-06 18:09:49 | 2009-10-06 16:23:56 | +-----+----------+---------+-----------+-------+----------------------+----------------------+ 3 rows in set (0.00 sec) гуд но другие вопросы остались |
|
|
6.10.2009, 17:45
Сообщение
#3
|
|
Активный участник Группа: Главные Админы Сообщений: 661 Регистрация: 15.12.2008 Из: Москва Пользователь №: 15 |
1) чистка таблиц тут как-то предусмотрена, или надо прикручивать костыль? Код clean_up_interval = 300 Ни о чём не говорит? для раздачи ID=2 я посылал stop, но ее хеш остался в БД. Для прозрачного публичного трекера это ИМХО недопустимо 2) раздача ID=3 (см таблицу выше) не посылал stop, а просто прекратил посылать аннонсы(эмуляция потери сети клиента, или аварийный выход) Уже как 40+ минут у этой раздачи, где я был единственным пиром, висит в статистике сид Спросите у разработчика, может это тоже как-то настраивается. 3) как я понял, список пиров в памяти висит, а не в БД? 4) понимаю как следствие пункта 3: рестарт xbt влечет к потере информации о пирах Правильно понимаете, за счёт памяти и достигается такое быстродействие. Может я что не так делаю? ну не хочется переезжать обратно на php скрипты Не переезжайте, XBTT лучший P.S.: Уменьшите ваши сообщения по ширине! -------------------- |
|
|
6.10.2009, 18:33
Сообщение
#4
|
|
Новичок Группа: Пользователи Сообщений: 8 Регистрация: 16.1.2009 Пользователь №: 259 |
Код clean_up_interval = 300 Ни о чём не говорит? говорит но про 40 минут я не зря писал. Хотя, если это не секунды, то это уже не 5 минут. И, если есть у кого, подробная расшифровка конфига(например, что подразумевается под clean_up_db, как поведет себя xbtt при mysql_host = - итд итп), поделитесь, если не сложно. Ну уж очень не хочется(скорее некогда) сорцы читать. Спросите у разработчика, может это тоже как-то настраивается. Ну, судя по багтрекеру, спрашивать смысла нет. придется по крону что-то типа delete from table where leechers =0 and seeders=0; или, действительно полистать сорцы, и отключить базу за ненадобностью, если позволяет это функционал Правильно понимаете, за счёт памяти и достигается такое быстродействие. вопрос в оптимальности хранения данных, отсутствии ненужных "ошметков" данных, и утечек памяти. видел на этом форуме разговоры про то, что xbtt падает периодически. |
|
|
6.10.2009, 18:49
Сообщение
#5
|
|
Новичок Группа: Пользователи Сообщений: 8 Регистрация: 16.1.2009 Пользователь №: 259 |
а если mysql_host=-
то неприятная вещи выскакиевает: Код Process 18747 attached - interrupt to quit gettimeofday({...}, NULL) = 0 select(6, [?], [?], [?], {...}) = 1 () gettimeofday({...}, NULL) = 0 accept(4, {...}, 0xbfbfdcc8) = 6 ioctl(6, FIONBIO, 0xbfbfdc74) = 0 recvfrom(6, "GET /st HTTP/1.1\r\nHost: 192.168."..., 4096, MSG_NOSIGNAL, NULL, NULL) = 425 sendmsg(6, {msg_name(168636980)={...}, msg_iov(1701265709)=0xbfbfdb68, msg_controllen=1769631565, msg_control=0x203a746e, , msg_flags=MSG_DONTROUTE|MSG_CTRUNC|MSG_EOR|MSG_WAITALL|0x2f616c00}, MSG_NOSIGNAL) = 1290 close(6) = 0 accept(4, 0xbfbfdca8, 0xbfbfdcc8) = -1 EAGAIN (Resource temporarily unavailable) select(6, [?], [?], [?], {...}) = 0 (Timeout) gettimeofday({...}, NULL) = 0 select(6, [?], [?], [?], {...}) = 0 (Timeout) gettimeofday({...}, NULL) = 0 poll(0xbfbfda94, 1, 0) = 0 write(3, "4\0\0\0\3select `uid`, torrent_pass_"..., 56) = 56 read(3, "\1\0\0\1\0021\0\0\2\3def\3xbt\txbt_users\txbt_"..., 16384) = 163 select(6, [0 2 4 5], [], [3 4 5], {1853321060, 1684107116}) = 0 (Timeout) gettimeofday({1057776741, 5120}, NULL) = 0 select(6, [], [0 2 4 5], [0 1 2 5], {0, 0}) = 0 (Timeout) gettimeofday({0, 0}, NULL) = 0 select(6, [], [], [], {0, 0}) = 0 (Timeout) gettimeofday({0, 0}, NULL) = 0 select(6, [], [], [], {0, 0}) = 1 () то есть, как я понял, к мускулю xbtt продолжает пытаться биться. или по крайней мере, складировать куда-то запросы, для последующего выполнения |
|
|
6.10.2009, 19:20
Сообщение
#6
|
|
Активный участник Группа: Главные Админы Сообщений: 661 Регистрация: 15.12.2008 Из: Москва Пользователь №: 15 |
вопрос в оптимальности хранения данных, отсутствии ненужных "ошметков" данных, и утечек памяти. Это уже на паранойю похоже...XBTT отличный трекер. Гораздо лучше любых PHP-шных реализаций. Ставьте и пользуйте. У вас сколько торентов? Миллион хоть есть? видел на этом форуме разговоры про то, что xbtt падает периодически. Падает оно если установлено на Windows. Не слышал чтобы падало на *nix системах. -------------------- |
|
|
7.10.2009, 10:27
Сообщение
#7
|
|
Новичок Группа: Пользователи Сообщений: 8 Регистрация: 16.1.2009 Пользователь №: 259 |
ну, как поставлю, на продакшн посмотрю сколько торрентов будет в таблице(хотя крон-чистку все равно буду делать)
обычно в онлайне около 40-50к пиров, аннонсов 100-150 в сек Аа, ну если под никсами падений не было зарегистрировано, то гуд |
|
|
7.10.2009, 14:25
Сообщение
#8
|
|
Активный участник Группа: Главные Админы Сообщений: 661 Регистрация: 15.12.2008 Из: Москва Пользователь №: 15 |
40-50к пиров это как семки грызть для XBTT, у меня такое работало на стареньком целероне с 512 метрами оперативы под завязку забитыми всяческими сервисами (нужными).
-------------------- |
|
|
9.10.2009, 11:04
Сообщение
#9
|
|
Активный участник Группа: Главные Админы Сообщений: 661 Регистрация: 15.12.2008 Из: Москва Пользователь №: 15 |
не посылал stop, а просто прекратил посылать аннонсы(эмуляция потери сети клиента, или аварийный выход) Уже как 40+ минут у этой раздачи, где я был единственным пиром, висит в статистике сид Кстате заметил такое же поведение на т.ру - отвалился инет, а раздачи так и висят, хотя уже 2 часа прошло, может просто так и задумано? и таймаут при обрыве гораздо больше времени анонса... -------------------- |
|
|
9.10.2009, 11:16
Сообщение
#10
|
|
Новичок Группа: Пользователи Сообщений: 8 Регистрация: 16.1.2009 Пользователь №: 259 |
Кстате заметил такое же поведение на т.ру - отвалился инет, а раздачи так и висят, хотя уже 2 часа прошло, может просто так и задумано? и таймаут при обрыве гораздо больше времени анонса... тут сложно судить - может кешируется выводимая информация по раздачам со стороны тру |
|
|
Текстовая версия | Сейчас: 1.11.2024, 2:37 |