商品编辑页打开正常,点“保存”却等待几十秒,先把问题分成两段:请求提交前慢,还是服务器收到请求后慢。前者常见于属性过多、浏览器脚本和图片上传;后者才需要看 PHP、数据库与扩展代码。

在测试环境记录一次保存请求的总耗时,并对比只改商品名称、价格、分类和图片时的差异。分类数量很多时,分类关联保存可能明显变慢;属性集包含大量不用的属性,也会增加表单和 EAV 写入。

保存事件最容易被扩展拖慢

检查针对 product save 的 observer、plugin 和消息发送逻辑。有些扩展会在保存过程中同步调用 ERP、搜索服务或图片接口,只要外部请求变慢,后台就一直等待。外部同步更适合写入队列,再由消费者处理。

索引设为 Save 模式时,保存动作可能同步更新多个索引;商品规模较大时可评估按计划更新。最终要用性能追踪找到具体 SQL 或方法,不要用不断提高 PHP 超时来掩盖瓶颈。