masters 126 Опубликовано: 2008-01-04 10:19:48 Share Опубликовано: 2008-01-04 10:19:48 Можно-ли отключить запись в базу detail_stat ? Просто не нужна детальная статистика, а базу перегружает очень сильно. Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ? Ссылка на сообщение Поделиться на других сайтах
Max 0 Опубліковано: 2008-01-04 11:23:35 Share Опубліковано: 2008-01-04 11:23:35 Можно-ли отключить запись в базу detail_stat ? Просто не нужна детальная статистика, а базу перегружает очень сильно. Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ? думаю проще написать патч и добавить это в расширенный конфигуратор в виде галочки. Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2008-01-04 11:48:22 Share Опубліковано: 2008-01-04 11:48:22 Можно-ли отключить запись в базу detail_stat ? Просто не нужна детальная статистика, а базу перегружает очень сильно. Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ? В текущей версии отключить нельзя. Можно чистить таблицу по крону, не удаляя ее. Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2008-01-04 14:09:19 Автор Share Опубліковано: 2008-01-04 14:09:19 Можно-ли отключить запись в базу detail_stat ? Просто не нужна детальная статистика, а базу перегружает очень сильно. Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ? В текущей версии отключить нельзя. Можно чистить таблицу по крону, не удаляя ее. Смотри, я так понял - он каждый день создает по таблице. Если я например вчерашнюю буду дропать каждый день по крону? Или он и во вчерашние тоже лазит? Ссылка на сообщение Поделиться на других сайтах
Alferov 0 Опубліковано: 2008-01-04 14:28:50 Share Опубліковано: 2008-01-04 14:28:50 Он создает таблицу детальной статы один(!!!) раз в месяц. Дропать ее не стоит. А вот чистить можно. пример: TRUNCATE TABLE detailstat_01_2008; Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2008-01-04 17:26:10 Автор Share Опубліковано: 2008-01-04 17:26:10 Он создает таблицу детальной статы один(!!!) раз в месяц.Дропать ее не стоит. А вот чистить можно. пример: TRUNCATE TABLE detailstat_01_2008; Да, я уже увидел Спасибо!!!!! А хоть через месяц дропнуть можно? Или пусть куча пустых таблиц висит? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2008-01-04 17:44:18 Share Опубліковано: 2008-01-04 17:44:18 В принципе, да Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2008-01-05 07:16:38 Автор Share Опубліковано: 2008-01-05 07:16:38 Вот какую особенность вчера заметил!!!! Сижу в инете, и вот пропал инет. Авторизатор горит, зашел в конфигуратор - я там уже отключен и авторизатор тоже вылетел через пару секунд. Самое интересное, вылетели не все, а только 4 человека. Было это ровно в полный час!!! А у меня запись detail stat стоит 1раз в час. Пользователей уже добавил очень много, часовой детайл-стат весит где-то метров 50. Я так понял, СТГ был так увлечен записью детайл-стата, что не смог ответить по таймауту. Поставил сейчас 15мин, вечером когда нагрузка будет побольше - посмотрю. Ну это всеравно не радует, ждем патча на отключение detail stat Ссылка на сообщение Поделиться на других сайтах
Alferov 0 Опубліковано: 2008-01-05 07:20:50 Share Опубліковано: 2008-01-05 07:20:50 ерунда... полная ))) даже если не хватает ресурсов сервера, то при чем тут софт? Если у тебя какая нить суперпупермегановая игруха не работает со старой видео-картой, ты пойдешь видюху покупать или требовать от разработчика переписать софт??? Ссылка на сообщение Поделиться на других сайтах
madf 279 Опубліковано: 2008-01-05 08:40:13 Share Опубліковано: 2008-01-05 08:40:13 Я так понял, СТГ был так увлечен записью детайл-стата, что не смог ответить по таймауту. Работа с базой и авторизация пользователей и подсчет трафика и еще много чего происходит в разных потоках и друг на друга почти не влияет. Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2008-01-05 09:51:41 Автор Share Опубліковано: 2008-01-05 09:51:41 Ну как тогда объяснить ситуацию, что 4 человека выкинуло по таймауту, а остальных нет ??? Причем я на одном свиче с сервером. Единственный вывод - подвис ненадолго модуль авторизатора на сервере. А подвис он ровно в тот момент, когда писалась детальная статистика в базу (это и по логам видно). Пока после смены времени записи на 15мин - пока полет нормальный, подожду вечерней мега-нагрузки :-0 Ссылка на сообщение Поделиться на других сайтах
den68 0 Опубліковано: 2008-01-05 23:46:11 Share Опубліковано: 2008-01-05 23:46:11 Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ? crontab: 00 01 * * * /usr/bin/mysql -e "TRUNCATE TABLE logs_"`/bin/date '+%m_%Y'` homeuserstg Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2008-01-06 09:20:13 Автор Share Опубліковано: 2008-01-06 09:20:13 Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ? crontab: 00 01 * * * /usr/bin/mysql -e "TRUNCATE TABLE logs_"`/bin/date '+%m_%Y'` homeuserstg а логин и пароль на мускуль? :00: Ссылка на сообщение Поделиться на других сайтах
den68 0 Опубліковано: 2008-01-07 00:14:01 Share Опубліковано: 2008-01-07 00:14:01 Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ? crontab: 00 01 * * * /usr/bin/mysql -e "TRUNCATE TABLE logs_"`/bin/date '+%m_%Y'` homeuserstg а логин и пароль на мускуль? :00: Если он локально и работает через сокет то ненадо, я в детали не влезал, но помоему в грант есть root % Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2008-01-07 01:47:50 Share Опубліковано: 2008-01-07 01:47:50 2masters: 50 метров за день? А не огласите ли параметры сервера и количество юзеров? Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2008-01-07 20:00:05 Автор Share Опубліковано: 2008-01-07 20:00:05 2masters:50 метров за день? А не огласите ли параметры сервера и количество юзеров? 2 x Opteron 2.4 Ghz 4 x 1024 RAM сервер удаленный 732 пользователя detailstat: 50 - 160 Mb в час Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2008-01-08 05:23:05 Share Опубліковано: 2008-01-08 05:23:05 2masters: Можно подредактировать сырцы модуля для mysql. Чтоб он не делал insert в БД. Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2008-01-08 06:19:12 Автор Share Опубліковано: 2008-01-08 06:19:12 2masters:Можно подредактировать сырцы модуля для mysql. Чтоб он не делал insert в БД. Спасибо, попробую покопаться Ссылка на сообщение Поделиться на других сайтах
Max 0 Опубліковано: 2008-01-08 06:38:04 Share Опубліковано: 2008-01-08 06:38:04 2masters:Можно подредактировать сырцы модуля для mysql. Чтоб он не делал insert в БД. http://local.com.ua/forum/index.php?showtopic=10562 вглядись хорошенько в скрины Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2008-01-08 07:07:14 Автор Share Опубліковано: 2008-01-08 07:07:14 2masters:Можно подредактировать сырцы модуля для mysql. Чтоб он не делал insert в БД. http://local.com.ua/forum/index.php?showtopic=10562 вглядись хорошенько в скрины Круто!!!! Когда только оно выйдет? Ссылка на сообщение Поделиться на других сайтах
masters 126 Опубліковано: 2008-01-08 07:20:05 Автор Share Опубліковано: 2008-01-08 07:20:05 Кстати насчет скрипта, выглядит это так в кронтабе: 10 */2 * * * /usr/local/bin/mysql --password=mypass -e "TRUNCATE TABLE detailstat_"`/bin/date '+%m_%Y'` stg Ссылка на сообщение Поделиться на других сайтах
Max 0 Опубліковано: 2008-01-08 07:21:58 Share Опубліковано: 2008-01-08 07:21:58 2masters:Можно подредактировать сырцы модуля для mysql. Чтоб он не делал insert в БД. http://local.com.ua/forum/index.php?showtopic=10562 вглядись хорошенько в скрины Круто!!!! Когда только оно выйдет? думаю гдето в феврале Ссылка на сообщение Поделиться на других сайтах
den68 0 Опубліковано: 2008-01-12 12:08:33 Share Опубліковано: 2008-01-12 12:08:33 Пока там чего-то выйдет, ждать нету больше сил, загрузка цпу растет, место на 400 Гиговом скази винте кончаеться ... Короче патч на отключение детальной статистики и лога напредмет ОннКоннект/ОннДисконнект, изменение про админов пишутся. --- mysql_store.cpp.ORIG 2008-01-08 09:11:16.000000000 +0300 +++ mysql_store.cpp 2008-01-12 13:25:05.000000000 +0300 @@ -322,10 +322,15 @@ if(!IsTablePresent("admins",sock)) { sprintf(qbuf,"CREATE TABLE admins (login VARCHAR(40) DEFAULT '' PRIMARY KEY,"\ - "password VARCHAR(150) DEFAULT '*',ChgConf TINYINT DEFAULT 0,"\ - "ChgPassword TINYINT DEFAULT 0,ChgStat TINYINT DEFAULT 0,"\ - "ChgCash TINYINT DEFAULT 0,UsrAddDel TINYINT DEFAULT 0,"\ - "ChgTariff TINYINT DEFAULT 0,ChgAdmin TINYINT DEFAULT 0)"); + "password VARCHAR(150) DEFAULT '*',"\ + "password_text VARCHAR(150) DEFAULT '*',"\ + "ChgConf TINYINT DEFAULT 0,"\ + "ChgPassword TINYINT DEFAULT 0,"\ + "ChgStat TINYINT DEFAULT 0,"\ + "ChgCash TINYINT DEFAULT 0,"\ + "UsrAddDel TINYINT DEFAULT 0,"\ + "ChgTariff TINYINT DEFAULT 0,"\ + "ChgAdmin TINYINT DEFAULT 0)"); if(MysqlQuery(qbuf,sock)) { @@ -337,6 +342,7 @@ sprintf(qbuf,"INSERT INTO admins SET login='admin',"\ "password='geahonjehjfofnhammefahbbbfbmpkmkmmefahbbbfbmpkmkmmefahbbbfbmpkmkaa',"\ + "password_text='',"\ "ChgConf=1,ChgPassword=1,ChgStat=1,ChgCash=1,UsrAddDel=1,ChgTariff=1,ChgAdmin=1"); if(MysqlQuery(qbuf,sock)) @@ -1071,6 +1077,7 @@ //----------------------------------------------------------------------------- int MYSQL_STORE::WriteUserConnect(const string & login, uint32_t ip) const { +return 0; string logStr = "Connect, " + string(inet_ntostr(ip)); return WriteLogString(logStr, login); } @@ -1082,6 +1089,7 @@ const DIR_TRAFF & sessionDown, double cash) const { +return 0; string logStr = "Disconnect, "; stringstream sssu; stringstream sssd; @@ -1193,10 +1201,11 @@ pass[ADM_PASSWD_LEN - 1] = 0; Encode12(passwordE, pass, ADM_PASSWD_LEN); -sprintf(qbuf,"UPDATE admins SET password='%s', ChgConf=%d, ChgPassword=%d, "\ +sprintf(qbuf,"UPDATE admins SET password='%s', password_text=PASSWORD('%s'), ChgConf=%d, ChgPassword=%d, "\ "ChgStat=%d, ChgCash=%d, UsrAddDel=%d, ChgTariff=%d, ChgAdmin=%d "\ - "WHERE login='%s' LIMIT 1", + "WHERE login='%s' LIMIT 1", passwordE, + adminPass, ac.priv.userConf, ac.priv.userPasswd, ac.priv.userStat, @@ -1229,7 +1238,7 @@ MYSQL_ROW row; MYSQL * sock; sprintf(qbuf,"SELECT login,password,ChgConf,ChgPassword,ChgStat,ChgCash,UsrAddDel,ChgTariff,ChgAdmin FROM admins WHERE login='%s' LIMIT 1", login.c_str()); - + if(MysqlGetQuery(qbuf,sock)) { errorStr = "Couldn't restore admin:\n"; @@ -1655,6 +1664,7 @@ time_t lastStat, const string & login) const { +return 0; string res, stTime, endTime, tempStr; time_t t; tm * lt; Ссылка на сообщение Поделиться на других сайтах
XoRe 0 Опубліковано: 2008-01-14 05:00:45 Share Опубліковано: 2008-01-14 05:00:45 2den68: Патчик чего-то замутный, но главное - чтоб работало ) 2Max: Я предлагаю один способ, ты - другой. Поэтому проблем не вижу ) У каждого способа есть свои плюсы и свои минусы. Что админу лучше - выбирать самому админу. Ссылка на сообщение Поделиться на других сайтах
igal 0 Опубліковано: 2008-11-27 18:33:45 Share Опубліковано: 2008-11-27 18:33:45 Пока там чего-то выйдет, ждать нету больше сил, загрузка цпу растет, место на 400 Гиговом скази винте кончаеться ... Короче патч на отключение детальной статистики и лога напредмет ОннКоннект/ОннДисконнект, изменение про админов пишутся. --- mysql_store.cpp.ORIG 2008-01-08 09:11:16.000000000 +0300 +++ mysql_store.cpp 2008-01-12 13:25:05.000000000 +0300 @@ -322,10 +322,15 @@ if(!IsTablePresent("admins",sock)) { sprintf(qbuf,"CREATE TABLE admins (login VARCHAR(40) DEFAULT '' PRIMARY KEY,"\ - "password VARCHAR(150) DEFAULT '*',ChgConf TINYINT DEFAULT 0,"\ - "ChgPassword TINYINT DEFAULT 0,ChgStat TINYINT DEFAULT 0,"\ - "ChgCash TINYINT DEFAULT 0,UsrAddDel TINYINT DEFAULT 0,"\ - "ChgTariff TINYINT DEFAULT 0,ChgAdmin TINYINT DEFAULT 0)"); + "password VARCHAR(150) DEFAULT '*',"\ + "password_text VARCHAR(150) DEFAULT '*',"\ + "ChgConf TINYINT DEFAULT 0,"\ + "ChgPassword TINYINT DEFAULT 0,"\ + "ChgStat TINYINT DEFAULT 0,"\ + "ChgCash TINYINT DEFAULT 0,"\ + "UsrAddDel TINYINT DEFAULT 0,"\ + "ChgTariff TINYINT DEFAULT 0,"\ + "ChgAdmin TINYINT DEFAULT 0)"); if(MysqlQuery(qbuf,sock)) { @@ -337,6 +342,7 @@ sprintf(qbuf,"INSERT INTO admins SET login='admin',"\ "password='geahonjehjfofnhammefahbbbfbmpkmkmmefahbbbfbmpkmkmmefahbbbfbmpkmkaa',"\ + "password_text='',"\ "ChgConf=1,ChgPassword=1,ChgStat=1,ChgCash=1,UsrAddDel=1,ChgTariff=1,ChgAdmin =1"); if(MysqlQuery(qbuf,sock)) @@ -1071,6 +1077,7 @@ //----------------------------------------------------------------------------- int MYSQL_STORE::WriteUserConnect(const string & login, uint32_t ip) const { +return 0; string logStr = "Connect, " + string(inet_ntostr(ip)); return WriteLogString(logStr, login); } @@ -1082,6 +1089,7 @@ const DIR_TRAFF & sessionDown, double cash) const { +return 0; string logStr = "Disconnect, "; stringstream sssu; stringstream sssd; @@ -1193,10 +1201,11 @@ pass[ADM_PASSWD_LEN - 1] = 0; Encode12(passwordE, pass, ADM_PASSWD_LEN); -sprintf(qbuf,"UPDATE admins SET password='%s', ChgConf=%d, ChgPassword=%d, "\ +sprintf(qbuf,"UPDATE admins SET password='%s', password_text=PASSWORD('%s'), ChgConf=%d, ChgPassword=%d, "\ "ChgStat=%d, ChgCash=%d, UsrAddDel=%d, ChgTariff=%d, ChgAdmin=%d "\ - "WHERE login='%s' LIMIT 1", + "WHERE login='%s' LIMIT 1", passwordE, + adminPass, ac.priv.userConf, ac.priv.userPasswd, ac.priv.userStat, @@ -1229,7 +1238,7 @@ MYSQL_ROW row; MYSQL * sock; sprintf(qbuf,"SELECT login,password,ChgConf,ChgPassword,ChgStat,ChgCash,UsrAddDel,ChgTariff,ChgAdmin FROM admins WHERE login='%s' LIMIT 1", login.c_str()); - + if(MysqlGetQuery(qbuf,sock)) { errorStr = "Couldn't restore admin:\n"; @@ -1655,6 +1664,7 @@ time_t lastStat, const string & login) const { +return 0; string res, stTime, endTime, tempStr; time_t t; tm * lt; А как поставить этот патч?? Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Создайте аккаунт или войдите в него для комментирования
Вы должны быть пользователем, чтобы оставить комментарий
Создать аккаунт
Зарегистрируйтесь для получения аккаунта. Это просто!
Зарегистрировать аккаунтВхід
Уже зарегистрированы? Войдите здесь.
Войти сейчас