LoginSignup
71
71

More than 5 years have passed since last update.

IOPSメモ

Last updated at Posted at 2016-12-02

IOPSとは

  • ディスクが1秒当たりに処理できるI/Oアクセスの数
  • 書き込み(追加・更新・削除)性能はIOPSの影響をうけやすい
  • 読み込み性能はキャッシュに乗る前の初回アクセスが影響を受けやすい
  • データ転送を一度にまとめて行う場合は影響を受けにくい
  • データ転送を細かく分割して行う場合は影響を受けやすい

数値感覚

  • 100IOPSの場合、小さなデータをデータベースに対して一秒間にトランザクションを100回コミットできる
  • 10000件のデータを一回のトランザクションで行った場合には影響を受けにくい(IOPSが大きくても恩恵を受けられない可能性が高い)

プログラマの感覚

  • IOPSの数値が高いほど楽できる
  • IOPSの数値が低いほど一定数量、処理をまとめて読み書きする必要がある(ゲームなどでは複数アセットを1ファイルにまとめるとか)
  • IOPSの数値が高いときに低いときと同じようにまとめて処理すると性能がでない場合がある

HDD

回転数(RPM) IOPS
7200 75-100
10000 125-150
15000 175-210
  • 回転数によって決まる

SSD

  • デスクトップ向け現行製品は50000IOPS以上でる
  • 容量やコンロトーラの性能によって増える
  • サーバー向けは1000万IOPSとかでる

AWS

HDD

  • 最大500IOPS

SSD(gp2)

容量 IOPS
1GB 100
100GB 300
214GB 642
250GB 750
500GB 1500
750GB 2250
1000GB 3000
3334GB 10000
  • 最小100 IOPS (33.33 GiB 以下)
  • 最大10,000 IOPS (3,334 GiB 以上)
  • 3000IOPSにバーストできる時間は30分から2時間まで

プロビジョンドSSD(io1)

  • 1000〜20000IOPS

RAID

  • RAIDを組むことによってIOPSを増やせる
  • RAIDのレベルによって台数あたりのIOPSの増加倍率は変わる
LEVEL 増加倍率 コメント
0 X倍 増やした台数分増加
10 0.5倍 増やした台数の半分増加
5 0.2-0.5倍 増やした台数の半分以下増加
6 0.1-0.4 ほとんど増えない
1 1/X倍 まったく増えない
  • zfsのraidzはiopsほとんど増えないらしい

資料

その他

  • 十分なiopsを確保してプログラムの負荷をかけてもiopsがキャップしない場合は処理の並列度が足りていない
  • データベースなどでは一つのトランザクションにまとめる、バルクインサートなど。
  • データベースのコネクションプールを行っていてトランザクション数を制限している場合など。
71
71
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
71
71