Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HDDへのアクセス速度は位置によって変わる!??
Search
Satoru Takeuchi
PRO
March 16, 2024
Technology
240
4
Share
HDDへのアクセス速度は位置によって変わる!??
以下動画のテキストです。
https://youtu.be/iJHcw91MZbY
Satoru Takeuchi
PRO
March 16, 2024
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
システム強制終了時にファイルシステムの整合性を保つ~ コピーオンライト編 ~
sat
PRO
0
47
システム強制終了時に ファイルシステムの整合性を保つ ~ ジャーナリング編 ~
sat
PRO
1
50
ファイルシステムの整合性を回復するfsck
sat
PRO
1
50
小学校5,6年生向けキャリア教育 大人になるまでの道
sat
PRO
8
4.2k
ファイルシステムの不整合
sat
PRO
2
150
書籍執筆での生成AIの活用
sat
PRO
2
490
ChatGPTに従って体調管理2026
sat
PRO
0
180
eBPF
sat
PRO
1
150
waruiBPF
sat
PRO
0
140
Other Decks in Technology
See All in Technology
TypeScript で Platform SDK を作る技術
toiroakr
1
160
【禁断】Obsidianの第二の脳に「知の巨人」と呼ばれた師匠の脳をロードしてみた
nagatsu
0
6k
ルール・ロール・ツールを創る / Creating Rules, Roles and Tools
ks91
PRO
0
160
ANDPAD Ruby sponsor session in RubyKaigi 2026
andpad
0
140
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
240
TypeScriptとAngular Signal で実現する保守性の高いアプリケーション設計 - 3層アーキテクチャによる責務分離の実践(たつかわ) https://2026.tskaigi.org/talks/10
nealle
1
320
【新卒研修】ライブデモ + compose.yaml読解_講義資料
dip_tech
PRO
0
140
ジュニアエンジニアはSREとどう向き合うべきか
nrinetcom
PRO
1
120
管理アカウント単一運用からAWS Organizationsに移行するの大変で滅
hiramax
0
110
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
1
270
DI コンテナ自動生成ツールを実装してみた / intro-autodi
uhzz
0
860
既存プロダクトQAから新規プロダクトQAへ
ryotakahashi
0
190
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
230
The Curse of the Amulet
leimatthew05
1
12k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
420
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.6k
How to Ace a Technical Interview
jacobian
281
24k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
150
Bridging the Design Gap: How Collaborative Modelling removes blockers to flow between stakeholders and teams @FastFlow conf
baasie
0
560
Optimizing for Happiness
mojombo
378
71k
Discover your Explorer Soul
emna__ayadi
2
1.1k
The untapped power of vector embeddings
frankvandijk
2
1.7k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.5k
Transcript
HDDへのアクセス速度は 位置によって変わる!?? Mar. 16th, 2024 Satoru Takeuchi X: satoru_takeuchi
はなすこと • HDDへのアクセス速度がアクセスする位置によって変わることを説明 ◦ 実験 ◦ なんでそうなるか
いきなり実験! • HDDのシーケンシャル読み出し性能を測る ◦ HDDの先頭から1MiBづつ、合計128MiBのデータを読んだときのスループットを測定 ◦ 誤差を減らすために 10回測定して平均をとる • 📝
参考: データ採取に使ったコード $ cat perf.sh #!/bin/bash SUM=0 for ((i=0;i<10;i++)) ; do VAL=$(sudo dd if=/dev/sda of=/dev/null bs=1M count=128 iflag=direct 2>&1 | \ sed -nE -e 's/.*, ([0-9.]+) MB\/s$/\1/p') SUM=$((SUM+VAL)) done python3 -c "print($SUM / 10)"
いきなり実験! • HDDのシーケンシャル読み出し性能を測る ◦ HDDの先頭から1MiBづつ、合計128MiBのデータを読んだときのスループットを測定 ◦ 誤差を減らすために 10回測定して平均をとる • 📝
参考: データ採取に使ったコード $ cat perf.sh #!/bin/bash SUM=0 for ((i=0;i<10;i++)) ; do VAL=$(sudo dd if=/dev/sda of=/dev/null bs=1M count=128 iflag=direct 2>&1 | \ sed -nE -e 's/.*, ([0-9.]+) MB\/s$/\1/p') SUM=$((SUM+VAL)) done python3 -c "print($SUM / 10)" $ ./perf.sh 132.5
読み出す領域をディスクの末尾あたりにすると… • ディスク先頭から2.5TiB時点(ディスクサイズは約2.7TiB)から読み出す $ cat perf.sh #!/bin/bash SUM=0 for ((i=0;i<10;i++))
; do VAL=$(sudo dd if=/dev/sda of=/dev/null bs=1M count=128 \ iflag=direct,skip_bytes skip=2560G 2>&1 | \ sed -nE -e 's/.*, ([0-9.]+) MB\/s$/\1/p') SUM=$((SUM+VAL)) done python3 -c "print($SUM / 10)"
読み出す領域をディスクの末尾あたりにすると… • ディスク先頭から2.5TiB時点(ディスクサイズは約2.7TiB)から読み出す $ cat perf.sh #!/bin/bash SUM=0 for ((i=0;i<10;i++))
; do VAL=$(sudo dd if=/dev/sda of=/dev/null bs=1M count=128 \ iflag=direct,skip_bytes skip=2560G 2>&1 | \ sed -nE -e 's/.*, ([0-9.]+) MB\/s$/\1/p') SUM=$((SUM+VAL)) done python3 -c "print($SUM / 10)" $ ./perf.sh 113.9 14%性能劣化! 理由はHDDの性質
データはプラッタという円盤に保存される • 外側ほどセクタ(データを入れる部分)がたくさんある • ブロックデバイスのデータはオフセットが小さいほど外周に配置される セクタ
データの読み書きはスイングアームについたヘッドで 回転 回転 移動 アクセス スイングアーム ヘッド
ある量(角度)回転したとすると… • アクセスできるセクタ量はディスクの外側のほうが多い 回転 回転 90度回転すると外側は 5つ まんなかは4つ 内側は2つ
つまりどういうことかというと… • ディスクの外側のほうがアクセスできるセクタ数が多い • ディスクの外側にあるオフセットの小さいデータには高速にアクセス可能 回転 回転 90度回転すると外側は 5つ まんなかは4つ
内側は2つ
参考: いろいろなオフセットで同じことをしたグラフ
まとめ • HDDへのアクセス速度はアクセスする位置によって変わる • HDDに対応するブロックデバイスのオフセットが小さいほど高速にアクセス可能 • 理由はHDDの特性 ◦ プラッタの外周ほどセクタ数が多い ◦
オフセットが小さいデータほど、プラッタの外周にあるセクタに配置される ◦ プラッタをある角度だけ回転させると、外周にあるデータほど高速にアクセスできる ◦ オフセットが小さいところのデータほど高速にアクセスできる