程序员必须了解的性能延迟指标

存储

8c9432055db32d367431353afcdc6aa5.png传统硬盘非常慢,有多慢?随机 IO 读写延迟大概 8ms 左右,万转磁盘顺序 IO 延迟大概 0-6ms,最快可以达到几十 us 以内,这是因为顺序IO RAID卡缓存命中率很高。

985f8df1bcddb1cc556d2e470a342c30.png

SSD 的随机 IO 延迟比传统硬盘快百倍以上,但是主存比 SSD 可以快百倍以上;CPU 缓存一般分三级,随着级数变大,延迟越来越高,当然价格也也越来越昂贵。

CPU

daf117741a012dced404defaacdc81f6.png

CPU 首先需要先获取指令才能执行指令,如果错误获取的时间成本就是 10ns;

当代码中存在多个线程或者进程共享资源时,需要加锁,成本就是 10ns;

3f824aeab22f179c9562d211bc94df60.gif

多个线程共享同一个 CPU 时就需要上下文切换,一次上下文切换的成本就是 1us,可见线程并不一定是越多越好。

3、网络

2adbf41421dffb8abfb8d09c5deadc4b.png网络传输跟距离有关,总结一下就是每 100km 大概需要 1ms。

4、总结

日常工作中,我们经常看到各种性能指标数据,当你看到性能指标数据时就能跟这些基础设施的指标关联起来,一眼就能看出到底是软件层面的问题,还是基础设施自身就存在问题,从而为我们的问题解决和性能优化打下基础。


原创不易,随手关注或者”在看“,诚挚感谢!



本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部