使用购物车促销时出现OOM及超时问题
购物车促销功能大数量商品下内存溢出故障
问题描述
当店铺商品数量较多时,因促销计算机制缺陷,无法正常使用促销功能。例如设置全购物车5%折扣时,系统会为每个商品数量单独加载一条lineitem到内存中,该操作会被调用6次,不仅占用大量内存,商品数量较多时还会导致运行缓慢。
当购物车中商品数量超过几百件时,购物车直接崩溃。
附件为Blackfire截图,展示了包含1个lineitem、1个全购物车生效促销(理论上无需拆分lineitem)且数量为1000的购物车情况。
环境
- 生产环境(PRD)
复现步骤
- 创建全购物车折扣类促销活动
- 调高购物车最大数量限制
- 将购物车中商品数量修改为1000这类大数
预期结果
商品数量修改成功,购物车正常加载,促销计算正常执行
实际结果
商品数量无法修改,网站因内存不足(OOM)返回500错误
内容的提问来源于stack exchange,提问作者Rune Laenen
相关产品推荐
相关产品推荐

