业务背景
交易平台的录播、商品图片和水印处理会形成持续资源成本。优化从实际访问路径出发,让完整资源只在需要时加载,并改善应用运行时内存。
关键问题
- 列表自动播放完整录播,浏览行为会触发大量无效视频传输。
- 原图、重复媒体处理和应用内存占用,都会随业务量累积成本。
我的实现与取舍
- 将录播自动播放改为中间 5 秒 HLS 预览,用户点击后再加载完整视频;预览记录去重,TS 分片按需生成。
- 图片按展示尺寸分档缩放并转换 JPG,模型审核使用缩略图,避免不必要的大图传输。
- Rails 8 升级后引入 libjemalloc2,结合应用运行反馈改善 Pod 内存占用。
- 通过函数计算运行 FFmpeg 水印处理,使用 OSS 内网端点和断点传输;跳过已加水印视频,复用已有对象及同源处理结果。
落地结果
- 减少列表浏览触发的完整录播下载及 CDN 无效流量。
- 将媒体体积、重复计算和内存占用一并纳入持续成本治理。
- 内存下降和成本改善来自本人实际反馈;具体账单差额、节省比例待补充监控对照。
欢迎深入交流
可以展开聊:预览与完整播放的切换、HLS 按需分片、图片压缩清晰度、jemalloc 内存行为、函数计算与托管转码的成本权衡。
