Перейти до

Новая сборка СТГ 2.4


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

  • Відповіді 545
  • Створено
  • Остання відповідь

Top Posters In This Topic

Проблема с падениями порешилась переписыванием модуля mysql_store, при рождении, в нем небыло в помине тред локов, что на реальных многопроцессорных платфомах приводило к краху программы.

 

также, пересмотрена схема работы с sql базой, теперь создается только один коннект и держится он постоянно, поскольку по факту, чтение/запись идет тоже постоянно. До этого у меня было до 600!!!! одновременных конектов с базой со статусом тайм_вайт, что есть сакс несомненный и нагрузка на систему, + возможность заюзать все сетевые сокеты на это развлечение.

 

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

Также поправлен Makefile, тот что идет с поставкой STG не очень работоспособен, осутствовали описание где и какие библиотеки линковать с модулем.

 

В общем, кто хочет потрогать, поюзать - пользуйтесь: mysql_store-mutex

Ссылка на сообщение
Поделиться на других сайтах
Проблема с падениями порешилась переписыванием модуля mysql_store, при рождении, в нем небыло в помине тред локов, что на реальных многопроцессорных платфомах приводило к краху программы.

 

также, пересмотрена схема работы с sql базой, теперь создается только один коннект и держится он постоянно, поскольку по факту, чтение/запись идет тоже постоянно. До этого у меня было до 600!!!! одновременных конектов с базой со статусом тайм_вайт, что есть сакс несомненный и нагрузка на систему, + возможность заюзать все сетевые сокеты на это развлечение.

 

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

Также поправлен Makefile, тот что идет с поставкой STG не очень работоспособен, осутствовали описание где и какие библиотеки линковать с модулем.

 

В общем, кто хочет потрогать, поюзать - пользуйтесь: mysql_store-mutex

свяжитесь пожалуйста с нами, для рассмотрения ваших изменений и включения их в релиз

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

Улыбнуло :)

 

Максим, если хочется рассмотреть изменения, ссылка на файл присутствует выше, если ты помниш я принимал участие в финансировании этого и других твоих проектов из соображений развития СТГ не только силами stg-34.

 

К сожалению за полтора года попользоваться этим модулем была не судьба, но при попытке это сделать, половина января была потеряна на поиски глюков...

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

Улыбнуло :)

 

Максим, если хочется рассмотреть изменения, ссылка на файл присутствует выше, если ты помниш я принимал участие в финансировании этого и других твоих проектов из соображений развития СТГ не только силами stg-34.

 

К сожалению за полтора года попользоваться этим модулем была не судьба, но при попытке это сделать, половина января была потеряна на поиски глюков...

если честно, то не понял юмора, или мысли, которую хотели сказать.

а сайт не открывается у меня, говорит сервер не найден :)

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

доточен еще в кое каких местах модуль mysql-store.

брать там-же, архив обновлен mysql_store-mutex

 

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

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

to madf:

какбы отловить место где (на чем) стг создает загрузку 99 проц. ?

может есть какая либа типа дебаг ? чтоб контрольные точки прописать ?

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

какбы отловить место где (на чем) стг создает загрузку 99 проц. ?

может есть какая либа типа дебаг ? чтоб контрольные точки прописать ?

Если загрузка появляется с определенным периодом - это запись статистики или сброс данных траффкаунтера.

Можно временно "заглушить" запись статы (в плагине, или в user.cpp (USER::WriteStat)). Если загрузка пропала - это она. Если нет - это траффкаунтер. В файлике traffcounter.cpp есть #define FLUSH_TIME (10) - можно попробывать его уменьшить. Мы с Борей обсуждали недавно этот момент (как раз по поводу твоих тормозов). Возможно, этот параметр будет вынесен в настройки стг.

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

какбы отловить место где (на чем) стг создает загрузку 99 проц. ?

может есть какая либа типа дебаг ? чтоб контрольные точки прописать ?

Если загрузка появляется с определенным периодом - это запись статистики или сброс данных траффкаунтера.

Можно временно "заглушить" запись статы (в плагине, или в user.cpp (USER::WriteStat)). Если загрузка пропала - это она. Если нет - это траффкаунтер. В файлике traffcounter.cpp есть #define FLUSH_TIME (10) - можно попробывать его уменьшить. Мы с Борей обсуждали недавно этот момент (как раз по поводу твоих тормозов). Возможно, этот параметр будет вынесен в настройки стг.

store->WriteDetailStat заглушен давно, однако....

похоже более на переполнение/огромный размер буфера при сборе статистики.

 

Пошел изучать траффкаунтер... пока поставил FLUSH_TIME (3)

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

Опять-же, опять-же, опять-же. Есть не только детальная статистика. Есть еще обычная, которая тоже записывается. И есть конфиги юзеров, которые тоже записываются. И тоже занимают процессорное время.

Ссылка на сообщение
Поделиться на других сайтах
Опять-же, опять-же, опять-же. Есть не только детальная статистика. Есть еще обычная, которая тоже записывается. И есть конфиги юзеров, которые тоже записываются. И тоже занимают процессорное время.

Угу...

кстати

 

admin.cpp: WriteServLog("%s", store->GetStrError().c_str());

admin.cpp: WriteServLog(store->GetStrError().c_str());

admins.cpp:strError = "Administrator \'" + login + "\' was not added. Error: " + store->GetStrError();

admins.cpp: strError = "Administrator \'" + login + "\' was not deleted. Error: " + store->GetStrError();

admins.cpp: WriteServLog("%s", store->GetStrError().c_str());

admins.cpp: WriteServLog(store->GetStrError().c_str());

 

из серии про 6 отличий :)

 

Попробовал прибить сбор дет. статы, (запись уже была прибита), поставил значения:

 

#define FLUSH_TIME (1) // 10

#define REMOVE_TIME (5) // 31

 

+ переделал еще раз mod_store_mysql на работу через сокет а не по TCP,

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

 

про модуль, если кому интересно:

 

Изменения в конфигурации:

1.
stargazer.conf:

<StoreModule store_mysql>
   dbuser = mysqluser
   rootdbpass = mysqlpassword
   dbname = homeuserstg
# mysql TCP host /где живет база данных/
# (используется только если не указан сокет 'dbsocket')
   dbhost = 127.0.0.1
# mysql TCP port
# (используется только если не указан сокет 'dbsocket')
   dbport = 3306
# timeout to connect/query mysql database in sec.
# (используется только если не указан сокет 'dbsocket')
   dbtimeout = 15
# можно использовать сокет, повышается надежность и скорость работы
# и стабильность, при этом параметры 'dbhost','dbport','dbtimeout' 
# не используются (можно их не прописывать в конфиге).
   dbsocket = /var/lib/mysql/mysql.sock
</StoreModule>

2.
встала задача иметь досуп админов к определенной web директории 
с теми-же логинами/паролями что и в стг:

в httpd.conf соответственно:

<Directory "/Clients/www/admstat/homeuser">
  AllowOverride None
  Options FollowSymLinks ExecCGI
  Order allow,deny
  Allow from 127.0.0.1 192.168.xxx.xxx./24
  #
  AuthMySQLHost 192.168.xxx.xxx
  AuthMySQLUser mysql-base-login
  AuthMySQLPassword mysql-base-password
  AuthMySQLDB homeuserstg
  AuthMySQLUserTable admins
  AuthMySQLNoPasswd Off
  AuthMySQLPwEncryption scrambled
  AuthMySQLPasswordField password_text
  AuthMySQLNameField login
  AuthMySQLAuthoritative On
  #
  AuthName "Admin's stuff STG authentication"
  AuthType Basic
  <Limit GET>
      require valid-user
  </Limit>
</Directory>

 

лежит тамже: http://www.nkl.ru/support/mysql_store-mutex.tar.gz

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

Про strError не понял. Что не нравится?

Про WriteServLog - ну да, бывает и не такое :)

А вобще - ты молодец. На реальной сетке нам нет возможности потестировать, а наши "лабораторные" тесты могут не показывать реальной картинки.

Ссылка на сообщение
Поделиться на других сайтах
Про strError не понял. Что не нравится?

да нет, просто из общего вывода не выкинул.

 

По сути, пока результат положительный, 400 юзеров сосут не вшутку :) в плане качают, при этом:

 

 

18:56:49  up 10 days, 17:35,  2 users,  load average: 0.62, 0.47, 0.39

68 processes: 66 sleeping, 2 running, 0 zombie, 0 stopped

CPU0 states:  0.1% user  43.0% system    0.0% nice  0.0% iowait  55.0% idle

CPU1 states:  6.0% user  3.0% system    0.0% nice  0.0% iowait  89.0% idle

CPU2 states:  4.0% user  6.0% system    0.0% nice  0.0% iowait  88.0% idle

CPU3 states:  3.0% user  4.0% system    0.0% nice  0.0% iowait  91.0% idle

Mem:  2070032k av, 1103024k used,  967008k free,      0k shrd,  167028k buff

      562644k active,            242316k inactive

Swap:  779144k av,      0k used,  779144k free                  637816k cached

 

  PID USER    PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM  TIME CPU COMMAND

32312 root      1 -19 27136  26M  2076 S <  19.8  1.3  75:09  1 stargazer2_4

1598 mysql      9  0  5992 5988  3112 S    6.9  0.2  83:35  3 mysqld

 

по сути, порезан трафкаунетр и юзерс цпп.

детальная стата прибита в хлам :) - итог положительный.

могу прислать исходники, искать надо именно там ИМХО.

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

А что ты отключил в траффкаунтере?

Интересно было бы посмотреть на зависимость загрузки проца от частоты сброса кеша ip

Ссылка на сообщение
Поделиться на других сайтах
А что ты отключил в траффкаунтере?

Интересно было бы посмотреть на зависимость загрузки проца от частоты сброса кеша ip

результат по загрузке проца пока гуд, в пиках 40-50%, постоянно 8-16%, 750 Онлайн :

 

 

22:20:14  up 10 days, 20:59,  1 user,  load average: 0.48, 0.71, 0.68

63 processes: 62 sleeping, 1 running, 0 zombie, 0 stopped

CPU0 states:   1.0% user  19.0% system    0.0% nice   0.0% iowait  78.0% idle

CPU1 states:   6.0% user  11.0% system    0.0% nice   0.0% iowait  81.0% idle

CPU2 states:   4.0% user   2.0% system    0.0% nice   0.0% iowait  92.0% idle

CPU3 states:   2.0% user   0.1% system    0.0% nice   0.0% iowait  96.0% idle

Mem:  2070032k av, 1117168k used,  952864k free,       0k shrd,  167156k buff

       562112k active,             259264k inactive

Swap:  779144k av,       0k used,  779144k free                  654120k cached

 

  PID USER     PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM   TIME CPU COMMAND

30668 root       1 -19 26868  26M  2064 S <  16.8  1.2  31:12   3 stargazer2_4

1598 mysql      9   0  6008 6004  3112 S     6.9  0.2  68:22   2 mysqld

 

но надо/пора уже смотреть в сторону bind-9.4.2/lib/isc/task.c

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

Ну вроде при параметрах 5 / 15 и отключенном детайл стате нормализовалось:

 

 

19:32:56  up 11 days, 18:11,  2 users,  load average: 0.20, 0.31, 0.29

70 processes: 67 sleeping, 3 running, 0 zombie, 0 stopped

CPU0 states:  0.0% user  43.0% system    0.0% nice  0.0% iowait  56.0% idle

CPU1 states:  11.0% user  8.0% system    0.0% nice  0.0% iowait  79.0% idle

CPU2 states:  20.0% user  3.0% system    0.0% nice  0.0% iowait  75.0% idle

CPU3 states:  4.0% user  11.0% system    0.0% nice  0.0% iowait  83.0% idle

Mem:  2070032k av, 1112680k used,  957352k free,      0k shrd,  167436k buff

      566996k active,            236064k inactive

Swap:  779144k av,      0k used,  779144k free                  635504k cached

 

  PID USER    PRI  NI  SIZE  RSS SHARE STAT %CPU %MEM  TIME CPU COMMAND

20745 root      1 -19 28368  27M  2088 S <  30.9  1.3  70:11  3 stargazer2_4

30162 mysql      9  0  5796 5792  2980 S    5.7  0.2  27:25  3 mysqld

3257 root      20  0  2064 2064  344 R    5.7  0.0  0:00  0 iptables

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

./build - все отлично

make install
"Makefile", line 29: Missing dependency operator
"Makefile", line 33: Need an operator
"Makefile", line 35: Missing dependency operator
"Makefile", line 39: Need an operator
"Makefile", line 41: Missing dependency operator
"Makefile", line 45: Need an operator
"Makefile", line 55: Need an operator
Error expanding embedded variable.

 

BSD 6.3 что может быть? Мейкфайл смотрел, ничего криминального в этих строках не увидел.

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

Проблема с переходом на новый месяц т.е со снятием абонплаты STG2.404 неделю назад скачанный с офсайта система: Fedora 08,

gcc версия 4.1.2 20070925 (Red Hat 4.1.2-33),

Kernel 2.6.23.1-42.fc8 #1 SMP Tue Oct 30 13:55:12 EDT 2007 i686 i686 i386 GNU/Linux,

Core2 Duo E4500 2.20GHz, 2 Гб ОЗУ,

170 пользователей из них у 155 тариф с абонплатой 20 грн в 00:00 1-го марта у 4-х пользователей абонплата не снялась правильно

пару строк с лога:

2008-03-01 00:00:01 -- Admin '@stargazer', 0.0.0.0: User 'uuuu': 'cash' parameter changed from '-131.301073' to '-138.825238'. Subscriber fee charge

2008-03-01 00:00:02 -- Admin '@stargazer', 0.0.0.0: User 'lllll': 'cash' parameter changed from '28.189558' to '14.618129'. Subscriber fee charge

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

Они могли быть в системе не полный месяц. ТОгда абонка снимается только частично. Или они могли быть заморожены.

Посмотри в сторону параметра FullFee в конфиге.

Ссылка на сообщение
Поделиться на других сайтах
Они могли быть в системе не полный месяц. ТОгда абонка снимается только частично. Или они могли быть заморожены.

Посмотри в сторону параметра FullFee в конфиге.

Спасибо большое с этим разобрался действительно один был заморожен а другой подключенный в прошлом месяце. Вопрос еще один сегодня ночью старгайзер завис после перезапуска все заработало вот часть лога:

2008-03-02 00:09:49 -- Stg v. Stg 2.404

2008-03-02 00:09:49 -- Message queue created successfully. msgKey=5555 msgID=32768

2008-03-02 00:09:49 -- Timer thread started successfully.

2008-03-02 00:09:49 -- Storage plugin: file_store v.1.02. Loading successfull.

2008-03-02 00:09:49 -- Users started successfully.

2008-03-02 00:09:49 -- Traffcounter started successfully.

2008-03-02 00:09:49 -- Module: 'Ether_cap v.1.0'. Start successfull. 10

2008-03-02 00:09:49 -- Module: 'InetAccess authorizator v.1.2'. Start successfull. 50

2008-03-02 00:09:49 -- Module: 'Always Online authorizator v.1.0'. Start successfull. 70

2008-03-02 00:09:49 -- Module: 'Pinger v.1.01'. Start successfull. 100

2008-03-02 00:09:49 -- Module: 'Stg configurator v.0.07'. Start successfull. 220

2008-03-02 00:09:49 -- Stg started successfully.

2008-03-02 00:09:49 -- +++++++++++++++++++++++++++++++++++++++++++++

2008-03-02 00:09:56 -- Shutting down... 15

2008-03-02 00:09:56 -- +++++++++++++++++++++++++++++++++++++++++++++

2008-03-02 00:09:56 -- Module: 'Stg configurator v.0.07'. Stop successfull.

2008-03-02 00:09:56 -- Module: 'Pinger v.1.01'. Stop successfull.

2008-03-02 00:09:56 -- Module: 'Always Online authorizator v.1.0'. Stop successfull.

2008-03-02 00:09:58 -- Module: 'InetAccess authorizator v.1.2'. Stop successfull.

2008-03-02 00:09:58 -- Module: 'Ether_cap v.1.0'. Stop successfull.

2008-03-02 00:09:58 -- Traffcounter: Stop successfull.

2008-03-02 00:10:01 -- Stg v. Stg 2.404

2008-03-02 00:10:01 -- Message queue created successfully. msgKey=5555 msgID=65536

2008-03-02 00:10:01 -- Timer thread started successfully.

2008-03-02 00:10:01 -- Storage plugin: file_store v.1.02. Loading successfull.

2008-03-02 00:10:01 -- Users started successfully.

2008-03-02 00:10:01 -- Traffcounter started successfully.

2008-03-02 00:10:01 -- Module: 'Ether_cap v.1.0'. Start successfull. 10

2008-03-02 00:10:01 -- Module: 'InetAccess authorizator v.1.2'. Start successfull. 50

2008-03-02 00:10:01 -- Module: 'Always Online authorizator v.1.0'. Start successfull. 70

2008-03-02 00:10:01 -- Module: 'Pinger v.1.01'. Start successfull. 100

2008-03-02 00:10:01 -- Module: 'Stg configurator v.0.07'. Start successfull. 220

2008-03-02 00:10:01 -- Stg started successfully.

2008-03-02 00:10:01 -- +++++++++++++++++++++++++++++++++++++++++++++

 

Подскажите что это может быть ?

Ссылка на сообщение
Поделиться на других сайтах
Гость
Эта тема закрыта для публикации сообщений.
  • Зараз на сторінці   0 користувачів

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


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