nikitapo

Увеличение объема БД на 10% в сутки

В теме 50 сообщений

Здравсвуйте. 

У меня есть форум на IPS 4.1.19.4. При обновлении БД форума весила около 550 Мб, уже на следующие сутки БД стала весть около 608 Мб, спустя 5 дней весит около 1Гб. После оптимизации БД через phpMyAdmin размер базы сбрасывается до первоначального.  В папке форума периодически появляются новые php файлы в подпапке - datastore, с названиями:

leaderHashes_month-c81e728d9d4c2f636f067f89cc14862c.4e52a1ea3c.php

settings.4e52a1ea3c.php

template_1_5cf5b8e33cead46ac4a699bc41eb7f06_licensekey.4e52a1ea3c.php

и т.п.

Возможно кто-то сталкивался с подобной проблемой и есть решение? 

P.S.

Сканер AI-Bolit  не находит подозрительных файлов. 

Поделиться сообщением


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

Обычно в БД лог таблицы растут, типа там админ пукнул, тут админ удалил или что то загрузил.

И от стилей тоже много весят, если к примеру стоят 4-6 или более стилей.

Мне вот самому интересно а лог таблицы можно очищать в phpMyAdmin без ущерба для форума?

А то реально растет база данных :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, Igorek сказал:

Мне вот самому интересно а лог таблицы можно очищать в phpMyAdmin без ущерба для форума?

можно, для этого есть так же это:

Screenshot_10.pngScreenshot_11.pngScreenshot_12.png

nikitapo, Megalex и Igorek понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, WOLF сказал:

можно, для этого есть так же это:

 

стоит по умолчанию 30 дней.

а если я поставлю на 1 или 10 дней?

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

да и не вижу от него толку если честно. лишний гемор в базу.

он реально занимает базу после месяца работы форума.

мне места на хосте не жалко, у меня 50 гигов.

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

Может кто подскажет как реально и безопасно очищать лог или логи в базе?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Igorek сказал:

а если я поставлю на 1 или 10 дней?

будет удаляться в этот промежуток

1 минуту назад, Igorek сказал:

Может кто подскажет как реально и безопасно очищать лог или логи в базе?

поставьте на автоматическую очистку и не заморачивайтесь

ибо каждый раз лезть в бд чтобы удалить 20мб геморройно когда есть 50 гб на хосте

Igorek понравился пост

Поделиться сообщением


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

Използвайте ето  ...... все ден

ACP > System > Support > SQLtoolbox ...... и выполнить следующие команды поодиночке

Deleting Admin Logs

TRUNCATE TABLE core_admin_logs

Deleting Moderator Logs

TRUNCATE TABLE core_moderator_logs

Deleting System log

TRUNCATE TABLE core_log

Deleting error log

TRUNCATE TABLE core_error_logs

Deleting tasks log

TRUNCATE TABLE core_tasks_log

 

nikitapo и Igorek понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, WOLF сказал:

20мб геморройно когда есть 50 гб на хосте

я не за место беспокоюсь на хосте.

а за размер базы самой. не хочется иметь мусор в ней.

это как в виндовс, лишний мусор в реестре. который реально напрягает систему, то есть идут лишние запросы в реестр, а там уже мертвые удаленные еще остались от программ. Программы нет, удалена как месяц назад.! А она торчит в реестре.

Тем самым мы получаем мусор реальный в реестре.

Который потом приходиться очищать вручную. Ибо реестр в виндовс это самое главное в системе.

Silence понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Только что, Igorek сказал:

я не за место беспокоюсь на хосте.

а за размер базы самой. не хочется иметь мусор в ней.

это как в виндовс, лишний мусор в реестре. который реально напрягает систему, то есть идут лишние запросы в реестр, а там уже мертвые удаленные еще остались от программ. Программы нет, удалена как месяц назад.! А она торчит в реестре.

Тем самым мы получаем мусор реальный в реестре.

Который потом приходиться очищать вручную. Ибо реестр в виндовс это самое главное в системе.

как вариант поставить автоочистку на 1 день, и раз в месяц-два, проводить контрольную очистку, с помощью запросов которые скинули выше или вручную

Igorek понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, WOLF сказал:

как вариант поставить автоочистку на 1 день, и раз в месяц-два, проводить контрольную очистку, с помощью запросов которые скинули выше или вручную

System > Support > error logs

Untitled.png

Prune error logs after 1 day

nikitapo и Igorek понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
7 часов назад, nikitapo сказал:

При обновлении БД форума весила около 550 Мб, уже на следующие сутки БД стала весть около 608 Мб, спустя 5 дней весит около 1Гб.

Если у тебя генерируется куча ошибок, то ищи способы их исправления. У меня как увеличилась немного по сравнению с тройкой при обновлении, так и остается на нормальном уровне. 

Построй базу по размеру в phpMyAdmin и выложи здесь скриншот

Silence, Igorek и nikitapo понравился пост

Поделиться сообщением


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

Достаточно в ACP ввести в поиск log и пройтись по всем настройкам, выставив нужные значения. 

Silence, nikitapo и Igorek понравился пост

Поделиться сообщением


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

WOLF, не по теме. извините.

на счет моей той проблемы.

сделала инсталл новый.

буду теперь заново все.

а так, причину примерно нашел. в хитачис была проблема.

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

В общем! Поставил все заново. А от себя добавлю что:

Не ставьте лишнее в корень .хитачес

ИМХО друзья мои.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
14 часов назад, WOLF сказал:

Смотрите саму БД какая таблица там растет?

Спасибо за поддержку. :) После вчерашней оптимизации БД увеличилась на 300 Мб. Ниже скрин, где я подчеркнул виновника. К тому же, посмотрел логи за ночь, там было около 2500 обращений за 5 часов. 

bd_change.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 час назад, nikitapo сказал:

Спасибо за поддержку. :) После вчерашней оптимизации БД увеличилась на 300 Мб. Ниже скрин, где я подчеркнул виновника. К тому же, посмотрел логи за ночь, там было около 2500 обращений за 5 часов. 

bd_change.jpg

Настройке все как описывалось выше и будет вам счастье. Все эти обращения идут от пользователей - если их много, а так же от поисковых ботов

nikitapo понравился пост

Поделиться сообщением


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

Братское сердце...возможно это, то что тебе нужно:

1- в корне своего хостинга создай clean_sql.sh

2- вставь туды этот код очистки некоторых таблиц

--------------------------

#!/bin/sh

mysql --user=name_user_sql    --password=pass_sql_user    -e "USE ips_base_name; TRUNCATE sql_core_acp_search_index; TRUNCATE sql_core_search_index; TRUNCATE sql_core_admin_logs; TRUNCATE sql_core_admin_login_logs; TRUNCATE sql_core_cache; TRUNCATE sql_core_log; TRUNCATE sql_core_moderator_logs; TRUNCATE sql_core_tasks_log; TRUNCATE sql_core_search_index_item_map";

exit 0

-----------------------

3- пропиши свои имя базы, имя админа базы и его пароль в код скрипта

4- попробуй запусти и проверь не выдает ли ошибок в консоли сервера

5- ставь в планировщик Cron в интервал минут 15-20

Итог этой работы скрипта таков...что существует уязвимость IPS, при которой частые сгенерированные внешние запросы к твоему форуму, начинают забивать одну из перечисленных в скрипте таблиц sql, куда я так понимаю пишутся какие-то данные, возможно или логи или ошибки запросов. Кароче, без очистки, табла будет расти в час на 500 мг и выше. за сутки может хостер тебя забанить за превышение лимита и ...ага.

Там в скрипте, можешь дописать или удалить названия таблиц, которые как ты считаешь тебе не нужно чистить. например логи действий модераторов, журнал админки, ну и т.п. вообщем разберешься!

там у тебя на скрине последнем, ты сам видишь...core_cache таблица. собственно в нее и банится ddos атака, которая генерит там объемы хлама

nikitapo понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 часа назад, nikitapo сказал:

где я подчеркнул виновника

Advanced Configuration ->  Enable template disk caching 

nikitapo понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 часа назад, sergey81 сказал:

Братское сердце...возможно это, то что тебе нужно.

 

Да по твоему описанию очень похоже на то, что у меня сейчас происходит (максимально БД доходила до 2.5Гб очень быстрыми темпами). Попробую выполнить твои инструкции.

WOLF, спасибо за совет, уже включил автоматическую очистку логов каждый день, спустя 2-3 дня отпишусь в теме о результатах.

 

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 04.06.2017 в 14:00, kgb сказал:

Advanced Configuration ->  Enable template disk caching 

Мой краткий отчет спустя 3 дня.

1.   Включил автоматическую очистку логов каждый день.

2.  Выполнил "Advanced Configuration ->  Enable template disk caching".

В таблицы данные за три дня. ibf_core_log стал очищаться каждый день, ibf_core_cashe раньше только постоянно рос, теперь стал самоочищаться примерно через день. Вроде бы все хорошо, но размер базы, который отображается в панели моего хостинга продолжает расти и с примерно 400 Мб вырос уже до 1Гб (картинка ниже). При этом не очень понимаю, где сокрыт этот размер, если просуммировать размер таблиц, то даже близко нет 1Гб (не исключаю, либо какой-то глюк на хостинге, либо я чего-то не знаю про размер БД). В любом случае еще раз всем спасибо за помощь!   

poi.jpg

bdbdbd.jpg

Поделиться сообщением


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

Продолждение к предыдущему посту. На мой вопрос о расхождении отображаемого размера таблиц в phpMyAdmin и размера БД в личном кабинете тех.поддержка дала ответ:  "В базе данных ortipb есть много таблиц в формате InnoDB. Из-за особенностей этого типа реальный объём таблиц на сервере может различаться с показываемым в phpMyAdmin объёмом".    ibf_core_cashe , в частности, в формате InnoDB, но до этого примерный объем таблиц в phpMyAdmin совпадал с отображаемым в личном кабинете. В связи с этим реализую способ, предложенный "sergey81", и посмотрю, что произойдет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 04.06.2017 в 12:24, sergey81 сказал:

mysql --user=name_user_sql    --password=pass_sql_user    -e "USE ips_base_name; TRUNCATE sql_core_acp_search_index; TRUNCATE sql_core_search_index; TRUNCATE sql_core_admin_logs; TRUNCATE sql_core_admin_login_logs; TRUNCATE sql_core_cache; TRUNCATE sql_core_log; TRUNCATE sql_core_moderator_logs; TRUNCATE sql_core_tasks_log; TRUNCATE sql_core_search_index_item_map";

Зачистил по этой схеме и форум даже не упал. :) Думаю, что может вот эти две таблицы тоже стоит включить для очистки: ibf_core_tags_cache, ibf_core_like_cache? На данный момент размер БД чуть меньше 300 Мб.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 09.06.2017 в 07:37, nikitapo сказал:

Зачистил по этой схеме и форум даже не упал. :) Думаю, что может вот эти две таблицы тоже стоит включить для очистки: ibf_core_tags_cache, ibf_core_like_cache? На данный момент размер БД чуть меньше 300 Мб.

тебе же сказали, это то что тебе нужно. никакая автоматическая очистка логов в настройках ips не делает то, что делает скрипт. его лучше на запуск каждые 10-20 минут поставить, тогда система будет работать как часы. никакие переполнения буфера и таблиц sql не страшны 9_9

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

nikitapo понравился пост

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 04.06.2017 в 12:24, sergey81 сказал:

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

Подскажите как правильно прописать, так должно?  

mysql имя пользователя--user=name_user_sql    пароль--password=pass_sql_user    имя базы-e "USE ips_base_name; 

 

 

 

Поделиться сообщением


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

mysql -u имя -p пароль -D имя базы

или полная форма  mysql --user=имя --password=пароль --database=имя базы

если сразу  с запуском скрипта,  mysql --user=name_user_sql    --password=pass_sql_user     --database=имя базы -e "скрипт"

Helios понравился пост

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу