移动网络访问云上对象存储最佳实践

1、背景

随着移动应用的普遍应用,智能移动设备在不一样的无线通讯网络状况下,会有不一样的网络速度,如何在2G、3G、4G、5G无线通讯网络下访问云存储的用户体验更好,是应用设计的核心竞争力,特别是弱网状况下的体验。html

2、网络技术分析

实际网络中,没有绝对的弱网,核心是“新应用针对新一代网络设计(4G下行速率为100Mbps)、从而在前一代网络运行(2G下行速率为9.6Kbps)时网络体验差”。所以,须要先分析网络速率。前端

2.1 移动网络分析

2.1.1 术语

简称 全称
2G 2nd-Generation
3G 3rd-Generation
4G 4rd-Generation
5G 5rd-Generation
GSM Global System for Mobile Communications
EGSM Extend-Global System for Mobile Communications
DCS Digital Cellular System/Digital Communications System
PCS Personal Communications Service
GPRS General Packet Radio Service
EDGE Enhanced Data rates for GSM Evolution
CDMA Code Division Multiple Access
TD-SCDMA Time Division - Synchronous Code Division Multiple Access
WCDMA Wide band Code Division Multiple Access

其中,2G 包含 GSM900/EGSM/DCS1800/PCS1800 技术、2.5G 包含 GPRS 技术, 3G 包含 CDMA2000/TD-SCDMA/WCDMA 技术、4G 包含 TD-LTE/FDD-LTE 技术。git

2.1.2 网络速度

技术点 上行速率(bps) 下载速率(bps) 备注
1G 无数据传输 N/A N/A 发明于 1980s
2G GSM900 2.7K 9.6K 发明于 1995,短信应用
EGSM900 2.7K 9.6K
GSM1800 2.7K 9.6K
GSM1900 2.7K 9.6K
2.5G GPRS 42.8K 85.6K
EDGE 45K 90K
3G CDMA2000(中国电信) 1.8M 3.1M 发明于 2003,图片、语音应用
TD-SCDMA(中国移动) 384K 2.8M
WCDMA/HSPA/HSPA+(中国联通) 1.8M/5.76M 2.4M/7.2M/21M
4G 中国电信 50M 100~150M 发明于 2009,视频应用
中国移动 50M 100~150M
中国联通 50M 100~150M
5G WiFI 600M 1Gbps~20Gbps(理论带宽) 发明于2020,IoT 应用

2.2 网络环境参数

除了上述的上/下行带宽外,还要关注上/下行丢包率、上/下行延迟、最大传输单元(MTU, Maximum Transmission Unit)、DNS延迟、链接稳定性等指标。网络

3、访问云上对象存储实践

假设网络上传带宽为 uBW,下载带宽为 dBW,应用超时t
因此ide

上传数据包大小 uPKG = uBW * t
下载数据包大小 dPKG = dBW * t

例如 2.5G 网络技术GPRS下,上传带宽 uBW 为 42.8K,下载带宽 dBW 为85.6K,
假设为优化应用体验设置超时为 1 秒,那么:
  上传数据包大小 uPKG = 42.8 Kbps * 1s /8 = 5.35 KB
    下载数据包大小 dPKG = 85.6 Kbps * 1s /8 = 10.7 KB

例如 3G 网络技术WCDMA下,上传带宽 uBW 为 1.8M,下载带宽 dBW 为2.4M,
假设为优化应用体验设置超时为 1 秒,那么:
  上传数据包大小 uPKG = 1.8 Mbps * 1s / 8 = 230 KB
    下载数据包大小 dPKG = 2.4 Mbps * 1s / 8 = 300 KB

例如 4G 网络技术下,上传带宽 uBW 为 50M,下载带宽 dBW 为 100M,
假设为优化应用体验设置超时为 1 秒,那么:
  上传数据包大小 uPKG = 50 Mbps * 1s / 8 = 6.25 MB
    下载数据包大小 dPKG = 100 Mbps * 1s / 8 = 12.5 MB

例如 5G 网络技术GPRS下,上传带宽 uBW 为 600M,下载带宽 dBW 为 1G,
假设为优化应用体验设置超时为 1 秒,那么:
  上传数据包大小 uPKG = 600 Mbps * 1s / 8 = 75 MB
    下载数据包大小 dPKG = 1000 Mbps * 1s / 8 = 125 MB

4、总结

基于上述计算,若是但愿在单次请求中传输更大的对象,能够设置更大的超时值,好比10 秒。若是传输的对象很是大,好比GB级的对象,可使用分片上传。测试

固然,若是在网络速度较低时,好比2.5G网络的GPRS下每秒上传数据包为5.35KB、下载数据包为10.7KB,此时能够从前端缓冲区上进行优化控制。优化

典型的网络测试:.net

  1. SIM卡的网络切换
    手机—设置—移动网络设置—网络类型选择
  2. 具体弱网场景测试,常见场景包括:地铁、电梯、楼梯间、卫生间
  3. 使用无线网卡、路由器修改宽带速度模拟网络速度
  4. 使用软件进行网络代理,模拟不一样的网络带宽、延时率、丢包率

参考