tft每日頭條

 > 科技

 > 程序員必知的硬核基礎知識

程序員必知的硬核基礎知識

科技 更新时间:2024-08-25 13:12:58

1、存儲

程序員必知的硬核基礎知識(程序員必須了解的性能指标數據)1

都知道傳統硬盤非常慢,有多慢呢?随機 IO 讀寫延遲大概 8ms 左右,萬轉磁盤順序 IO 延遲大概 0-6ms,最快可以達到幾十 us 以内,這是因為順序IO RAID卡緩存命中率很高。這就是 mysql、kafka 以及一些基于磁盤的 nosql 數據庫喜歡寫到各種日志文件中,其實這就是在利用磁盤的順序 IO 快速讀取和寫入的特性。

程序員必知的硬核基礎知識(程序員必須了解的性能指标數據)2

SSD 的随機 IO 延遲比傳統硬盤快百倍以上,但是主存比 SSD 可以快百倍以上;CPU 緩存一般分三級,随着級數變大,延遲越來越高,當然價格也也越來越昂貴。

2、CPU

程序員必知的硬核基礎知識(程序員必須了解的性能指标數據)3

CPU 首先需要先獲取指令才能執行指令,如果是嘗試獲取或者錯誤獲取的時間成本就是 10ns;

當代碼中存在多個線程或者進程共享資源時,需要加鎖,互斥鎖的成本就是 10ns,可見鎖的範圍越小越好;

多個線程共享同一個 CPU 時就需要上下文切換,一次上下文切換的成本就是 1us,可見線程并不一定是越多越好。

3、網絡

程序員必知的硬核基礎知識(程序員必須了解的性能指标數據)4

網絡傳輸跟距離有關,總結一下就是每 100km 大概需要 1ms。

程序員必知的硬核基礎知識(程序員必須了解的性能指标數據)5

總結

日常工作中,我們經常看到各種性能指标數據,當你看到性能指标數據時就能跟這些基礎設施的指标關聯起來,一眼就能看出到底是軟件層面的問題,還是基礎設施自身就存在問題,從而為我們的問題解決和性能優化打下基礎。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved