CDN 带宽与上传下载速率关系?
pfan123 opened this issue · comments
带宽(Bandwidth)单位用 bps(bit/s),表示每秒钟传输的二进制位数。下载速率单位用 Bps(Byte/s) 表示,表示每秒钟传输的字节数。
1Byte(字节)= 8bit(位),即下载速率 = 带宽/8
通常 1M 带宽即指 1Mbps = 1024Kbps = 1024/8KB/S = 128KB/S, 一般情况下,考虑到还有其他损耗(计算机性能、网络设备质量、资源使用情况、网络高峰期等),实际速率一般小于这个速率。
网速/带宽与下载速度对照表
常见宽带 | 理论最高速率(Mbps) | 理论最高速率(KB/S) | 常见下载速率(供参考) |
---|---|---|---|
1M | 1 Mbps | 128 KB/S | 77~128 KB/S |
2M | 2 Mbps | 256 KB/S | 154~256 KB/S |
3M | 3 Mbps | 384 KB/S | 231~384 KB/S |
4M | 4 Mbps | 512 KB/S | 307~512 KB/S |
6M | 6 Mbps | 620 KB/S | 462~620 KB/S |
8M | 8 Mbps | 1024 KB/S | 614~1024 KB/S |
10M | 10 Mbps | 1280 KB/S | 768~1280 KB/S |
12M | 12 Mbps | 1536 KB/S | 922~1536 KB/S |
20M | 20 Mbps | 2560 KB/S | 1536~2560 KB/S |
30M | 30 Mbps | 3840 KB/S | 2560~3840 KB/S |
50M | 50 Mbps | 6400 KB/S | 3840~6400 KB/S |
100M | 100 Mbps | 12800 KB/S | 7680~12800 KB/S |
1Mbps 即 1Mbit/s (1 024 000 bit per second 1百万bit每秒)换算成Byte(字节)1024000 / 8 = 128000 Byte = 128KB
流量
5Mb 带宽,假如一个月全部跑满,那跑出的数据流量大约是 1.5TB
1Mbps =1024Kbps = 1024/8KB/S = 128KB/S = 11059200KB/d = 10GB/day = 300GB/mon
5Mbps = 1500GB/mon = 1.5TB/mon
带宽是按照 bit 计量的,流量是以 Byte. 计算的
QPS(Queries Per Second)
QPS(Queries Per Second)即每秒钟的请求量,例如一个HTTP GET请求就是一个Query。
-
QPS 计算
- 单个进程每秒请求服务器成功的次数
- QPS = 总请求数 /(进程总数 * 请求时间)
- 一般使用
http_load
进行统计
-
每台服务器每天的PV
- (QPS x 3600 x 6)或者乘以 8 小时 = 每天总PV
- 一天按照 6 或者 8 小时计算,晚上可能没人访问
-
服务器计算
- 服务器数量 = ceil( 每天总PV / 单台服务器每天总PV )
-
峰值时间
- 每天 80% 的访问集中在 20% 的时间里,这 20% 时间叫做峰值时间
-
峰值QPS和机器计算公式
- ( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS)
-
服务器计算
- ceil(峰值时间每秒QPS / 单台机器的QPS) = 需要的机器
问:每天300w PV 的在单台机器上,这台机器需要多少QPS?
答:( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)
问:如果一台机器的QPS是58,需要几台机器来支持?
答:139 / 58 = 3
OSS 回源 QPS 峰值计算方式
OSS 一般是结合 CDN 来共同使用的,OSS 作为源机器,当边缘 CDN 节点找不到资源,才会回源到 OSS。
结合OSS 结合 CDN 之后,通常 CDN 下载文件 1000 次,只会回源 2^3。
100W QPS 大概会回源 1000000/1000 * 2^3 = 8000
带宽 QPS 承受能力
常见的问题服务器 1M 带宽并发数计算:
1M 带宽意味着下行速率 1Mbps = 1024Kbps = 1024/8KB/S = 128KB/S
假设请求的资源为 128KB 大小,那意味着 1 秒打开同时只能有一个人进行访问;假设请求的资源为 64KB 大小,那意味着 1 秒打开同时只能有两个人进行访问。
那如果结合 CDN 进行计算:请求的资源为 128KB 大小, 那意味着 1 秒打开同时可以有 125 (1000/8)
人进行访问;请求的资源为 64KB 大小, 那意味着 1 秒打开同时可以有 250 (1000*2/8)
人进行访问。