微信小程序CDN流量使用情况概述
小标签 | |
CDN流量消耗快的原因 | 小程序中图片资源过多,未进行压缩处理,导致流量消耗过快。 |
控制CDN流量的方法 | 压缩图片大小,减少图片请求次数,通过本地缓存来降低CDN流量消耗。 |
CDN流量计费模式 | 按量付费和管道付费,按量计费不限制同一时间跑出去的量,而管道付费则限制“道路”宽度。 |
CDN回源流量 | 当存储中有文件更新时,CDN节点会丢弃过期旧文件,向主存储请求最新文件的流量称为CDN回源流量。 |
详细解析
1、CDN流量消耗快的原因
图片资源过多且未压缩:小程序中的图片资源如果过大,会导致CDN流量消耗过快,一个小程序的图片资源较多,且没有进行有效的压缩处理,人均CDN流量可以达到30MB甚至更高。
2、控制CDN流量的方法
压缩图片大小:这是最根本的措施,可以通过工具如微信自带的图片压缩功能或第三方网站如compresspng.com来进行图片压缩。
减少图片请求次数:在图片被压缩后,将图片在第一次请求后保存在本地,并设置有效时限,在此期间再次加载这张图片时直接从本地拉取,不再发起新的请求。
示例代码:
“`javascript
let homeTopBgStoragePath = wx.getStorageSync(‘homeTopBgStoragePath’);
if (homeTopBgStoragePath) {
this.setData({
homeTopBgStoragePath: homeTopBgStoragePath
});
} else {
wx.downloadFile({
url: ‘xxx’,
success: res => {
if (res.statusCode === 200) {
const fs = wx.getFileSystemManager();
fs.saveFile({
tempFilePath: res.tempFilePath,
success: res => {
wx.setStorageSync(‘homeTopBgStoragePath’, res.savedFilePath);
this.setData({
homeTopBgStoragePath: res.savedFilePath
});
}
});
}
}
});
}
“`
3、CDN流量计费模式
按量付费:按实际跑出的数据量计费,不限制同一时间的流量峰值,如果在同一时间需要跑出100M的数据,那么峰值就开到100M,费用按100M计算。
管道付费:限制网络通道的宽度,按照通道的宽窄收费,选择1M的网络通道,费用按1M的价格计算,即使低峰时段也必须为这个“道路”付钱。
4、CDN回源流量
缓存时间设置:CDN节点上的文件副本有缓存时间,超过这个时间后再收到请求时,CDN节点会丢弃过期旧文件,向主存储请求最新文件,缓存时间既不能太长也不能太短,以避免频繁回源或数据更新不及时的问题。
云存储缓存配置:云开发提供了非常细微颗粒度的缓存时间设置,可以针对单个文件、路径或文件后缀分别设置缓存时间,并设置优先级策略。
相关问题及解答
1、问题一:为什么微信小程序的CDN流量消耗会这么快?
解答:主要原因是小程序中的图片资源过大且未进行压缩处理,频繁的图片请求也会增加CDN流量消耗,需要通过压缩图片和减少请求次数来控制CDN流量。
2、问题二:如何优雅地管控微信小程序的CDN流量消耗?
解答:可以通过以下方法优雅地管控CDN流量:
1. 压缩多媒体文件的大小,以减少流量资源的消耗。
2. 善用客户端的本地缓存能力,将固定资源全部缓存,避免重复请求。
3. 根据业务需求合理设置CDN缓存时间,避免频繁回源。
4. 了解并选择合适的CDN流量计费模式,避免不必要的资源浪费。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复