目次

07 ブロックサイズとスループットについて

こちらも参考に91 転送量計算 ssd hdd

ブロックサイズが大きくなるとThroughput が大きくなり Latencyも大きくなる。
ディスクサブシステムにアクセスする際のデータ転送は、常にブロック単位で行われます

データ転送時のブロックサイズは、オペレーティングシステムやアプリケーションによって決まっており、
ユーザーが調整することはできません。

# dd if=/dev/zero of=a bs=1k count=10000000
10000000+0 records in
10000000+0 records out
10240000000 bytes (10 GB) copied, 25.7128 s, 398 MB/s

# dd if=/dev/zero of=a bs=1M count=10000
10000+0 records in
10000+0 records out
10485760000 bytes (10 GB) copied, 13.3273 s, 787 MB/s

各種アプリケーションの典型的なアクセスパターン(富士通のホワイトペーパー参考)

アプリケーションアクセスパターン
オペレーティングシステムランダム、40%リード、60%ライト、ブロック≥ 4 KB
ファイルコピー(SMB)ランダム、50 %リード、50 %ライト、64 KB ブロック
ファイルサーバ(SMB)ランダム、67 %リード、33 %ライト、64 KB ブロック
メールサーバランダム、67 %リード、33 %ライト、8 KB ブロック
データベース(トランザクション処理中)ランダム、67%リード、33%ライト、8 KB ブロック
Webサーバランダム、100 %ライト、64 KB ブロック
データベース(ログファイル)シーケンシャル、100 %ライト、64 KB ブロック
バックアップシーケンシャル、100 %ライト、64 KB ブロック
リストアシーケンシャル、100 %ライト、64 KB ブロック
ビデオストリーミングシーケンシャル、100 %リード、ブロック≥ 64 KB

ブロックサイズについて

http://portaltan.hatenablog.com/entry/2015/11/27/131605

アプリケーションのブロックサイズ確認方法

# strace -f -e write -p [プロセスID] 

straceの出力をgrepかける場合

# strace -f -e write -p [プロセスID] 2>&1 | grep Progress

オプション

-ftrace child process

富士通のホワイトペーパー

ディスクI/O パフォーマンスの基本 PDF