Scaling

17
Scaling? Cybozu Labs, Inc. Kazuho Oku

Transcript of Scaling

Page 1: Scaling

Scaling?Scaling?Cybozu Labs, Inc.

Kazuho Oku

Page 2: Scaling

What is Scaling?What is Scaling?

「スケール」とはどういうことなのか自分の過去を振り返った値をピックアップdetails may vary

2009年 9 月 25日 Scaling? 2

Page 3: Scaling

演算速度演算速度

ムーアの法則18ヶ月〜 24ヶ月でトランジスタの集積度は2 倍になる

Gordon E. Moore, Founder of Intel Corporation

1989年 : 80286 @ 12MHz / 1MB2 MIPS?

2009年 : Core 2 Quad @ 3GHz / 4GB60,000 MIPS?

2009年 9 月 25日 Scaling? 3

Page 4: Scaling

2010年には 20GHz?2010年には 20GHz?

http://pc.watch.impress.co.jp/docs/2003/1105/intel.htm2009年 9 月 25日 Scaling? 4

Page 5: Scaling

フラッシュメモリフラッシュメモリ

ファンの法則フラッシュメモリの容量は 12ヶ月で 2 倍黄昌圭 Samsung Electronics 社長

1998年 : 4-8MB (MemoryStick発売時 )

2009年 : 1-32GB (SDカード )

2009年 9 月 25日 Scaling? 5

Page 6: Scaling

HDDHDD

1989年 : 40MB2009年 : 500GB

2009年 9 月 25日 Scaling? 6

Page 7: Scaling

インターネット回線インターネット回線

1999年 : 56Kbps-128Kbps (ADSL直前 )

2009年 : 1.5Mbps-100Mbps

2009年 9 月 25日 Scaling? 7

Page 8: Scaling

スケールしないものもあるスケールしないものもある

HDDのレイテンシ≒回転数20年で約 ½

インターネットのレイテンシ東京〜サンフランシスコは約 8,300km光の速度で 55msec (RTT)

2009年 9 月 25日 Scaling? 8

Page 9: Scaling

4Gbps って速いの ?4Gbps って速いの ?

2009年 9 月 25日 Scaling? 9

Page 10: Scaling

¥ 4,350-のハブでも 12Gbps¥ 4,350-のハブでも 12Gbps

「スイッチング・ファブリック 12Gbps」4Gbps なら¥ 1,450-

2009年 9 月 25日 Scaling? 10

Page 11: Scaling

Perl で書いた HTTP サーバで 10GbpsPerl で書いた HTTP サーバで 10Gbps

Plack::Impl::Standalone::PreforkHTTP パーサ部分は Cベンチマーク条件

linux 2.8.27 (x86_64; Core 2 Quad @ 3GHz)約 2MB の画像を HTTP GET

2009年 9 月 25日 Scaling? 11

Page 12: Scaling

HDDからランダムリードなら ...HDDからランダムリードなら ...

HDDから平均 1KBのデータをランダムリードしているなら0.5Gbytes/sec ÷ 1024bytes ÷ 240io-ops./sec = 約 2,000台

2009年 9 月 25日 Scaling? 12

Page 13: Scaling

遅いのは HDD?遅いのは HDD?

HDD にアクセスするソフトウェアRDBMSファイルストレージ

SSD は部分的解決策問題点は価格

他に CPU intensive な処理もある例 : XML のパース

2009年 9 月 25日 Scaling? 13

Page 14: Scaling

なぜ「スケールアウト」が流行るのかなぜ「スケールアウト」が流行るのか

スケールアウトは 2000年代のトレンドソフトウェア製品からソフトウェアサービスへマスメディアからコミュニケーションツールへ

例 : Yahoo! vs. Mixi

多人数間の、疎なソーシャルグラフユーザーが 1,000万人いても、友達は 100人とか規模は増大したが、グラフは疎になった

↓( 従来よりも ) スケールアウトが容易な課

題2009年 9 月 25日 Scaling? 14

Page 15: Scaling

代表的な「スケールアウト」技術代表的な「スケールアウト」技術

RDB ShardingMapReduce / Hadoop

もしくは Webクローラ等

KVSmemcached, Flare, kumofs, ...

Message QueueActiveMQ, AMQP, Q4M, ...

2009年 9 月 25日 Scaling? 15

Page 16: Scaling

3 層構成3 層構成

HTTP サーバ静的コンテンツのハンドリングアプリケーションサーバへの中継

アプリケーションサーバプログラマの作業をここに集中生産性の高さが重要

ストレージRDBMS, memcached, MQ, ...

2009年 9 月 25日 Scaling? 16

Page 17: Scaling

「スケールアップ」の逆襲「スケールアップ」の逆襲

規模の拡大 vs. ムーアの法則

2009年 9 月 25日 Scaling? 17

1 2 3 4 5 6 7 8 9 10

Year

Data SizeMoore's LawSystem Cost