...pudding - diary

この日記は https://yapud.hatenablog.com/ に引っ越し中


2011-11-14

_ [Hardware][Notes] SAS と SATA の違いってなんなの

わりかし安価なストレージ製品用の玉として SAS と SATA があります。SAS が刺さるところにはだいたい SATA も刺さります。

SATA の方が安くて大容量。これはもう明確に数字に表れている違い。じゃあ性能の違いは?


各メーカから説明らしき物は出ています。

HDD(SAS、SATA)解説:Expressテクノロジ読本 | NEC

日本HP - HP ProLiant サーバー - SATAハードディスクとSASハードディスクの違いと選定のポイント

PRIMERGY(プライマジー) ストレージドライブ( HDD ( SATA,BC-SATA,SAS ) / SSD )の仕様・選択 : 富士通

が。

高性能とか高負荷用とかあいまいなコトバが並んでるけどほんとにそんなに差があるの? 営業上の差別化な部分もあるんじゃないの?高い方売りたいだけじゃないの? SATA だって複数並べればそこそこ速度稼げるんじゃないの?

なんて思う人が出てくるでしょう。ええ。僕はそう思いました。


エントリークラスの 1Gbps iSCSI 箱に SATA 玉 6個並べてRAID5です。

これを VMware ESXi のストレージとして使ってみました。

いくつかのWEBサーバとAPサーバ群、そいつらが共用するRDBサーバ、などを同じ機械の上に並べてみましたがサクサクです。

たかだか数百人のユーザしかいないシステムですから、なんの不満もございません。

ファイルサーバ用途であり仮想機とかでの活用には向かないとかいうわりにはこんくらいの規模なら全然余裕で動くじゃねえか。

安く済んだ上に性能に問題も無い。一つずつが遅くても玉並べて解決だろ?と、なんとも得意げです。


ここまで来ると気が大きくなって、よっしゃ Lotus Domino (IBM社製の高いけどそこそこ便利なグループウェアだよ) も乗せてみるかと思うわけです。

幸い SATA でアレイを作ってたので容量だけは大量にあります。そこで比較的アクセスの少なめなファイル蓄積庫みたいなサーバを乗せてみました。ギガバイトクラスのNSFが100個以上ありますが、いける。

全然余裕です。前記のサーバ群と同筐体に同居しながら、さらに2~300人ユーザがぶら下がってもトランザクション数の少なさからちっとも問題ありません。

まだ戦える。


もうね、ここまでくるとメールサーバとかも乗せてみたくなるじゃないですか。

そこで試してみました。

Lotus Domino のメールサーバ。こいつには Server.Load という名の 負荷生成ツールが付いています。

これを使用して 1000名ほどのユーザがメールをやりとりしまくる動作をシミュレートしてみました。

サーバの OS は Linux で、ここに Linux 版の Domino をたててみます。/dev/sd? の io scheduler は deadline で、FS は ext4 で、mount option は writeback です。

これで負荷をかけてみます。そこそこイイ数字出るんじゃないの?そんな期待をしながらのスイッチオンでございます。

Server.Load のクライアントからまずは 300 ユーザ放り込みます。サーバのコンソールを見てるとじわじわとユーザが増えていきます。

ssh でログインしているターミナルからのコマンド投入のレスポンスがほんのり悪いです。

んん?どういうことだ?まあいいや。

Server.Load のクライアントから続いて 300 ユーザ放り込みます。


そして CPU Load 値を見て驚きました。

こんなん初めて見ました。

50 とかww 無理ww サーバが全然息してないww 同筐体上の他のゲストOSも涙目ww

たくさんのユーザが繋がってそれぞれが思い思いにゴリゴリ読み書き処理を発生させるシステムには SATA のアレイは全然向いてないということがよーくわかりました。

通信方式が半二重な上にコマンド処理も1個ずつ順にという規格の SATA。

アレイコントローラががんばって命令をいいかんじに並び替えてもわりとはやく限界が来てしまうのですね。

ディスク読み書きが散発的であったり、そこそこ処理が並んでたりすると安価な SATA のアレイでも全然戦えます。

あっちゃこっちゃから細かいランダムアクセスを詰め込まれると悲鳴を上げますね。

というお話し。


2011年
11月
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Twitter : @moriya_jp