> 美容
程序员必须了解的性能指标数据有哪些(程序性能指标有哪些)
导语:程序员必须了解的性能指标数据
1、存储
都知道传统硬盘非常慢,有多慢呢?随机 IO 读写延迟大概 8ms 左右,万转磁盘顺序 IO 延迟大概 0-6ms,最快可以达到几十 us 以内,这是因为顺序IO RAID卡缓存命中率很高。这就是 mysql、kafka 以及一些基于磁盘的 nosql 数据库喜欢写到各种日志文件中,其实这就是在利用磁盘的顺序 IO 快速读取和写入的特性。
SSD 的随机 IO 延迟比传统硬盘快百倍以上,但是主存比 SSD 可以快百倍以上;CPU 缓存一般分三级,随着级数变大,延迟越来越高,当然价格也也越来越昂贵。
2、CPU
CPU 首先需要先获取指令才能执行指令,如果是尝试获取或者错误获取的时间成本就是 10ns;
当代码中存在多个线程或者进程共享资源时,需要加锁,互斥锁的成本就是 10ns,可见锁的范围越小越好;
多个线程共享同一个 CPU 时就需要上下文切换,一次上下文切换的成本就是 1us,可见线程并不一定是越多越好。
3、网络
网络传输跟距离有关,总结一下就是每 100km 大概需要 1ms。
总结
日常工作中,我们经常看到各种性能指标数据,当你看到性能指标数据时就能跟这些基础设施的指标关联起来,一眼就能看出到底是软件层面的问题,还是基础设施自身就存在问题,从而为我们的问题解决和性能优化打下基础。
免责声明:本站部份内容由优秀作者和原创用户编辑投稿,本站仅提供存储服务,不拥有所有权,不承担法律责任。若涉嫌侵权/违法的,请反馈,一经查实立刻删除内容。本文内容由快快网络小思创作整理编辑!