今天有一个客户反馈说设置了新产品后,首页不显示,连之前有的产品都没有了,厦门简尚网络登录到CPANEL面板里一看,原来是空间超出了。
随着Magento网站访问量的增加,Magento数据库也越来越大了,甚至有几十个G,直接后果:
1.影响网站和数据库性能;
2.备份/恢复数据库花费的时间增加了;
3.占用磁盘空间;
4.出现一些设置产品不显示的问题
Magento数据库迅速膨胀,主要是由于一些日志数据的剧增,可以通过Magento自身的cron定时清理日志。
另外一种又快又好的办法是执行SQL清理,如下:
truncate dataflow_batch_export;
truncate dataflow_batch_import;
truncate log_customer;
truncate log_quote;
truncate log_summary;
truncate log_summary_type;
truncate log_url;
truncate log_url_info;
truncate log_visitor;
truncate log_visitor_info;
truncate log_visitor_online;
truncate report_viewed_product_index;
truncate report_compared_product_index;
truncate report_event;
set foreign_key_checks = 0;
truncate index_process_event;
truncate index_event;
set foreign_key_checks = 1;
数据库清理数据有风险,请注意备份好数据库。
解决了上述问题,我们要怎么样可以避免数据库日志的增加呢?
我们可以设置magento自动清空log,方法如下:
1) 登录你的magento后台进入 System -> Configuration
2) 在左栏进入 Advanced -> System
3) 打开 Log Cleaning
4) 设置 “save log, days” 到一个数值, 这个的单位是天,我觉得几天清空一次就好了
5) 设置激活自动清空log设置
如下图为设置每天自动清空我的magento数据库log。这里清理的时间段还是比较少人访问的时候,可以节省服务器的开销,然后是可以避免前台在线客户的一些数据产生异常。
图中表示的意思,log保存时间为:7天,开启自动清理缓存:是,清理开始时间:0时,清理的频率:一周
这样就可以避免空间浪费和提高了那么点运行速度了。
----------------------------------------------------------------
给Magento网站搬家到时候发现的,数据库大小差不多1G了,但是网站总共产品都不到100呢,严重影响网站备份效率,以下是清理Magento数据库的方法。
方法1:SQL清理Magento日志记录表。
主要涉及到的表有dataflow_batch_export、dataflow_batch_import、log_customer、log_quote、log_summary、log_summary_type、log_url、log_url_info、log_visitor、log_visitor_info、log_visitor_online、report_viewed_product_index、report_compared_product_index、report_event。
这里给出sql清理脚本:
truncate dataflow_batch_export; truncate dataflow_batch_import; truncate log_customer; truncate log_quote; truncate log_summary; truncate log_summary_type; truncate log_url; truncate log_url_info; truncate log_visitor; truncate log_visitor_info; truncate log_visitor_online; truncate report_viewed_product_index; truncate report_compared_product_index; truncate report_event;
当然,直接进入phpmyadmin清理相关表也可以,见下图。
选定之后,直接清空即可。
方法2:Magento后台清理
System > Configuration > Advanced > Log Cleaning > Enable Log Cleaning,把默认的180修改为15,即15天自动清理一次,之后保存。