MySQL 数据库中的 WP_Options 表超过 360Mb - 我可以通过删除 WC_sessions 来减小大小吗?
Posted
技术标签:
【中文标题】MySQL 数据库中的 WP_Options 表超过 360Mb - 我可以通过删除 WC_sessions 来减小大小吗?【英文标题】:WP_Options table in MySQL database is over 360Mb - can I reduce the size by deleting 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-> 系统状态-> 工具中执行“清除所有会话”来做到这一点?我不想删除客户订单或类似的东西,但我的理解是这些只是打开的购物车等。
【问题讨论】:
【参考方案1】:您没有提供您正在运行的 WooCommerce 版本,但通常有两个原因导致客户会话数超出预期:
-
CRON 任务不工作
机器人访问网站并创建多个会话
客户会话在 WooCommerce 中存储 48 小时。
在此 *** 问题中发布了针对您的情况的补救措施: 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) 天。此外,无论此表的大小如何,网站上的性能都非常好,并且速度为零! 谢谢,介意投票我的答案还是更好,接受它作为答案? 赞成。收到一条消息,说我的声誉太新/太低,无法显示以上是关于MySQL 数据库中的 WP_Options 表超过 360Mb - 我可以通过删除 WC_sessions 来减小大小吗?的主要内容,如果未能解决你的问题,请参考以下文章
在 WordPress 中使用 MySQL 查询检索小部件数据