俺メモ'bout storage by @hasegaw 'n @yoheia

なんか面白そうな会話だったのでメモっといたストレージの話。 首都圏の人はこういう濃密な会話を、その気になればスニーカーネット上でもできるから羨ましいな。
0
Takeshi HASEGAWA @hasegaw

無茶はともかくとして、こういうモツ鍋会実現できたら普通にディナーセミナー事務局としてメシ食える気がしてきた

2016-09-15 18:52:03
Takeshi HASEGAWA @hasegaw

@yoheia @noppymagus よくメーカーやショップが出しているIOPSは大量のリクエストを投げた時に1秒間でどれだけのI/Oが処理できるかという指標です。ご指摘の通り実際にかけるI/Oの量がどれだけ応答時間に影響を与えるかは情報として一切読み取れない指標です。

2016-09-15 20:52:04
Takeshi HASEGAWA @hasegaw

@yoheia @noppymagus ハードディスクの場合ディスクが回転しているのでランダムI/Oだと時間あたり目的のセクタにアクセスするチャンスは秒間数百回しかありませんでした。なのでハードディスクの応答時間のばらつきはディスクの回転速度とIO回数に相関があると言えるでしょう

2016-09-15 20:55:28
az @yoheia

@hasegaw @noppymagus スループットの話で、レスポンス(レイテンシ)は保証されないということですね。確かにデバイス一本あたりの IOPS * デバイス数を書いてるだけですよね。

2016-09-15 20:56:17
Takeshi HASEGAWA @hasegaw

@yoheia @noppymagus そうですね、コントローラが賢いといろいろ事情はかわりますね

2016-09-15 21:10:00
Takeshi HASEGAWA @hasegaw

@yoheia @noppymagus 磁気回転メディアならシーク時間が支配的でしたが、SSDの場合は乱暴に言えば、マイコンがFlashにリード、ライト命令を出してI/Oを終えた瞬間に返事が帰ってくるので、中のマイコンやメモリが時間あたりどれだけ捌けるかがIOPSになります

2016-09-15 21:00:21
az @yoheia

@hasegaw @noppymagus SANストレージもキャッシュがあるので、Write は速くて、read もキャッシュヒットした場合は速かったり、ワークロードでキャッシュされるデータも変わってきて、複雑ですね

2016-09-15 21:04:45
az @yoheia

@hasegaw 全デバイスに綺麗に分散してI/Oするわけではなく、例えばREDOログの書込みのように特定のデバイスに偏ったりもしますしね

2016-09-15 21:27:42
az @yoheia

開発環境で同じSQLを何回も実行すると、毎回、バッファキャッシュをフラッシュしてるのになんででしょうか?という質問多い。

2016-09-15 21:40:43
Takeshi HASEGAWA @hasegaw

@yoheia @noppymagus そうですね。で、SSDの場合、10000IOPSのスペックで10000IOPS使う = マイコンとFlashがワークロード飽和でしており負荷100状態。100IOPSだけ使うなら負荷1%なので、より短い遅延時間で結果が帰ってきたりしますね

2016-09-15 21:03:29
Takeshi HASEGAWA @hasegaw

@yoheia @noppymagus IO数が多ければひとつひとつのIOのという視点では応答性能は劣化します。ユーザ側のニーズとして必ずしもSSDの最大IOPS性能を消費しきる必要はないし、余裕があれば応答がより速いのはSSDもHDDも同じです

2016-09-15 21:09:15
az @yoheia

Oracle Database の ASM は綺麗に分散配置するので、Exadata のストレージサーバの iostat 見たときに美しく並列I/O していて感動した。S.A.M.E のコンセプトが実現されていた。詳しくはしばちょうさんのセミナー資料で。

2016-09-15 21:31:57
az @yoheia

@hasegaw @noppymagus 昔、長谷川さんに資料開いて説明聞いた気がしますが、公開されてないですよね。Slideshare を見る限り。

2016-09-15 23:08:07