magento - 减少Magento网站上的inode数量

标签 magento count runtime-error inode

我的网站上出现错误,我的网站 inode 计数超载。托管inode限制为200,000,但是我的网站inode数量为909,496,我什至无法打开phpMyAdmin。托管支持要求我删除未使用的文件。如何减少inode数量以及基于Magento的网站中未使用的文件?

最佳答案

通常,这表明您需要更强大的托管服务提供商。

Magento在操作期间创建文件的主要位置在var/文件夹和您的产品图像缓存中。

如果您从未进行过检查,则以下区域会积聚大量碎屑。使用ftp客户端,检查var/文件夹中的以下区域:

  • 检查var/session中是否没有成千上万的 session 文件,删除比当前日期更旧的文件
  • 检查var/report中是否没有过多的文件,您可能想找出Magento生成它们的原因并解决问题。全部删除。
  • 日志记录将随着时间的推移在var/log中生成多个大文件,将其删除,然后查看新文件以找出正在生成的错误。
  • 导入等内容可能导致临时文件堆积在var/tmp中,将其删除。还要在var/import中 checkin 可以删除的旧导入文件

  • 存储的数据库备份使用admin后端var/backup保存在System > Tools > Backups中:
  • 将最新的数据库备份下载到本地工作站,然后删除所有备份。

  • Magento使用大量的缓存来存储信息,如果您的目录很大,那么最大的将是图像缓存,并且它将包含从一开始就缓存的图像;如果您随着时间的推移删除了产品,则将包含很多无用的图像。使用Admin后端,进入System > Cache Management:
  • 清除Magento缓存。
  • 刷新目录图像缓存。

  • 当您删除产品时,Magento不会删除产品图像。实际上,Magento将是出现在电视上一段时间的Hoarder节目之一的主要候选人。
  • 使站点正常运行后,consider installing ImageClean

  • 希望这将减少您的inode数量,足以执行以下操作。 在继续之前,请进行几次数据库备份并在服务器之外存储!!!

    下一步是询问您的主机提供商,他们是否将数据库包括在该inode表计数中。如果这样做的话,就像Magento使用innodb一样,您可能会卡住,并且很可能他们便宜地没有设置MySQL to use files-per-table ,因此您可以通过优化每个表来调整innodb文件的大小。询问他们在设置MySQL时是否使用files-per-table,如果他们不知道它是什么,请在您的肚子里养成那种沉没的感觉。

    一些表过大,特别是如果您尚未在cPanel中正确设置Magento主cron作业触发器,并检查以确保在System > Configuration > Advanced > System > Log Cleaning中启用了日志表清理,则尤其如此。这些表如下:
            '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',
            'index_event',
            'report_event',
            'report_viewed_product_index',
            'report_compared_product_index',
            'catalog_compare_item',
            'catalogindex_aggregation',
            'catalogindex_aggregation_tag',
            'catalogindex_aggregation_to_tag'
    

    Magento has a built-in script to clean the logs.如果由于从未设置cron作业而导致运行崩溃并导致内存错误,并且清理起来太多,那么Crucial Web Host可以运行到manually delete all log file contents.脚本,其中包括不会清除的数据流表由Magento日志清理过程清除。如果您经常使用数据流导入/导出,则可以使用Nexcess has a script来检查数据流表的大小并清除它们。

    清理数据库后,您将需要使用phpMyAdmin优化Magento数据库中的每个表。如果托管服务提供商尚未设置 files-per-table in MySQL,它将蹲下以减少您的inode数量。

    毕竟,不要麻烦删除应用程序文件或Magento使用的其他任何东西。除了var/文件夹和图像缓存之外,它并没有真正积累太多,您最终可能会死掉一个网站。

    在这一点上,您受共享服务器托管计划的支配,该计划已决定限制每个帐户可以执行的操作,并且不允许足够的资源来运行Magento,从而对所有人公平。开始寻找支持Magento的托管服务提供商,因为他们为您提供了足够的磁盘空间来运行您的电子商务,而他们通常不费心地限制您的inode数量(一种便宜的技巧,允许太多人共享硬盘驱动器)网站。

    关于magento - 减少Magento网站上的inode数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25353118/

    相关文章:

    excel - Visual Basic Excel 宏 MessageBox.Show 引发 "Object Required"错误

    javascript - 如何使用动态名称更新 Json 对象

    magento - 如何将 Magento 分层导航 block 从左列移动到右列?

    magento - 加入集合以获取客户名称(用于管理网格)

    recursion - 计算一个子句的调用次数

    sql - 计数返回空白而不是0

    Magento 全页缓存与 Varnish

    mysql - 如何统计该类别的产品数量?

    java - 在 cmd 中运行 java 文件 - 给出错误

    excel - 为什么在 excel 2013 中大多数时候运行 UserForm 时会出现运行时错误 -2147417848 (80010108)?