Перейти до

Detail Stat, можно ли отключить?


Рекомендованные сообщения

Можно-ли отключить запись в базу detail_stat ? Просто не нужна детальная статистика, а базу перегружает очень сильно.

 

Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ?

Ссылка на сообщение
Поделиться на других сайтах
  • Відповіді 54
  • Створено
  • Остання відповідь

Top Posters In This Topic

Можно-ли отключить запись в базу detail_stat ? Просто не нужна детальная статистика, а базу перегружает очень сильно.

 

Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ?

думаю проще написать патч и добавить это в расширенный конфигуратор в виде галочки.

Ссылка на сообщение
Поделиться на других сайтах
Можно-ли отключить запись в базу detail_stat ? Просто не нужна детальная статистика, а базу перегружает очень сильно.

 

Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ?

В текущей версии отключить нельзя. Можно чистить таблицу по крону, не удаляя ее.

Ссылка на сообщение
Поделиться на других сайтах
Можно-ли отключить запись в базу detail_stat ? Просто не нужна детальная статистика, а базу перегружает очень сильно.

 

Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ?

В текущей версии отключить нельзя. Можно чистить таблицу по крону, не удаляя ее.

Смотри, я так понял - он каждый день создает по таблице. Если я например вчерашнюю буду дропать каждый день по крону?

Или он и во вчерашние тоже лазит?

Ссылка на сообщение
Поделиться на других сайтах
Он создает таблицу детальной статы один(!!!) раз в месяц.

Дропать ее не стоит. А вот чистить можно.

 

пример:

TRUNCATE TABLE detailstat_01_2008;

Да, я уже увидел :)

 

Спасибо!!!!!

 

А хоть через месяц дропнуть можно? Или пусть куча пустых таблиц висит?

Ссылка на сообщение
Поделиться на других сайтах

Вот какую особенность вчера заметил!!!!

 

Сижу в инете, и вот пропал инет. Авторизатор горит, зашел в конфигуратор - я там уже отключен и авторизатор тоже вылетел через пару секунд.

Самое интересное, вылетели не все, а только 4 человека.

 

Было это ровно в полный час!!! А у меня запись detail stat стоит 1раз в час.

Пользователей уже добавил очень много, часовой детайл-стат весит где-то метров 50.

 

Я так понял, СТГ был так увлечен записью детайл-стата, что не смог ответить по таймауту.

 

Поставил сейчас 15мин, вечером когда нагрузка будет побольше - посмотрю.

 

Ну это всеравно не радует, ждем патча на отключение detail stat :)

Ссылка на сообщение
Поделиться на других сайтах

ерунда... полная )))

даже если не хватает ресурсов сервера, то при чем тут софт?

Если у тебя какая нить суперпупермегановая игруха не работает со старой видео-картой, ты пойдешь видюху покупать или требовать от разработчика переписать софт???

Ссылка на сообщение
Поделиться на других сайтах
Я так понял, СТГ был так увлечен записью детайл-стата, что не смог ответить по таймауту.

Работа с базой и авторизация пользователей и подсчет трафика и еще много чего происходит в разных потоках и друг на друга почти не влияет.

Ссылка на сообщение
Поделиться на других сайтах

Ну как тогда объяснить ситуацию, что 4 человека выкинуло по таймауту, а остальных нет ???

Причем я на одном свиче с сервером.

 

Единственный вывод - подвис ненадолго модуль авторизатора на сервере. А подвис он ровно в тот момент, когда писалась детальная статистика в базу (это и по логам видно).

 

Пока после смены времени записи на 15мин - пока полет нормальный, подожду вечерней мега-нагрузки :-0

Ссылка на сообщение
Поделиться на других сайтах
Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ?

crontab:

 

00 01 * * * /usr/bin/mysql -e "TRUNCATE TABLE logs_"`/bin/date '+%m_%Y'` homeuserstg

а логин и пароль на мускуль? :00:

Ссылка на сообщение
Поделиться на других сайтах
Можно-ли скрипт сделать, чтоб дропал эту таблицу? Или СТГ будет ругаться ?

crontab:

 

00 01 * * * /usr/bin/mysql -e "TRUNCATE TABLE logs_"`/bin/date '+%m_%Y'` homeuserstg

а логин и пароль на мускуль? :00:

Если он локально и работает через сокет то ненадо, я в детали не влезал, но помоему в грант есть root % :)

Ссылка на сообщение
Поделиться на других сайтах
2masters:

50 метров за день?

А не огласите ли параметры сервера и количество юзеров?

2 x Opteron 2.4 Ghz

4 x 1024 RAM

сервер удаленный

 

732 пользователя

 

detailstat: 50 - 160 Mb в час

Ссылка на сообщение
Поделиться на других сайтах
2masters:

Можно подредактировать сырцы модуля для mysql.

Чтоб он не делал insert в БД.

http://local.com.ua/forum/index.php?showtopic=10562

вглядись хорошенько в скрины

Круто!!!!

Когда только оно выйдет?

Ссылка на сообщение
Поделиться на других сайтах

Кстати насчет скрипта, выглядит это так в кронтабе:

 

10 */2 * * * /usr/local/bin/mysql --password=mypass -e "TRUNCATE TABLE detailstat_"`/bin/date '+%m_%Y'` stg

Ссылка на сообщение
Поделиться на других сайтах
2masters:

Можно подредактировать сырцы модуля для mysql.

Чтоб он не делал insert в БД.

http://local.com.ua/forum/index.php?showtopic=10562

вглядись хорошенько в скрины

Круто!!!!

Когда только оно выйдет?

думаю гдето в феврале

Ссылка на сообщение
Поделиться на других сайтах

Пока там чего-то выйдет, ждать нету больше сил, загрузка цпу растет, место на 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;

Ссылка на сообщение
Поделиться на других сайтах

2den68:

Патчик чего-то замутный, но главное - чтоб работало )

 

2Max:

Я предлагаю один способ, ты - другой.

Поэтому проблем не вижу )

У каждого способа есть свои плюсы и свои минусы.

Что админу лучше - выбирать самому админу.

Ссылка на сообщение
Поделиться на других сайтах
  • 10 months later...
Пока там чего-то выйдет, ждать нету больше сил, загрузка цпу растет, место на 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;

А как поставить этот патч??

Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Вхід

Уже зарегистрированы? Войдите здесь.

Войти сейчас
  • Зараз на сторінці   0 користувачів

    Немає користувачів, що переглядають цю сторінку.


×
×
  • Створити нове...