IOPS性能値のRW比を変更した場合の概算性能を見積もる方法
※本ナレッジは学術的な根拠に基づくものではなく私個人が利用している評価方法です。結果についての責任は負いかねますので、ご利用の際は自己責任でお願いします。
背景
本記事ではそのようなときに既存の性能情報からざっくりと必要なRW比での情報を見積もる方法を紹介する。
必要な情報
そもそもの話として、実環境のRW比と必要となるIOPS性能値がわかっていなければ評価のしようがない。
また、平均的なIOサイズについても知っておく必要がある。
そして、評価対象であるストレージの性能情報についてもなるべく多くのパターンを入手する必要がある。
実環境のRW比、IOPS、IOサイズについては把握できていない環境も多いが、LiveOptics(無償)などのアセスメントツールを使うことで簡単に確認できる。
ストレージの性能情報についてはベンダーに確認する、もしくはSizing Toolなどから入手できる場合もある。
このとき、IOサイズのパターンが多ければ多いほど良い。IOサイズによってIOPSは大きく変わるが、RW比と異なり異なるIOサイズでの性能情報を見積もることは困難であるため、実環境に近いIOサイズで検証している性能情報を入手することが重要である。
100% Read / 100% Writeの限界性能値のみがわかる場合。
実環境の平均IOサイズが8KBのRead
50%で、評価対象ストレージの8KBでのMax Read / Max
Write のIOPS情報のみが判明しているケースを仮定する。
ここでは仮に以下のように想定する。
Max
Read IOPS:120000
Max
Write IOPS:30000
この情報からこのストレージのRW比 7:3の場合のIOPSを想定してみる。
このとき、それぞれのIOPSに比率をかけて合計する方法が思い浮かぶかもしれない。具体的には以下のような計算だ。
120,000*0.5
+ 30,000*0.5 = 75,000 IOPS
このような計算をするのは間違いである。
なぜならば、Write IO部分を切り出した際に、75000*0.5=37500
IOPSとなってしまい、ストレージのMax Write IOPSを超えてしまっていることがわかる
このような場合はIOPSで計算するのではなく、レイテンシから計算するのが良い。
IOPSとレイテンシは逆数の関係にあるため、Max Read/Write時のレイテンシを以下のように見積もる
Max
Read IOPS時のレイテンシ = 1/120000 = 8.33 usec
Max
Write IOPS時のレイテンシ = 1/30000= 33.33 usec
それぞれのレイテンシにそれぞれの比率をかけて、合計の平均レイテンシを計算する。
8.33 *
0.5 + 33.33 * 0.5 = 20.83 usec
この平均レイテンシを逆数を取って元に戻すとRead 50%のIOPS限界性能の概算値になる。
1/20.83
= 48000 IOPS
このように計算すればRead/Writeそれぞれの限界性能を超えることなく見る盛ることができる。
RW比 7:3 のIOPSグラフが提供されている場合。
IOサイズ 32KB Read 70% のIOPSグラフ(縦軸IOPS/横軸レイテンシ)が提示されている状況で、同じく32KB のRead 60%の場合の性能情報を見積もって、要件となるIOPS性能値を満たすかどうかを確認したいとする。
↓IOPSグラフの例
このようなケースでの考え方は2通りある。
①コンサバ案:Write IOPSのみに着目して考える方法
②アグレッシブ案:レイテンシからIOPSを割り出す方法
①の方法は、WriteよりもReadのほうが性能が良い、という事実に着目し、Write
IOPSが要件を満たしていれば必然的にRead IOPSも満たせているという考え方である。
②の方法は前述したやり方と同様にReadとWriteそれぞれのレイテンシからIOPSを算出する方法である。
①コンサバ案:Write IOPSのみに着目して考える方法
その場合のWrite IOPS 要件は0.4 T となる。
IOPSグラフ内で以下の関係が成り立つT' を求める。
0.4T = 0.3T’
T'についてこの式を解くと以下のようになる。
T’= T * 4/3
したがって、IOPS性能値要件(6:4)の値を 4/3倍したIOPSをグラフから参照することで、Write IOPS要件を満たす(= Read IOPS要件も満たす)かどうかを確認することができる
②アグレッシブ案:レイテンシからIOPSを割り出す方法
Ready IOPS (0.7*T)のレイテンシをx (msec)とする
Write IOPS(0.3*T)のレイテンシをy (msec)とする
ここで、Read IOPSはWrite IOPSの3倍の性能があると仮定する
※xとyの関係式を多少強引にでも用意しないとxとyについての二元一次方程式が解けません。Read IOPSをWrite IOPSの何倍で見積もるのが妥当かについては、ベンダーやストレージ有識者の意見をご参照ください。
※xとyの関係式を多少強引にでも用意しないとxとyについての二元一次方程式が解けません。Read IOPSをWrite IOPSの何倍で見積もるのが妥当かについては、ベンダーやストレージ有識者の意見をご参照ください。
また、IOPSと遅延の関係から以下の式となる
0.7Tx + 0.3Ty = TL
y = 3x を代入する
0.7Tx + 0.9Tx = TL
16x = 10L
x = 10L/16
y = 30L/16
R:W = 6:4 となる場合の平均レイテンシを求める
0.6 * 10L/16 + 0.4 * 30L/16 = 1.125L
つまり、R:W=7:3 とR:W=6:4では、後者の平均レイテンシが1.125倍になる。
コメント
コメントを投稿