crower: (Default)
[personal profile] crower
Вышел magnetico версии v0.5.0.
Наконец-то перестал регулярно падать с "Bad file descriptor".
Проблема, как и подозревал, была в попытке использования "протухших" соединения.
После этого кустарный мониторинг стал показывать, что количество открытых сокетов может увеличиваться и выше 500, чего раньше никогда не видел. Видел даже за тысячу. И не падал!
Зато стало попадаться предупреждение о какой-то недопустимой операции.
Не знаю, что меня сподвигло заглянуть в dmesg.
Увидел большое количество "nf_conntrack: table full, dropping packet" и траблшатинг пошёл по накатаной колее :)
Увеличил net.netfilter.nf_conntrack_max и net.nf_conntrack_max — сообщения в dmesg прекратили появляться и магнетико перестал жаловаться на недопустимую операцию.
Заодно обнаружил, что у краулера появились новые опции.
Включил дебаговую отладку и она мне понравилась.
Надо, наверно, сливать её в лог-файл, чтобы от не какой-нибудь прок был.
Не забыть бы только, :) а то с интенсивностью харвинга несколько десятков тысяч торрентов в сутки, размер лога может быстро выйти из под контроля. ;)
Ах, нет! ~ Xe4 торрентов в сутки это он собирал в предыдущие 6 дней (от 5 до 10), а вчера получилось около 130.
Параллельная мысль: вот только статистика слишком долго считается. Не сделать ли снапшот, как я для DPL недавно делал :)
И это при том, что сапгрейдил его вчера только часов около восьми вечера. Впрочем, может считалка статистики использует не локальное, а универсальное время, и тогда стахановский рывок получился не за 4 часа, а за 12. Ну, за сегодня и посмотрим, на сколько эффективнее стал процесс.
Плюс с базой стал шустро работать. Раньше после падения запускался долго, очень долго, несколько минут. Как-будто sqlite пытался почекать и/или восстановить базу после внезапно потерянного коннекта. А тут пришиб (чтобы лог прикрутить), запустил — и через 23 секунды появилось первое INFO Added. А судя по первому дебагу работу он начал уже через полторы секунды.
Удивило "Maximum number of neighbours now 1872" через 6 секунд. Неужто так быстро нахарвил? Потом количество уменшилось и теперь держится около 6½ сотен. fetch metadata task count сначала плавно добрался до четырёх с половиной сотен, а потом уменьшился. Иногда спускается ниже 300, но в основном держится около 3½ сотен.
И стал постоянно ругаться на "SybilNode operational error: `[Errno 22] Invalid argument`".
Пока ещё не выяснял что это за хрень.
Похоже, fetch metadata task соответствует количеству открытых сокотов. Можно от кустарного мониторинга отказываться. ;) Вот только tail -f log | grep word на логе в потоке работать не будет. Надо будет что-то сочинять.


UPD. Снапшот не понадобился. Заглянул в базу — там индекс только на хеш был. А статистика с распределением по дням строится с не индексированном полем. При полутора миллионах записей понятно что тормозить должно. Создал индекс — график стал отображатся через считанные секунды. Накладные расходы мизерные а удобство существенное. :)

Profile

crower: (Default)
crower

October 2017

S M T W T F S
1234567
89101112 1314
1516 1718192021
22232425262728
293031    

Style Credit

Expand Cut Tags

No cut tags
Page generated Oct. 22nd, 2017 08:21 am
Powered by Dreamwidth Studios