osc 20130223

38

Upload: takahiro-yamagishi

Post on 20-Jul-2015

815 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Osc 20130223
Page 2: Osc 20130223

仰々しいタイトルをつけましたが

結局今日のテーマは・・・

Page 3: Osc 20130223

『ioDrive2 ってどうなの?』

Page 4: Osc 20130223

自己紹介、事業紹介

ioDriveができた理由

ioDrive とは?

ioDrive2 とは?

性能比較の結果

サイト構築について考察

ちょっと宣伝

Page 5: Osc 20130223

はじめに宣言します!

Fusion-io さん、間違いがあったりしても大目に見てください^^

Page 6: Osc 20130223

氏名:山岸隆広(やまぎしたかひろ)

所属:株式会社リンク

ディベロッパーサポート部

業務:インフラエンジニア、サービス開発

プロジェクトマネジメント

仕入れのディスカウント交渉

新しいネタ探し

Page 7: Osc 20130223

『エーティーリンク』と読みます。くれぐれも『アットリンク』とは読まないでください。

・株式会社エーティーワークスと株式会社リンクの協業で始めたので『エーティーリンク』です

・事業内容は簡単に言うとホスティング屋さんです。サーバレンタル事業者です。クラウドもやってます。

※最近、MSP っぽいことがふえてきてホスティング屋さんの領域をはみ出してきました。

http://www.at-link.ad.jp/

Page 8: Osc 20130223

一言でいうと

『CPUに比べ、メモリとストレージは大きなパフォーマンスギャップがある。CPUは処理するものがないために有休状態になっている。メモリはデータを扱うには小さすぎ、ディスクは提供のスピードが遅すぎる』

By Fusion-io社 フリン氏

これを解決するために開発された。

Page 9: Osc 20130223

これです。

Page 10: Osc 20130223

大規模SANストレージと同等の性能・信頼性をPCIeカード1枚で実現するNANDフラッシュベース高速半導体ストレージ

どういうこと?

Page 11: Osc 20130223

●高速化させるアーキテクチャ・PCIeバスに直接接続し、CPUとの距離を最短にした設計・CPUからフラッシュメモリへのホップ数を最小限にし、

データ処理プロセスを簡素化 (下図)

・ホストからフラッシュアレイにダイレクトにアクセス・メタデータ処理をホスト側にオフロード・24チャネルの広帯域処理、8バンクの並列処理により、

PCIeの有効帯域を最大限に活用

Page 12: Osc 20130223

今までの HDD での実行 step の数を減らし

処理開始から終了までの時間を短縮に成功!

Page 13: Osc 20130223

不揮発性記憶素子のフラッシュメモリの一種である。1987年に東芝が発明した。

回路規模が小さく、安価に大容量化できる。

また書き込みや消去も高速であるが、

バイト単位の書き替え動作は不得手である。

Page 14: Osc 20130223

1つのセルの浮遊ゲートにある電子の蓄積量、つまり電荷の量が"Hi"か"Low"かで1ビットの情報を記録する方式を「SLC」(Single Level

Cell)と呼ぶ。

また、電荷の量の違いを4つ以上の多値で

判断することで2ビット以上を記録する

方式を「MLC」(Multi Level Cell)と呼ぶ。

Page 15: Osc 20130223

●SLC

・書き込み速度が速い・書き換え可能回数(約10万回)・値段が高い

●MLC

・書き込み速度が遅い・書き換え可能回数(約1万回)・値段が安い

MLCタイプは、SLCタイプよりも書き込み耐性&速度で劣るものの、コントローラーの改良などで速度の改善されてきており、今後はMLCタイプが普及牽引していくものと思われる。

Page 16: Osc 20130223

なぜ、こんな話をし出したかというと

今日の話はioDrive → SLC

ioDrive2 → MLC

Page 17: Osc 20130223

これです。

Page 18: Osc 20130223

容量拡大。最大で2.4TB(前Ver.は320GB)

NANDフラッシュの高密度化、低価格化

→性能劣化とのことだが、

複数のチップでデータを分散処理させ、

コントローラー側のソフトウェアで

性能や信頼性を補っている

Page 19: Osc 20130223

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

Page 20: Osc 20130223

何はともあれ比べてみましょう^^

Page 21: Osc 20130223

次のコマンドで計測

hdparm –t “デバイス名”

-t パラメータでキャッシュしないモードで

純粋な読み込み速度を計測

30 回連続で計測して

上下 10% の値を外した平均

Page 22: Osc 20130223

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なので、その差分かと思われ。。

Page 23: Osc 20130223

次のコマンドで再計測

fio seqread.sio

パラメータは

readwrite=read

blocksize=1m

size=1g

directory=“ディレクトリ名”

direct=1

loops=5

Page 24: Osc 20130223

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は圧勝!

Page 25: Osc 20130223

次のコマンドで計測

dd if=/dev/zero of="出力ファイル名"

count=1024 bs="ブロックサイズ"

ddコマンドによって、ファイルを作成し、

ファイル生成完了までの時間を

測定しました。

Page 26: Osc 20130223

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 の圧勝!カタログ値に近い値を記録!

Page 27: Osc 20130223

次のコマンドで計測

dbench -c "クライアントファイル名"

-D “ディレクトリ名" "同時接続数"

Dbenchは、NFSのエミュレーションを行う事が可能で、実際にファイルサーバを使っているような状況を再現することができることから、ランダムのRead/Writeを見るのに最適と言えます。

Page 28: Osc 20130223

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

Page 29: Osc 20130223

Sequential Read

ioDrive2 785GB は圧勝

ioDrive と ioDrive2 365GB は同じくらい

Sequential Write

ioDrive2 が圧勝

Random Read/Write

ioDrive2 が圧勝

Page 30: Osc 20130223

次のコマンドで計測

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のベンチマークソフトです。オンラインのショッピングサイトの処理、カートにものを入れたり、決済をしたりといった流れをシミュレートしたベンチマークです。

Page 31: Osc 20130223

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が勝ってる!!

Page 32: Osc 20130223

Sequential Read/Write

ioDrive2 は ioDrive と

同等もしくはそれ以上

Random Read/Write

ioDrive2の圧勝

MySQLの処理能力も同時接続数を増やしても性能が落ちない。

Page 33: Osc 20130223

一般的なwebサイトなら

フロントにwebアクセスを応答するための

サーバを並べ、ローカル通信可能な DB を

配置するが、やはり ioDrive はDB サーバ

として使うのがよい

Page 34: Osc 20130223

でもBut

しかし

Page 35: Osc 20130223

どういう風に使うかをやはり計算する必要があります!!

ioDriveは I/Oの性能を飛躍的に向上させますが、やはりメモリにキャッシュできるならキャッシュした方が早いからです!!

Page 36: Osc 20130223

たぶん一つのサーバで、大容量メモリを搭載しつつ、ioDrive2 も搭載する。

メモリに乗せられない部分は ioDrive2で

今までよりも高速に応答する!!

今こうならないのはメモリ、ioDrive2も

価格が高いから。。。

Page 37: Osc 20130223

at+link アプリプラットフォームでは現在ioDrive を採用してますが、2013年3月~4月からioDrive2

を採用する予定です!!

http://www.at-

link.ad.jp/appli_platform/

ちょっとだけ宣伝

Page 38: Osc 20130223

ご清聴ありがとうございました。