随着移动应用的广泛应用,智能移动设备在不同的无线通信网络情况下,会有不同的网络速度,如何在2G、3G、4G、5G无线通信网络下访问云存储的用户体验更好,是应用设计的核心竞争力,特别是弱网情况下的体验。
二、网络技术分析
实际网络中,没有绝对的弱网,核心是“新应用针对新一代网络设计(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 技术。
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延迟、连接稳定性等指标。
三、访问云上对象存储实践
假设网络上传带宽为 uBW
,下载带宽为 dBW
,应用超时t
。
所以
上传数据包大小 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
四、总结
基于上述计算,如果希望在单次请求中传输更大的对象,可以设置更大的超时值,比如10 秒。如果传输的对象非常大,比如GB级的对象,可以使用分片上传。
当然,如果在网络速度较低时,比如2.5G网络的GPRS下每秒上传数据包为5.35KB、下载数据包为10.7KB,此时可以从前端缓冲区上进行优化控制。
典型的网络测试:
- SIM卡的网络切换
手机—设置—移动网络设置—网络类型选择 - 具体弱网场景测试,常见场景包括:地铁、电梯、楼梯间、卫生间
- 使用无线网卡、路由器修改宽带速度模拟网络速度
- 使用软件进行网络代理,模拟不同的网络带宽、延时率、丢包率