PDA

Просмотр полной версии : База данных стала весить 8 гигов


mishani
15.08.2013, 17:52
Подскажите какие таблицы в базе MySQL можно почистить?
А то база уже весит 8 гигов!
Есть таблицы в базе:
cache_extensions - размер 12,2 мб
cache_imagesizes - 10,5 мб
sys_log- 220 мб
cache_pages - 48 кб

Какие из них можно почистить? CMS TYPO3 версии 4.7

И подскажите как узнать что в таблице так много весит, а то смотрю в phpmyadmin где столбец размер внизу пишет всего 320 мб, а на хостинге 8 гигов?

Manas
15.08.2013, 21:18
смотрите InnoDB таблицы
cache_*
cf_cache_*
sys_history
sys_log
tx_realurl_chashcache
tx_realurl_pathcache
tx_realurl_urldecodecache
tx_realurl_urlencodecache

Андрей Аксенов
16.08.2013, 09:43
И придется пресоздать таблицу - сделать дамп, удалить таблицу и создать ее заново из сделанного дампа.
Это особенность Inno...
Все делается быстро в Sypex Dumper (http://sypex.net/) - не сочтите за рекламу, но действительно удобный и нужный инструмент.

Ивано++
16.08.2013, 12:21
Подскажите какие таблицы в базе MySQL можно почистить?
А то база уже весит 8 гигов!
Есть таблицы в базе:
cache_extensions - размер 12,2 мб
cache_imagesizes - 10,5 мб
sys_log- 220 мб
cache_pages - 48 кб

Какие из них можно почистить? CMS TYPO3 версии 4.7

И подскажите как узнать что в таблице так много весит, а то смотрю в phpmyadmin где столбец размер внизу пишет всего 320 мб, а на хостинге 8 гигов?

Для начала можно попробовать вот этот SQL-запрос на очистку таблиц:
-- Если TYPO3 - не перегружена различными расширениями - то Ваша база будет весит (если сайт до 1000 страниц) - примерно 10 Мб.
Запрос актуален для TYPO3 4.7.10-14!


TRUNCATE TABLE cache_extensions
TRUNCATE TABLE cache_imagesizes
TRUNCATE TABLE cache_md5params
TRUNCATE TABLE cache_treelist
TRUNCATE TABLE cache_typo3temp_log
TRUNCATE TABLE cf_cache_enetcache_contentcache
TRUNCATE TABLE cf_cache_enetcache_contentcache_tags
TRUNCATE TABLE cf_cache_hash
TRUNCATE TABLE cf_cache_hash_tags
TRUNCATE TABLE cf_cache_pages
TRUNCATE TABLE cf_cache_pages_tags
TRUNCATE TABLE cf_cache_pagesection
TRUNCATE TABLE cf_cache_pagesection_tags
TRUNCATE TABLE tx_enetcache_contentcache
TRUNCATE TABLE tx_enetcache_contentcache_tags
TRUNCATE TABLE tx_realurl_chashcache
TRUNCATE TABLE tx_realurl_pathcache
TRUNCATE TABLE tx_realurl_urldecodecache
TRUNCATE TABLE tx_realurl_urlencodecache
TRUNCATE TABLE sys_log
TRUNCATE TABLE sys_history
TRUNCATE TABLE tx_realurl_uniqalias
TRUNCATE TABLE tx_realurl_errorlog


Если база весит столько же - значит причина в другом - возможно в других расширениях, которые также имеют таблицы для кэша... Тогда уже надо смотреть скриншот самого phpmyadmin.

mishani
17.08.2013, 12:38
Для начала можно попробовать вот этот SQL-запрос на очистку таблиц:
-- Если TYPO3 - не перегружена различными расширениями - то Ваша база будет весит (если сайт до 1000 страниц) - примерно 10 Мб.
Запрос актуален для TYPO3 4.7.10-14!


TRUNCATE TABLE cache_extensions
TRUNCATE TABLE cache_imagesizes
TRUNCATE TABLE cache_md5params
TRUNCATE TABLE cache_treelist
TRUNCATE TABLE cache_typo3temp_log
TRUNCATE TABLE cf_cache_enetcache_contentcache
TRUNCATE TABLE cf_cache_enetcache_contentcache_tags
TRUNCATE TABLE cf_cache_hash
TRUNCATE TABLE cf_cache_hash_tags
TRUNCATE TABLE cf_cache_pages
TRUNCATE TABLE cf_cache_pages_tags
TRUNCATE TABLE cf_cache_pagesection
TRUNCATE TABLE cf_cache_pagesection_tags
TRUNCATE TABLE tx_enetcache_contentcache
TRUNCATE TABLE tx_enetcache_contentcache_tags
TRUNCATE TABLE tx_realurl_chashcache
TRUNCATE TABLE tx_realurl_pathcache
TRUNCATE TABLE tx_realurl_urldecodecache
TRUNCATE TABLE tx_realurl_urlencodecache
TRUNCATE TABLE sys_log
TRUNCATE TABLE sys_history
TRUNCATE TABLE tx_realurl_uniqalias
TRUNCATE TABLE tx_realurl_errorlog


Если база весит столько же - значит причина в другом - возможно в других расширениях, которые также имеют таблицы для кэша... Тогда уже надо смотреть скриншот самого phpmyadmin.

Спасибо всем!
Использовал всего один запрос TRUNCATE TABLE sys_log и размер на хостинге уменьшился до несколько мб.

Ивано++
17.08.2013, 14:55
Спасибо всем!
Использовал всего один запрос TRUNCATE TABLE sys_log и размер на хостинге уменьшился до несколько мб.

На рабочем сайте имеет смысл отключать ведение логов:)

Илья
20.08.2013, 13:40
У меня на одном из сайтов постоянно увеличивается размер таблицы cache_pages. Последний раз таблица достигла размера 37Gb :(
Почистил, восстановил из дампа и снова наблюдаю устойчивый рост размера таблицы...
Есть ли вариатны сдерживания этого роста в разумных пределах?
Или только настройка очистки по крону?

Ивано++
20.08.2013, 15:24
А на сколько сам сайт-то большой?
"Сдержать кэширование" - если сайт уже запрограммирован - будет скорее - "переделывать много - чем пользы от этого"...

Илья
20.08.2013, 23:41
А на сколько сам сайт-то большой?

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

Ивано++
21.08.2013, 09:51
Не очень большой сайт - магазин около 1000 товаров.
Посещаемость пока что ничтожная.
Возможно проблема в том, что магазинный экст уже был написан когда я подключился к проекту, и я только дорабатывал его.
Очень не хочется переписывать этот магазин, хотя судя по его коду и по тому, что в нем изначально мало что работало - вполне возможный вариант :(

Вообще странно - что она так много весит...
Наверное есть причина...
(может быть там очень много ссылок с useCacheHash)

Наверное все таки самое постое это сбор мусора кэширования по CRON.

dmartynenko
21.08.2013, 13:25
Посмотрите - может у вас есть некий "генератор паразитного контента".

Пример - календарь в новостях. Каждый день, неделя, месяц - это отдельная кэшируемая страница. Если есть рубрикатор - умножаем каждый день на число категорий в нем. В итоге поисковики находят календарь, начинают ходить по нему туда-обратно скачивая все ссылки. И в кэше оказывается 100500 дополнительных записей. Даже если большая часть страниц содержит 0 полезного контента.

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

Dmitry Dulepov
08.10.2013, 13:24
Если не пользуетесь sys_log, то ему можно поставить ENGINE=BLACKHOLE. Тогда все будет проваливаться в пустоту. В typoscript можно прописать config.clearCacheAtMidnight=1, тогда таблица с страничным кешем будет чистится автоматически.

Еще стоит учитывать, что innodb не использует ранее занятое пространство, поэтому размер файлов на диске у вас все равно будет расти. Не знаю, актуально ли это для вас, но учитывать стоит.

Ивано++
30.10.2013, 15:17
Подскажите какие таблицы в базе MySQL можно почистить?
А то база уже весит 8 гигов!


Если не секрет...
Насколько у Вас большой проект - на вскидку примерно (к примеру по кол-ву страниц), что такой огромный объем БД получается?

Ивано++
28.11.2013, 22:47
Хм...

Поставил стандартный пакет Inducation TYPO3 4.5 CMS.
Прошёлся программкой - спайдером по всему сайту, суть которого - обычный обходчик сайта по всем ссылкам.

Спайдер нашел 108 ссылок.
Размер базы данных = 5 Мб.

1 страница = 0, 04...