osc 20130223
TRANSCRIPT
仰々しいタイトルをつけましたが
結局今日のテーマは・・・
『ioDrive2 ってどうなの?』
自己紹介、事業紹介
ioDriveができた理由
ioDrive とは?
ioDrive2 とは?
性能比較の結果
サイト構築について考察
ちょっと宣伝
はじめに宣言します!
Fusion-io さん、間違いがあったりしても大目に見てください^^
氏名:山岸隆広(やまぎしたかひろ)
所属:株式会社リンク
ディベロッパーサポート部
業務:インフラエンジニア、サービス開発
プロジェクトマネジメント
仕入れのディスカウント交渉
新しいネタ探し
『エーティーリンク』と読みます。くれぐれも『アットリンク』とは読まないでください。
・株式会社エーティーワークスと株式会社リンクの協業で始めたので『エーティーリンク』です
・事業内容は簡単に言うとホスティング屋さんです。サーバレンタル事業者です。クラウドもやってます。
※最近、MSP っぽいことがふえてきてホスティング屋さんの領域をはみ出してきました。
http://www.at-link.ad.jp/
一言でいうと
『CPUに比べ、メモリとストレージは大きなパフォーマンスギャップがある。CPUは処理するものがないために有休状態になっている。メモリはデータを扱うには小さすぎ、ディスクは提供のスピードが遅すぎる』
By Fusion-io社 フリン氏
これを解決するために開発された。
これです。
大規模SANストレージと同等の性能・信頼性をPCIeカード1枚で実現するNANDフラッシュベース高速半導体ストレージ
どういうこと?
●高速化させるアーキテクチャ・PCIeバスに直接接続し、CPUとの距離を最短にした設計・CPUからフラッシュメモリへのホップ数を最小限にし、
データ処理プロセスを簡素化 (下図)
・ホストからフラッシュアレイにダイレクトにアクセス・メタデータ処理をホスト側にオフロード・24チャネルの広帯域処理、8バンクの並列処理により、
PCIeの有効帯域を最大限に活用
今までの HDD での実行 step の数を減らし
処理開始から終了までの時間を短縮に成功!
不揮発性記憶素子のフラッシュメモリの一種である。1987年に東芝が発明した。
回路規模が小さく、安価に大容量化できる。
また書き込みや消去も高速であるが、
バイト単位の書き替え動作は不得手である。
1つのセルの浮遊ゲートにある電子の蓄積量、つまり電荷の量が"Hi"か"Low"かで1ビットの情報を記録する方式を「SLC」(Single Level
Cell)と呼ぶ。
また、電荷の量の違いを4つ以上の多値で
判断することで2ビット以上を記録する
方式を「MLC」(Multi Level Cell)と呼ぶ。
●SLC
・書き込み速度が速い・書き換え可能回数(約10万回)・値段が高い
●MLC
・書き込み速度が遅い・書き換え可能回数(約1万回)・値段が安い
MLCタイプは、SLCタイプよりも書き込み耐性&速度で劣るものの、コントローラーの改良などで速度の改善されてきており、今後はMLCタイプが普及牽引していくものと思われる。
なぜ、こんな話をし出したかというと
今日の話はioDrive → SLC
ioDrive2 → MLC
これです。
容量拡大。最大で2.4TB(前Ver.は320GB)
NANDフラッシュの高密度化、低価格化
→性能劣化とのことだが、
複数のチップでデータを分散処理させ、
コントローラー側のソフトウェアで
性能や信頼性を補っている
ioDrive2 365GB
Read バンド幅 (1MB) → 910 MB/s
Write バンド幅 (1MB) → 590 MB/s
ioDrive2 785GB
Read バンド幅 (1MB) → 1.5 GB/s
Write バンド幅 (1MB) → 1.1 GB/s
何はともあれ比べてみましょう^^
次のコマンドで計測
hdparm –t “デバイス名”
-t パラメータでキャッシュしないモードで
純粋な読み込み速度を計測
30 回連続で計測して
上下 10% の値を外した平均
0
100
200
300
400
500
600
700
SATA (7,200rpm) SAS (15,000rpm) ioDrive ioDrive2 365GB ioDrive2 785GB
スループット
MB/s
device
Sequential Read
あれ、ioDriveの方が勝ってる・・・?おそらく ioDriveは SLC、ioDrive 2はMLCなので、その差分かと思われ。。
次のコマンドで再計測
fio seqread.sio
パラメータは
readwrite=read
blocksize=1m
size=1g
directory=“ディレクトリ名”
direct=1
loops=5
Sequential Read 2回目
0
200
400
600
800
1000
1200
SATA (7,200rpm) SAS (15,000rpm) ioDrive ioDrive2 365GB ioDrive2 785GB
スループット
MB/s
device
ioDriveと ioDrive2 365GBがほぼ同じ、ioDrive2 785 GBは圧勝!
次のコマンドで計測
dd if=/dev/zero of="出力ファイル名"
count=1024 bs="ブロックサイズ"
ddコマンドによって、ファイルを作成し、
ファイル生成完了までの時間を
測定しました。
0.00
200.00
400.00
600.00
800.00
1000.00
1200.00
1400.00
1600.00
1800.00
4k 16k 64k 256k 1024k 4096k 16384k 65536k
スループット
MB/sec
ファイルサイズ
ioDrive2 785GB MLC
ioDrive2 365GB MLC
ioDrive 160GB SLC
SAS (15,000rpm)
SATA (7,200rpm)
Sequential Write
これは ioDrive2 の圧勝!カタログ値に近い値を記録!
次のコマンドで計測
dbench -c "クライアントファイル名"
-D “ディレクトリ名" "同時接続数"
Dbenchは、NFSのエミュレーションを行う事が可能で、実際にファイルサーバを使っているような状況を再現することができることから、ランダムのRead/Writeを見るのに最適と言えます。
Random Read/Write
これも ioDrive2の圧勝!!
0
500
1000
1500
2000
2500
3000
3500
4000
4500
5000
1 16 32 64 128
スループット
MB/sec
同時接続数
ioDrive2 785GB MLC
ioDrive2 365GB MLC
ioDrive 160GB SLC
SAS
SATA
Sequential Read
ioDrive2 785GB は圧勝
ioDrive と ioDrive2 365GB は同じくらい
Sequential Write
ioDrive2 が圧勝
Random Read/Write
ioDrive2 が圧勝
次のコマンドで計測
sysbench --test=oltp --db-driver=mysql --oltp-test-
mode=complex --oltp-table-size=1000000 --mysql-user=root --
mysql-password= --mysql-host=localhost --mysql-port=3306 --
mysql-db=test6 --max-time=180 --max-requests=0 --oltp-read-
only=off --oltp-dist-type=uniform --init-rng=on --num-threads="同時接続数" run
SysBenchという、MySQLのベンチマークソフトです。オンラインのショッピングサイトの処理、カートにものを入れたり、決済をしたりといった流れをシミュレートしたベンチマークです。
MySQL OLTP性能
0
500000
1000000
1500000
2000000
2500000
3000000
3500000
2 4 8 16 32 64
クエリ数
同時接続数
ioDrive2 785GB MLC
ioDrive2 365GB MLC
ioDrive 160GB SLC
SAS
SATA
これも ioDrive2が勝ってる!!
Sequential Read/Write
ioDrive2 は ioDrive と
同等もしくはそれ以上
Random Read/Write
ioDrive2の圧勝
MySQLの処理能力も同時接続数を増やしても性能が落ちない。
一般的なwebサイトなら
フロントにwebアクセスを応答するための
サーバを並べ、ローカル通信可能な DB を
配置するが、やはり ioDrive はDB サーバ
として使うのがよい
でもBut
しかし
どういう風に使うかをやはり計算する必要があります!!
ioDriveは I/Oの性能を飛躍的に向上させますが、やはりメモリにキャッシュできるならキャッシュした方が早いからです!!
たぶん一つのサーバで、大容量メモリを搭載しつつ、ioDrive2 も搭載する。
メモリに乗せられない部分は ioDrive2で
今までよりも高速に応答する!!
今こうならないのはメモリ、ioDrive2も
価格が高いから。。。
at+link アプリプラットフォームでは現在ioDrive を採用してますが、2013年3月~4月からioDrive2
を採用する予定です!!
http://www.at-
link.ad.jp/appli_platform/
ちょっとだけ宣伝
ご清聴ありがとうございました。