跳到主内容
版本: 1.x

结账缓慢与订单存储(HPOS)

症状: WCPOS 结账需要几秒钟,而且随着时间推移越来越慢。

一个常见原因是 WooCommerce 存储订单的方式。本页将介绍如何检查,并说明如何使用 WooCommerce 自带的工具切换到速度更快的选项。

旧版订单存储为何会拖慢结账​

使用旧版存储时,WooCommerce 会将订单与 WordPress 文章存放在一起,无法根据 WCPOS 分配的 ID 快速查找订单。因此,每次 WCPOS 保存订单时,都必须逐条搜索店铺记录;店铺规模越大,搜索所需时间就越长。

WooCommerce 的高性能订单存储 (HPOS) 会将订单存放在专用数据表中,因此同样的搜索几乎可以即时完成。

我们在一家店铺(有 30,000 件商品,使用旧版存储)测得,每次搜索约需 0.46 秒,一次结账大约会进行两次搜索。使用 HPOS 后,同样的搜索只需约 1 毫秒。您的店铺情况可能不同,但规模越大,可能获得的提升也越明显。

WCPOS 支持哪些方式​

  • WCPOS 完全支持 HPOS,并且我们推荐使用它。
  • 旧版存储仍可正常使用。 不会导致功能损坏;只是在大型店铺中结账速度较慢。

检查店铺当前使用的存储方式​

  1. 在 WordPress 管理后台中,前往 WooCommerce → 设置 → 高级 → 功能。
  2. 找到订单数据存储:
    • 已选择高性能订单存储(推荐):您已经在使用 HPOS,因此这不是问题原因。请参阅结账缓慢的其他原因。
    • 已选择WordPress 文章存储(旧版):切换到 HPOS 应能加快结账速度。请继续阅读。

切换到 HPOS​

WooCommerce 会代您迁移订单。它会先将订单复制到新数据表中(即同步),然后再切换。在复制完成之前,WooCommerce 不会允许您切换。

请先备份

开始之前,请完整备份网站和数据库,并确认可以成功还原。如果您有暂存站点,请先在那里尝试切换。

  1. 前往 WooCommerce → 设置 → 高级 → 功能。
  2. 勾选启用兼容模式,然后点击保存更改。WooCommerce 将在后台开始复制订单。在大型店铺中,这可能需要一段时间;复选框下方会显示进度。如果页面提示订单尚未同步且进度没有变化,请点击立即同步订单。
  3. 复制完成后,选择高性能订单存储(推荐),然后点击保存更改。
  4. 暂时保持兼容模式开启。它会让两份订单数据保持同步,因此出现问题时,您可以立即切回原来的方式。利用这段时间检查其他插件,并在 WCPOS 中进行几笔测试销售。
  5. 确认一切正常后,取消勾选启用兼容模式,然后点击保存更改。
如果 HPOS 选项显示为灰色

如果有启用中的插件被标记为与 HPOS 不兼容,WooCommerce 就会阻止切换。功能页面上的警告会列出这些插件,并提供查看和管理链接。切换之前,请先更新这些插件,或向其开发者咨询 HPOS 支持情况。

完整说明请参阅 WooCommerce 指南:高性能订单存储。

结账缓慢的其他原因​

订单存储并非导致结账缓慢的唯一因素。如果您已经在使用 HPOS,或切换后结账仍然缓慢,请检查以下方面:

  • 您的托管服务。 负载过高或性能不足的服务器会拖慢每个步骤。请参阅服务器性能。
  • 保存订单时运行的其他插件,例如会计、电子邮件营销或库存插件。请参阅插件冲突和结账性能。