Jump to content

Silitra

Сitizens
  • Content Count

    116
  • Joined

  • Last visited

Everything posted by Silitra

  1. http://195.184.78.254/stg-2.405.9.8_.diff
  2. Консольный авторизатор только под 1 логином и с 1 ip, даже если под несколькими, то это не 4000 хаотично подкл./откл юзеров у каждого из которых есть свой вход. и исход. трафик.
  3. #define FLUSH_TIME (10) #define REMOVE_TIME (15) FlushAndRemove() packets: 35053(rem 10738) ip2packets: 61106(rem 18476) если массив ip2packets содержит более 70К (может и боелее, в выводе не видел значения выше 70К) элементов поток зависает. какова причина ? на сколько помню размер массива в Cи не ограничен. как победит траблу?
  4. 2madf все исковырял, что только уже не делал. такое чувство что происходит сдвиг элементов в масиве. ps. чем больше поток тем больше проявляется.
  5. сколько пакетов в секнду генерил cap_debug? я понимаю нужны для выполнения всех условий нужен inetaccess_debug который будет подключать/отключать указонное кол-во пользователей случайным образом. т.к падение происходит именно при отключении случайного пользователя. и почему то я не уверен что дело в связке user - traffcounter - capturer. распишите поподробней что происходит при падении.
  6. 2Bolik_Stav какой именно функционал интересует ?
  7. 2Madf Когда примерно будет патч?, время идет. Хотя бы пусть Борис сообщит в чем дело примерно, сами расколупаем проблему.
  8. тогда только скрипт OnChange login=$1 param=$2 oldValue=$3 newValue=$4
  9. ну вот типа патч возможно решающий проблему удаления/добавления правил при переходе на новый месяц --- user.cpp_ 2008-10-20 22:11:46.000000000 +0600 +++ user.cpp 2008-10-20 22:36:30.000000000 +0600 @@ -1328,6 +1328,11 @@ { property.tariffName.Set(nextTariff, sysAdmin, login, store); tariff = nt; + if (connected) + { + Connect(); + Disconnect(); + } } ResetNextTariff(); }
  10. Вот патч. только не в курсах будет или нет работать (вопрос в том есть ли значение у переменной password на момент исполнения скрипта) патчить user.cpp if (access(scriptOnAdd.c_str(), X_OK) == 0) { strprintf(&scriptOnAddParams, - "%s \"%s\"", + "%s \"%s\" \"%s\"", scriptOnAdd.c_str(), - login.c_str()); + login.c_str(), + password); ScriptExec(scriptOnAddParams); }
  11. 20$ и будет отображатся тариф в авторизаторе.
  12. ушли от основной темы, нужно лечить болезнь а не пытатся раз за разом воскрешать покойника. madf что скажешь на счет предоставленной инфы? лично мне кажется что проблема описанная тут http://local.com.ua/forum/index.php?s=&amp...st&p=100297 и болезнь обсуждаемая в этом топике взаимосвязанны. решил сравнить код stg-2.4-2007.01.20-13.47.20 и stg-2.405.9.8 по сравнению с stg-2.4-2007 в ver405 STG_LOCKER lock(&mutex, __FILE__, __LINE__); добавленно в функии USER::Connect USER::Disconnect USER::Run USER::UpdatePingTime USER::IsInetable USER::AddTraffStatU USER::A
  13. а нельзя их искурить сегодня и вместе ?
  14. таже проблема, анология замечена в месте падения из постов что повыше: что мы имеем: несколько падений в день на тестовом сервере, онлайн 150-300 всего юзеров 3.5К и машинка селерон 1800, 512 ram ось freeBSD 7. модули cap_netflow и file_store. загрузка cpu от 30-90%, запись детал.стат отрублена для всех. и первое падение за месяц на рабочем., машина, 2 dual xenon 3.3 и 4 gb ram, online примерно 1К, всего юеров 3.5К. OS freeBSD 7 модули ether_freebsd и mysql собственного написания. загрузка cpu от 15% до 50%. + mysql сьедает 1 из 4 CPU целиком во время записи детальной статы.
  15. переодически в поле IP проскакивает значение "1inet_ntoa er" или "192.t_ntoa er" еще бывает "[inet_ntoa er". бывает у нескольких пользователей сразу, чем больше онлайн, тем сильней заметно это явление. проявляется у рандомных ползователей, совершенно случайно, впрочем так же как и исчезает с уменшением нагрузки на сервер. ось FreeBSD 7 оналйн 1К всего >3,5К. stg-2.405.9.8 модуль mysql. если остановить стг, то после попытки старта в stargazer.log 2008-10-15 19:51:00 -- Cannot read conf for user igorek. 2008-10-15 19:51:00 -- User 'igorek' data not read. Parameter IP address.
  16. есть стабильная сборка. много что поправленно. mysql_mod полностью переписан, работает стабильно. 3.5К пользователей около 1К онлайн.. биллинг за месяц не разу не упал. переход на новый месяц прошел без косяков. пишите лс
  17. бага или фича судить не нам. ( если в процессе получения данных конфигуратором, попытаться завершить процесс stargazer, то завершатся все потоки кроме traffcounter, на внешние раздражители процесс перестает реагировать, только kill -9 поможет.
  18. модуль mysql_store v.0.68-mutex переодически приводил к падению. начал копать падение происходит при подключении конфигуратора, конкретно, когда модуль sgconfig пытается получить кол-во тарифов вызывая tariffs->GetTariffsNum(), закоментировал. перестал падать в этом месте. начал в другом, Причем работает 2-3 часа нормально и конфигуратор коннектится. теперь проблема при вызове user->ScanMessage() колупаем дальше store->GetMessageHdrs(&hdrsList, login) добавил вывод в syslog { STG_LOCKER lock(&mutex, __FILE__, __LINE__); MYSQL_RES *res; MYSQL_ROW row; c
  19. warning: Source file is more recent than executable. это может быть. инменений в сырцах нет, просто заново скомпилированный. скорей всего просто для себя, от какого числа сборка. за 2 дня 2 раза упал в одном и том же месте. (gdb) bt #0 0x2814bfbe in pthread_mutex_lock () from /lib/libthr.so.3 #1 0x0808bc4b in STG_LOCKER (this=0xbf5fa90c, m=0x17e0, __file__=0x80d33ed "user.cpp", __line__=1003) at stg_locker.h:59 #2 0x080a788a in USER::AddTraffStatD (this=0x8, dir=0, ip=1378231610, dport=3476, sport=6357, len=80) at user.cpp:1003 #3 0x0809f4e4 in TRAFFCOUNTER::DelUser (this=0x2843
  20. parser.cpp модификация sgconfig, был добавлен вывод для отладки, чтобы понять в каком месте падает 1054 if (tariffs->FindByName(ucr->tariffName.const_data())) 82 строка sprintf(s, "<tariff_num value=\"%d\"/>", tariffs->GetTariffsNum()); проблема решилась коменитированием этой строки. GetTariffsNum() используется только тут. падать в этом месте перестал. printfd(__FILE__, "PARSER_GET_SERVER_INFO 2CreateAnswer\n"); sprintf(s, "<version value=\"%s\"/>", si.serverVersion.c_str()); answerList->push_back(s); //printfd(__FILE__, "PARSER_GET_SERVER_INFO
  21. Есть решение. но нужен Stg+mysql
×
×
  • Create New...