Помощь Как сделать, чтобы после удаления товаров, база данных и кол. файлов возвращались к прежним объёмам?

Byteman

Мой дом здесь!
Регистрация
18 Мар 2008
Сообщения
484
Реакции
242
Здравствуйте. Вопрос.
В магазине на престе 1.7 было около 240 товаров.
При этом в бэкапе насчитывалось менее 30 тысяч файлов и база весила менее 30 мб.
После этого пришлось несколько раз импортировать около 55 тысяч товаров и затем их все удалять.
Удаление производил через Store Manager и картинки удаляемых товаров автоматически
добавлялись Стор менеджером в ФТП-очередь на удаление и на самом деле удалены, проверил SmartFTP, который позволяет просматривать картинки на сервере.
Также очистил кэш и произвёл очистку базы модулем Clean Prestashop.
То есть, в магазине снова только 240 товаров и вроде всё почищено.

Тем не менее, теперь база весит более 60 мб, а фтп скачал уже 80 тысяч файлов и конца этому пока не видно.
Я не понимаю откуда столько файлов и почему база в раза раздута.
Вижу, что фтп качает без конца файлы из папки /img/p/ и подпапок.
Также вижу, что в /img/p/ множество пустых подпапок или папок с одним файлом: fileType

Вопрос: можно ли безболезненно удалять все эти пустые папки с файлами fileType?
И почему раздулась база и откуда многократное увеличение количества файлов?

upload_2018-7-5_14-9-10.png
 
Последнее редактирование модератором:
есть такая програмулина heidisql(присутствует в openserver или можно скачать)
показывает размер всех таблиц sql базы и кол-во строк
там и смотрите, где почистить
heidisql.jpg

а SM удалите задание загрузки по ftp, там в настройках стоит 10 попыток на каждый файл и если их 30000
 
есть такая програмулина heidisql(присутствует в openserver или можно скачать)
показывает размер всех таблиц sql базы и кол-во строк
там и смотрите, где почистить
Посмотреть вложение 96706

а SM удалите задание загрузки по ftp, там в настройках стоит 10 попыток на каждый файл и если их 30000

Спасибо за советы. Воспользуюсь.

А всё же: можно ли безболезненно удалять все эти пустые папки из подпапок в /img/p/ (нет картинок, но содержат только файлы fileType) ?

И вопрос по поводу heidisql: я пользуюсь phpMyAdmin - она также показывает размер таблиц. У heidisql есть какие-то преимущества?
 
можно, но если в базе sql есть записи нужно почистить
когда грузите в .csv изображение прописывается site.ru/img/p/1/4/photo.jpg
heidisql как то мне проще, все нагляднее, все на компе
ну это как админкаPS и SM
 
Последнее редактирование:
...вроде всё почищено.

Тем не менее, теперь база весит более 60 мб, а фтп скачал уже 80 тысяч файлов и конца этому пока не видно.
Я не понимаю откуда столько файлов и почему база в раза раздута.
Вижу, что фтп качает без конца файлы из папки /img/p/ и подпапок.
Также вижу, что в /img/p/ множество пустых подпапок или папок с одним файлом: fileType

Вопрос: можно ли безболезненно удалять все эти пустые папки с файлами fileType?
И почему раздулась база и откуда многократное увеличение количества файлов?
Любая БД на любом движке требует периодического сжатия, ведь упрощённо говоря, у вас записи/индексы на самом деле не удаляются из БД, а лишь помечаются как удалённые. Это делается в основном для скорости.
У масдайного SQL'я есть удобная фишка, называется SHRINK DATABASE - как раз сжимает и оптимизирует БД.
К сожалению, в MySQL нет аналога SHRINK DATABASE из MS SQL.
Зато есть другие способы.
"Оптимизация" сразу всей БД:
по-аглицки: Для просмотра ссылки Войди или Зарегистрируйся
по-русски: Для просмотра ссылки Войди или Зарегистрируйся

Оптимизация каждой таблицы вручную: Для просмотра ссылки Войди или Зарегистрируйся

Что же касается файлов в /img, думаю, тут будет непросто. Метод научного тыка вам в руки. Обычно перед экскрементированием над своим сайтом я делаю полную копию всего - БД в виде SQL, бинарные файлы БД, ну и всю папку с престой. Тогда восстановить становится гораздо проще.

UPD: обращаю внимание, в случае использования innodb оптимизация каждой таблицы не уменьшит размер БД. Так что, как написано в инструкции по-русски, всё равно не обойтись без дропа/восстановления БД.
 
Последнее редактирование:
Любая БД на любом движке требует периодического сжатия, ведь упрощённо говоря, у вас записи/индексы на самом деле не удаляются из БД, а лишь помечаются как удалённые. Это делается в основном для скорости.
У масдайного SQL'я есть удобная фишка, называется SHRINK DATABASE - как раз сжимает и оптимизирует БД.
К сожалению, в MySQL нет аналога SHRINK DATABASE из MS SQL.
Зато есть другие способы.
*****************************
UPD: обращаю внимание, в случае использования innodb оптимизация каждой таблицы не уменьшит размер БД. Так что, как написано в инструкции по-русски, всё равно не обойтись без дропа/восстановления БД.

Всем спасибо за полезные советы. Буду вникать.
Но разве этот модуль не оптимизирует базу престы:
upload_2018-7-5_20-15-31.png

upload_2018-7-5_20-17-8.png

upload_2018-7-5_20-18-19.png

И я так и не понял откуда берутся 144 тысячи файлов вместо бывшич 30 тысяч при тех же, что и ранее, 244 товарах,
где на каждый товар, в основном, по 1, иногда по 2 фотки.

upload_2018-7-5_20-22-15.png

Бекап при моём 100 мб/сек интернете, длился множество часов, по сравнению с не более, чем часом до импорта новых товаров и потом их удаления.
 
UPD: обращаю внимание, в случае использования innodb оптимизация каждой таблицы не уменьшит размер БД. Так что, как написано в инструкции по-русски, всё равно не обойтись без дропа/восстановления БД.

Так ведь innodb стандарт в престе 1.7. Почти все таблицы innoDB.
 
В Store Manager есть на закладке Инструменты - Диагностика магазина, можно попробовать воспользоваться - запустить программы диагностики и удалить ненужные записи
Screenshot_11.png
 
Всем спасибо за полезные советы. Буду вникать.
Но разве этот модуль не оптимизирует базу престы:

Этот модуль немного на другом уровне работает. Он может КОРРЕКТНО удалить все записи, относящиеся к каталогу из БД, или к заказам (с заказами есть пара не слишком очевидных засад), или если например товар удалился, а его атрибуты/комбинации - нет, или что-то в этом же роде. Про то, как бекапнуть/дропнуть/восстановить БД он ничего не знает.

И я так и не понял откуда берутся 144 тысячи файлов вместо бывшич 30 тысяч при тех же, что и ранее, 244 товарах,
где на каждый товар, в основном, по 1, иногда по 2 фотки.

Скажите, а после удаления большого количества товаров вы не пробовали пересоздать миниатюры? Возможно, преста автоматом удалит всё неиспользуемое, нет?

Бекап при моём 100 мб/сек интернете, длился множество часов, по сравнению с не более, чем часом до импорта новых товаров и потом их удаления.

Ну, 100 мб/сек - это очень немало во-первых, а во-вторых, сначала на сервере складываете файлы в tar/zip/7zip/rar или какой вам архиватор нравится, а потом уже этот архив утаскиваете к себе.
Вообще, странно, вы же в Германии вроде, купите себе немного хецнера, у них гиг на порту и бэкбона 10гиг. У меня обновы прилетают моментально! На такой скорости можете себе хоть каждый час бекапы таскать :)

Так ведь innodb стандарт в престе 1.7. Почти все таблицы innoDB.

innodb стандарт скорее в MySQL, а не в престе.
UPD: и да, в скрипте престы всё немного хитрее. При создании таблицы используется переменная ENGINE_TYPE, так что если в настройках мускуля укажете MyISAM, то по идее преста должна создать вам БД на MyISAM :)
 
В Store Manager есть на закладке Инструменты - Диагностика магазина, можно попробовать воспользоваться - запустить программы диагностики и удалить ненужные записи
Посмотреть вложение 96716
Спасибо, воспользуюсь.
Похоже я нашёл подходящий модуль по этой теме:
Для просмотра ссылки Войди или Зарегистрируйся

Выдержка:

"
WHAT ULTIMATE DATABASE OPTIMIZER DOES...


CLEANING OF DYNAMIC TABLES
As time goes by, data are stored in the databases in the tables related to customer visits, statistics, connection data, etc ... So they keep daily records in the database . These registers are occupying space and slowing down the functioning of the database. This module allows periodic cleaning of these dynamic tables manually and/or automatically.
It also has a warning function when the database tables contain an excessive number of records, as well as a heavy size.

DELETING ORDERS
By default in Prestashop, it is not possible to delete orders from the BO, so you have to resort to modules with this function added. The Ultimate Database Optimizer module has this function! It shows a table with the current orders and functions of search, filtering and ordering of the elements. It has a powerful deletion function that eliminates the orders selected in depth, eliminating all the traces left in the related tables (invoices, shopping carts, returns, etc...).
With this deletion feature you can eliminate orders without leaving a trace in the database or creating conflicts of referential integrity.

SHOPPING CARTS DELETIONS
The table where the data of the shopping carts are stored, with time is usually filled with waste and records of abandoned shopping carts that do not matter with the passage of time. Therefore, in order to eliminate them, this module has a useful tool. It is possible to eliminate all the abandoned carts or limit the elimination by dates.

ELIMINATION OF SPECIFIC PRICES
When we configure the prices on offer for each of the products, we sometimes limit them with a date, so after that time, the specific price registration for the product is invalidated and saved in the database as waste. It is very important from time to time to clean these residues. With this module it is possible to do it, even by expiration date.

SECURITY BACKUPS OF THE DATABASE
The most important thing to save your store. With this module you have a section to administer the backup files of the database, make backup copies, restore them or download them in a compressed file to the computer. It has an option to automate the process of making backup copies through a CRON task and automatically every time any action is taken within the module.
You will never lose the most important data of your store. A daily backup automatically is the solution!

DELIVERY OF EMAILS
One of the most innovative features in this module is that you can automatically receive your email address or a group, a complete record of database activity, notification messages and warnings of the state of the database and sending the backup file of the database every time it is made.
Ultimate Database Optimizer will keep you informed instantly of everything that is happening to the database of your store.

ADVANCED UTILITIES
Ultimate Database Optimizer is also a very powerful tool with advanced utilities to configure the database with options that are not available in any other software.
The following utilities are available:
  • Change of prefix of the database - Increasing the security against external attacks.
  • Changing the database engine - Choose between InnoDB and MyISAM, each with its characteristics.
  • Changing the file format of the database - Choose between Barracuda and Antelope. Increasing performance remarkably
  • Compression of database tables - Reduce the size up to 70%! and increase the performance.
All these advanced utilities are specially implemented to be able to increase the performance of the database, security and speed of operation. This translates into an online store 100% safe, without errors and fast.
A RAPID AND SAFE STORE INCREASES SEO BY IMPROVING WEB POSITIONING
REPAIR, OPTIMIZATION and DESFRAGMENTATION

The most common problems we face in Prestashop's MYSQL database are loss of data, waste in related tables, orphan records and fragmented data. Because of this the database becomes unstable and errors and anomalous behaviors begin to appear in the store.
The module has the ability to repair, optimize, defrag and clean the database easily, quickly and efficiently.
You will maintain your database in optimal conditions and avoid sales losses.

ADVANCED STATE MONITORING SYSTEM
This module is designed with a complex algorithm in charge of constantly monitoring the database in search of any anomaly. Detects the problem and reports in detail through a viewer of notifications and alerts. You will know at all times how the database is, and if there is a problem, it informs you in detail so you can solve it with the tools of the module.
Through a status bar indicator, you can know the level of optimization that your Prestashop database has.

IMPROVED GRAPHIC INTERFACE
It has a fully optimized and OPTIMIZED graphic interface so you can navigate between the options of the module in the easiest and most intuitive way. It shows an information panel with all the relevant data of the database (version, engine of the tables, total number of tables, size of the database, etc...), and a status bar indicating percentage optimization .
OPTIMIZATION TURBO IN ONE CLICK
It has a button with the complete TURBO optimization function just by pressing it. So you do not have to worry about anything. Ultimate Database Optimizer, will do everything for you and will leave your database 100% optimized performing the necessary and necessary actions in each case.
PRESS THE BUTTON AND LET ULTIMATE DATABASE OPTIMIZE DO IT ALL FOR YOU.

PROGRAMMED TASKS
This is one of the most outstanding features of this module. We know that a user can not be constantly aware of the status of their database, for this reason this module implements the programmed task function so that all the actions can be carried out periodically with the desired frequency:
  • Checking and repairing database
  • Optimization and defragmentation
  • Database compression
  • Making backup copies
  • Repair of referential integrity issues
  • Change of database engine
  • Cleaning dynamic tables
  • Elimination of abandoned carts
  • Elimination of specific prices due
  • Sending emails with notifications and warnings of the state of the database
  • Sending emails with the backup copy of the database

LOG REGISTER
A complete record of all the activity of the module is available on the basis of data. You will have information on each of the actions taken in the database, so that you can know exactly, knowing the trail left by each action taken.

COMPATIBLE WITH PRESTASHOP 1.6 AND 1.7
".

Кто-нибудь пользовался этим модулем?
 
Назад
Сверху