【问题标题】:WP_Options table in MySQL database is over 360Mb - can I reduce the size by deleting WC_sessions?MySQL 数据库中的 WP_Options 表超过 360Mb - 我可以通过删除 WC_sessions 来减小大小吗?
【发布时间】:2015-09-29 18:51:42
【问题描述】:

我有一个 Wordpress/woocommerce 商店,我正在尝试清理一些东西,因为它在后端非常缓慢。

在调查时,我发现仅 wp_options 表的大小就超过 360 MB(我不知道正常情况,但看起来很大)通过随机抽查,它似乎几乎完全充满了这样的 woocommerce 会话: _wc_session_119a59e205553cc7d91bbf19b0b64768 和 wc_max_related 没有过期。

  • 我用woocommerce->系统状态->工具删除了所有过期的wc瞬态
  • 我安装了 Transients Manager 插件并删除了所有过期的瞬态,但它只删除了大约 300 个条目。它仍然报告 7,300 个瞬变 (http://i.stack.imgur.com/GXmNw.jpg)

考虑到我在过去 2 或 3 天内只有大约 30 位客户,这似乎很多,我担心这会减慢我的管理面板。在站点上目前没有人的时候删除所有 wc_session 是否安全?如果是这样,我是否通过在 woocommerce-> 系统状态-> 工具中执行“清除所有会话”来做到这一点?我不想删除客户订单或类似的东西,但我的理解是这些只是打开的购物车等。

【问题讨论】:

    标签: mysql wordpress woocommerce


    【解决方案1】:

    您没有提供您正在运行的 WooCommerce 版本,但通常有两个原因导致客户会话数超出预期:

    1. CRON 任务不工作
    2. 机器人访问网站并创建多个会话

    客户会话在 WooCommerce 中存储 48 小时。

    在此 stackoverflow 问题中发布了针对您的情况的补救措施: woocommerce generating more sessions than users

    【讨论】:

    • 我认为你在 CRON 任务不工作的情况下击中了它。情况似乎如此。谢谢!!!
    • 我遵循了推荐帖子中的建议,并通过清除 woocommerce->系统状态->工具中的所有客户会话,我的表格文件大小从 360MB 降至 60MB!现在开始修复 cron 问题....
    【解决方案2】:

    更新:在 WooCommerce 2.5 中,woocommerce-large-sessions 已合并到核心中。

    对于我的一些客户,CRON 任务有效,我们阻止了网站添加到购物车中的机器人。 wc_sessions 仍然失控。我发现这个插件是因为将 wc_sessions 存储在 wp_options 表中导致选项缓存出现问题而创建的。

    这个插件将 wc_sessions 从 wp_options 移到它自己的表中,并每小时执行一次清理。*

    插件:https://github.com/kloon/woocommerce-large-sessions

    • 我刚开始使用它,所以我会回来确认它是否有效。

    【讨论】:

    • 我很想知道这是怎么回事。在我的 wp_options 表变得如此庞大以及它似乎对我的网站性能产生了多大影响之后,我很想找到一个更好的方法,我会研究它,希望它运作良好。我不禁想知道我的表格中还有什么会对我的网站速度产生负面影响。
    • 运行一周后,结果就出来了。该表保存了大约 52k 行,最大 session_id 为 75765。因此 cron 作业正在运行。我相信该插件会持续三 (3) 天。此外,无论此表的大小如何,网站上的性能都非常好,并且速度为零!
    • 谢谢,介意投票我的答案还是更好,接受它作为答案?
    • 赞成。收到一条消息,说我的声誉太新/太低,无法显示
    猜你喜欢
    • 1970-01-01
    • 2011-11-06
    • 2015-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 1970-01-01
    • 2015-10-26
    相关资源
    最近更新 更多