2019年/10月/30日

首页回退

一些时间单位

这里是一些时间延迟总结,建立对速度的基本认识,网络通过光传输,物理上要明白光速局限,CPU内部也因光速的极限问题导致了计算上限。

光速300000km/s

Cpu cycle ...................0.3 ns
L1 cache reference ..................................... 0.5 ns
Branch mispredict ........................................ 5 ns
L2 cache reference ....................................... 7 ns
Mutex lock/unlock ....................................... 25 ns

Main memory reference .................................. 100 ns
Compress 1K bytes with Zippy ......................... 3,000 ns =   3 µs

Send 2K bytes over 1 Gbps network ................... 20,000 ns =  20 µs
SSD random read .................................... 150,000 ns = 150 µs
Read 1 MB sequentially from memory ................. 250,000 ns = 250 µs


Round trip within same datacenter .................. 500,000 ns = 0.5 ms
Read 1 MB sequentially from SSD .................. 1,000,000 ns =   1 ms
Network delay between two Shanghai datacenters ... 1,000,000 ns =   1 ms
Disk seek ....................................... 10,000,000 ns =  10 ms
Read 1 MB sequentially from disk ................ 20,000,000 ns =  20 ms
Network delay from Beijing to Shanghai .......... 30,000,000 ns =  30 ms
Send packet CA->Netherlands->CA ................ 150,000,000 ns = 150 ms

可以看到内存级访问是在纳秒级别

机械盘到了微妙

磁盘寻道为毫秒

互联网:旧金山到纽约 40毫秒
互联网:旧金山到英国 81毫秒
互联网:旧金山到澳大利亚 183毫秒
执行一条指令 1ns
TCP包重传1到3秒
局域网ping一台主机百微秒
Redis一次查询百微秒
广域网ping一台主机10-100毫秒
局域网数据库查询(有索引):10-100毫秒
Java程序本地方法调用:几微秒
访问一个网站就是秒级了

常见磁盘平均物理寻道时间为:

7200转/分的STAT硬盘平均物理寻道时间是9ms
10000转/分的STAT硬盘平均物理寻道时间是6ms
15000转/分的SAS硬盘平均物理寻道时间是4ms
Operation                        	Time (nsec)
System call overhead	400
Context switch between processes	3000
fork() (statically-linked binary)	70,000
fork() (dynamically-linked binary)	160,000

参考

参考