Информация о паре глюков и разные мелочи...

Вопросы по UTM 3.0 и UTM 4.0 (поддержка прекращена)
Закрыто
Skylord
Сообщения: 263
Зарегистрирован: Пт фев 04, 2005 11:33

Информация о паре глюков и разные мелочи...

Сообщение Skylord »

Итак, обнародую немного инфы по УТМ4. :-)
Для начала порассуждаю об одном глюке. Итак, имеем две проблемы: иногда в результате каких-нибудь флюктуаций бьются таблицы в базе и еще иногда, в случае если tsave что-то очень долго делает (больше интервала запуска его из крона), начинают крутится несколько копий tsave из-за которых все дохнет или просто глючит. Первая проблема решается установкой в конфиге параметра check_tables - тогда main при запуске проверяет и чинит автоматом таблицы. Вторая проблема решается установкой параметра lock_exit - тогда в случае обнаружения lock'овых файлов, другие копии tsave/main не запускаются.
Все бы хорошо, но установленные вместе эти параметры не только не защищают систему от сбоев, а иногда даже наоборот. :-) Суть в том, что в main проверка на lock идет ПОСЛЕ проверки таблиц. В результате имеем такую веселую ситуацию:
1) Побились таблицы. Скажем, самая большая - traffic.
2) Запусился main, начал проверять таблицы, нашел битую traffic и сказал мускулю ее чинить. При объеме таблицы в несколько гигабайт сей процесс может занимать до хрена времени... Причем, см. выше: во время всего этого lock'и НЕ ВЫСТАВЛЕНЫ ВООБЩЕ.
3) Запускается следующий main... lock'ов нет, да он их и не проверяет, а начинает опять же проверять таблицы... Доходит до многострадального traffic'а... Дальше рассказывать? ;-)
Одним словом, по итогам всего этого хозяйства имеем кучу запущенных tsave/main'ов и mysql, который жрет 100% ресурсов... Ситуация совсем не гипотетическая - наблюдал у себя уже пару раз.
Как лечить: либо создавать свой скрипт запуска tsave, который будет проверять процессы (ибо lock'ам доверия нет) и [не] запускать tsave; или же руками править биллинг - просто перенести в main кусок проверки/создания lock'а до проверки таблиц.

Теперь про второй (на этот раз мелкий) глючок. Почему уведомления о состоянии счета приходящие по почте никак не округляют значение баланса? Не очень красиво, когда приходит что-то типа: "Баланс Вашего счета составляет -0.0177588081360166 $".

А теперь небольшое предложение... Я тут у себя накропал скрипт для работы с Webmoney Merchant для организации приема денег на счет через вебманьки. Сегодня оттестил - работает нормально. Завтра буду в рабочий режим выводить... Дык, если кому надо - поменяюсь на скрипт для работы с Рапидой. Ибо самому делать лениво. :-)))

tariely
Сообщения: 59
Зарегистрирован: Чт янв 27, 2005 06:49
Контактная информация:

Сообщение tariely »

Еще вот это.
viewtopic.php?t=270

Skylord
Сообщения: 263
Зарегистрирован: Пт фев 04, 2005 11:33

Сообщение Skylord »

А вот сегодня такой прикол заметил: во всех таблицах traffic* столбцы ip_from, ip_to типа int insigned, что логично, ибо большего для них и не надо. Но зато в таблице traffic_tmp эти столбцы типа char(20). Даже не знаю, как это вообще назвать... Извращение полное. Мало того, что из-за этой фигни на каждой строке таблицы мы теряем (20-4)*2=32 байта (!!!) (а ведь при использовании netflow строк - до задницы, а я-то всегда думал, почему разницы между traffic_netflow и traffic_tmp - аж несколько мегабайт...), так еще и замедляются операции (хотя бы длинные INSERT'ы - сначала из _netflow, а потом в traffic).... В общем - ужас. Завтра буду alter table в обязательном порядке делать....

tariely
Сообщения: 59
Зарегистрирован: Чт янв 27, 2005 06:49
Контактная информация:

Сообщение tariely »

И то что я попросил :)

lalala
Сообщения: 10
Зарегистрирован: Вс мар 13, 2005 13:05

Сообщение lalala »

Я уже писал как-то про проблему с запуском нескольких копий tsave.
Проблема лечится следующим образом:
убиваешь запуск tsave из cron'a, далее пишешь такой скриптик:

while :; do /netup/utm/bin/tsave ; sleep 120 ; done

он ждет когда закончится предыдущий tsave и через 120 сек запускает следующий.

p.s
Вначале, когда tsave запускался через cron, то честно говоря задолбался с такой же проблемой

lalala
Сообщения: 10
Зарегистрирован: Вс мар 13, 2005 13:05

Сообщение lalala »

когда будешь писать скриптик, то обращай внимание на пробелы, пиши именно так, как я написал

tariely
Сообщения: 59
Зарегистрирован: Чт янв 27, 2005 06:49
Контактная информация:

Сообщение tariely »

Я не про tsave имел ввиду. С tsave'om проблемы нема.

Закрыто