pfan123 / Articles

经验文章

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 回源

结合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) 人进行访问。

对象存储,为什么那么火?

存储类型转换

存储类型介绍

业务场景TPS峰值预估方法

PV、TPS、QPS是怎么计算出来的?