SlideShare una empresa de Scribd logo
1 de 58
Descargar para leer sin conexión
Copyright © GREE, Inc. All Rights Reserved.
MySQLやSSDとかの話
その後
Takanori Sejima
Copyright © GREE, Inc. All Rights Reserved.
自己紹介
● わりとMySQLのひと
● 3.23.58 から使ってる
● むかしは Resource Monitoring も力入れてやってた
● ganglia & rrdcached の(たぶん)ヘビーユーザ
● 6年くらい前から使い始めた
● gmond は素のまま使ってる
● gmetad は欲しい機能がなかったので patch 書いた
● webfrontend はほぼ書き直した
● あとはひたすら python module 書いた
● ganglia じゃなくても良かったんだけど、とにかく rrdcached を使いたかった
● というわけで、自分は Monitoring を大事にする
● 一時期は Flare という OSS の bugfix などもやってた
Copyright © GREE, Inc. All Rights Reserved.
● 古いサーバを、新しくてスペックの良いサーバに置き換えていく際、いろい
ろ工夫して集約していっているのですが
● 実際にいろいろ使ってきて見えてきたことや、今後について考えることも増
えてきたので
● 今日はそんなお話をしようと思います
● 今回はあまりMySQLの話はありません
● わたしはいろいろ変なこと考えてますが
● 引き続き、細かいところは優秀な若手の実働部隊が頑張ってくれてます
本日のお話
Copyright © GREE, Inc. All Rights Reserved.
● まだ読まれたことのない方は
● 後日、あわせて読んでいただけると、よりわかりやすいかと思います
● 過去の資料
● MySQLやSSDとかの話 前編
● MySQLやSSDとかの話 後編
本日のお話の補足資料
Copyright © GREE, Inc. All Rights Reserved.
まずはおさらい
Copyright © GREE, Inc. All Rights Reserved.
● GREEのサービスは歴史が古い
● むかしから動いてるMySQLのサーバは、かなり sharding されていた
● 2000年代、GREEは SAS HDD 146GB 15krpm * 4本使ったRAID10の前提で、
データベースを設計してるところが多かった
● 15krpm だと それくらいの容量の製品しかなかった
● そういうストレージでも動くように、データベースのサイズは100-200GB以下のものが
多かった
● わたしが入社した2010年のころは、よくサービスささっていて、各エンジニ
アが協力して改善してた
● アプリケーションレイヤーでがんばってもらったり、力の限りsharding したり
かつてのGREEのサーバ
Copyright © GREE, Inc. All Rights Reserved.
● HDD前提の設計だと、サーバの台数が増えまくる。電力効率も良くない
● HDD前提のDBだと、HDDがボトルネックになって、CPU使い切れないケースが多い
● HDDを基準に sharding していくと、一台のサーバでさばく qpsはどうしても低くなって、
CPU使用率はあまり上げられない
● むかしは積めるDRAMの量も少なかったし、メモリの帯域はそれほど多くなかった
● そもそもHDDがそれなりに電力を食う
● SAS 15krpm だと一本で 10W 以上かな?
● 結果、ラック単位で見たときに消費電力効率が良くない
● HDDの占める消費電力がそこそこ大きかった時代
● そんな中、 SSD の価格は下がり続けており
● SSD の進化にあわせてサーバの構成を見直すことで、ランニングコストを
削減し、サービスの競争力を維持しようと試みた
サービスとしては改善したんだけど
Copyright © GREE, Inc. All Rights Reserved.
そして着手した
Copyright © GREE, Inc. All Rights Reserved.
● Fusion-IO 流行し始めたころ、調達できたのは ioDrive MLC 320GB
● ほとんどのDBは、HDDでも動くように sharding など工夫していたから、
320GB という少ない容量は使いドコロが難しかったので
● 長考して長考して長考して
● ioDrive の、桁違いに低い latency に着目して
● ストレージというより「ちょっと遅いメモリ」と考えて
● MySQL の buffer pool を減らし、大量の connection 張れるように、
大量のqueryを受けられるように、メモリの割り当て方を変更した
● 詳しくはこちら
まずはそこそこの容量の ioDrive
Copyright © GREE, Inc. All Rights Reserved.
● 新しいハードウェアに対する心理的障壁として、「特性がわからない」「どん
な壊れ方をするかわからない」というものがある
● ioDrive を、ある程度まとまった台数酷使したことによって、どんなふうに
故障するのかが、つかめてきた
● ioDrive 導入以前より、 NAND Flash への心理的障壁はだいぶ取り除
かれてきたので、そろそろ次のステージに行ってもいいころ
● そうこうしていたら
ハードウェアは壊れるまで使ってナンボ
Copyright © GREE, Inc. All Rights Reserved.
● 時は流れ、NAND Flash の価格が下がり、大容量化が進んでいった
● 800GB以上のエンタープライズ仕様のSSDが普通に買えるようになった
● これは使いたい
● 当時、容量大きいSSD使ってる他社事例それほど多くは聞かなかったので、使ってやり
たい
● いまは珍しく無いと思いますけど
● 他社が活用できてないものを活用することによって、サービスの競争力を向上させる
● SSD は random I/O 性能が高いし、15krpm の SAS HDD でRAID
組むより消費電力少ないので
● ラック単位で考えたとき、よりCPUに電力を回せるようになる
NAND Flash の価格が下がってきた
Copyright © GREE, Inc. All Rights Reserved.
だがしかし
Copyright © GREE, Inc. All Rights Reserved.
● SSDにリプレースしなくても動かせるDBが大量にあった
● 100-200GB程度しかないDBでは、800GBのSSDは無用の長物ではな
かろうか?
GREEは力の限り sharding していた
Copyright © GREE, Inc. All Rights Reserved.
そこで考えた
Copyright © GREE, Inc. All Rights Reserved.
● DBが100-200GB程度しかないなら、サービス無停止で master 統合す
ればいいってことで、サービス無停止で master 統合する方法を考えた
● DBが巨大になるとバックアップとるのに時間かかるようになるし、管理が
大変になるので、大きく運用を変えない範疇で、バックアップの取り方を変
更することにした
DB統合するしバックアップの取り方も変える
Copyright © GREE, Inc. All Rights Reserved.
● HDDのころは、masterとslaveは146GBのHDD*4でRAID10だった
が、 バックアップファイルを取得するためのslaveはHDD*6とかHDD*8
とかで、データベース用の領域と、バックアップファイルを書き出すための
領域を確保できるようにしてた
● 具体的には、 mysqld 止めて datadir を tar ball で固めてた
● つまり、masterのサーバとバックアップファイルを取るためのサーバは、
ストレージの容量が等しくなかった
かつてのバックアップの取り方
Copyright © GREE, Inc. All Rights Reserved.
● バックアップサーバとmasterで同じ容量のSSD使うと、バックアップを取
ることができない
● DBで800GB使いきっちゃうと、 tar ball とれない
● 数TBの大容量 PCI-e SSD をバックアップサーバ用に使う?
● それはリッチすぎるコストパフォーマンスが悪い
● HDDだとI/Oの性能が追いつかない
● DBを統合するということは、それだけ更新が増えるということでもある
● SSDをRAIDコントローラで束ねる?
● そうするとRAIDコントローラがボトルネックになるケースも出てくる
● かつては、RAIDコントローラ経由だと SMARTがとれないという課題もあった
一番容量のでかいSATA SSDを使いたい
Copyright © GREE, Inc. All Rights Reserved.
● HDDもSSDも、ブロックデバイスは、一つのI/Oコントローラに対して
read と write を同時に発行すると遅い
● read only ないし write only のときに最大のスループットがでる
● RAIDで束ねたHDD上で tar ball 取得するの、データベースが大きくな
るに連れて、無視できない遅さになってきていた
● SSDに移行したとしても、このままだといつか遅くなって困るんじゃない?
大容量のSSDを使う前から、課題意識はあった
Copyright © GREE, Inc. All Rights Reserved.
● master/slave/バックアップサーバをぜんぶ 800GB のSSDにする
● バックアップサーバは ssh 経由で、同じラックにある SATA HDDの
RAID6なストレージサーバに tar ball を書き出す
● $ tar cvf - ${datadir} | pigz | ssh ${storage_server} “cat -
>backup.tar.gz”
● SSDなので tar するときの read は速い
● pigzでCPUのcoreぜんぶ使いきって圧縮するので、帯域制限にもなるし、
通信量もへる。まぁ、ラックをまたがないので、全力で転送しても困らない
● HDDは sequential write only になるので、書き込むのは充分速い
● 運用や監視も、既存の方法と比べて大きくは変えなくて良い
方法を変える、許容できる範囲内で
Copyright © GREE, Inc. All Rights Reserved.
● データが巨大になると、DB再構築するのに時間がかかるようになる
● 今までN+1の構成だったところはN+2にする
● slaveは一台多めにしておく。一台故障したら、もう一台故障する前にじっくり再構築
● ストレージサーバは RAID6 にする。 SATA HDD の故障率を考慮して
● ストレージサーバはTB単位のデータを持っているため、電源などが故障したときのダメー
ジがでかいので、二台構成にする。
● バックアップサーバから書き出す先は現行系のストレージサーバにして、待機系は cron で
rsync してコピーする
● ストレージサーバは SATA HDD にしたから大容量にできたので、ストレージサーバ1台
に対して、書き込むバックアップサーバは複数台にする。それならば、ストレージサーバを
2台構成にしてもコスト的にペイする
● 最終的に、トータルで台数減ればそれでいい
破綻しないよう、考えながら集約する
Copyright © GREE, Inc. All Rights Reserved.
図にするとこう
Copyright © GREE, Inc. All Rights Reserved.
● Google の Warehouse-Scale Computer ほど大きい粒度ではなく、4
本以上のラックを一つの単位として考える
● replication の traffic は、これらのラックに閉じ込めてしまう。
● RAID5がパリティを複数のディスクに分散させるように、masterやバック
アップ用のサーバを複数のラックに分散させる
● 万が一、ラックごと落ちたとしても、影響を受けるmaster の数を限定的にできる
● master -> slave 間の replication の traffic が、ラックごとに偏りにくくなる
● アプリケーションサーバ <-> slave の traffic が多かったとしても、ラックごとに偏りに
くくなる
● バックアップサーバを分散配置することで、ストレージサーバのディスク使用量を、ラック
ごとに偏らせないようにする
複数のラックをグルーピングし、RAID5の様に扱う
Copyright © GREE, Inc. All Rights Reserved.
● 現状のHWの特性や、今後のHWを想定している
● サーバのNICの帯域が増えても、これらのラックの集合の中でその性能が活かせる
● 弊社の場合、KVSの replication の traffic が大変多いのだが、 KVSやMySQLの
replication の traffic を特定のラックに集約できると、運用上楽になる
● pigz でバックアップファイルを圧縮するので、DBの集約度が上がってDBのサイズが増
えても、CPUのコアが増えれば、バックアップの取得時間を稼ぐことができる
● SSDの消費電力の少なさを活かして、一ラックあたりの集積度を上げていける
● SSDは消費電力が少なく熱にも強いから、そのぶんCPU で TurboBoost 使って、熱
出しつつ性能を引き出す方向で行ける
● TurboBoost 使うことで、NICの帯域が増えても、CPUがパケットさばけるようにする
● 現状はSATAのHDDをバックアップ用のストレージに割り当てているけど、SSD のバイ
ト単価が十分下がっていけば、別にSSD でもかまわない
このラックの使い方には、いろいろな思惑がある
Copyright © GREE, Inc. All Rights Reserved.
おさらい
ここまで
Copyright © GREE, Inc. All Rights Reserved.
ここからが
最近の話
Copyright © GREE, Inc. All Rights Reserved.
● エンタープライズ仕様のSATA SSD でも、1TB超の製品が出てきた
● 3D NAND が実用化してきているので、容量は来年以降もまだまだ増え
ていく
● わたし的には、まだまだ集約していけると思う。少なくともバックアップサー
バは
● 仮に master/slave が 800GB 以下のままでも、 バックアップサーバであれば、
mysqld を複数プロセス相乗りしてもそれほど困らないので
● バックアップサーバだけ、800GBより大きい SSD 積んだっていい
● 例えば、バックアップサーバに 1.6TB くらいの SSD を積んで、 mysqld を2プロセス
起動して、 800GB の SSD つんだ master 二台と replication しても良い
SSDの進化はめざましい
Copyright © GREE, Inc. All Rights Reserved.
が
Copyright © GREE, Inc. All Rights Reserved.
● ssh 経由で、同じラックにある SATA HDDの RAID6なストレージサーバ
に tar ball を書き出す方法、うまくいったんだけど
● SSD は書き込み寿命という概念があるので、DB のフルバックアップを定期的に SSD
へ書き込むのはあまりうれしくないが、バックアップの書き込み先がHDD なら、定期的
にフルバックアップ書き込んでも、別に困らない
● SATA HDD は 24時間365日フル稼働させると設計的にきびしい製品もあるが、daily
のバックアップ保存先として使うなら、24時間フル稼働するわけではない
● 書き込み寿命の概念があるけど高速なSSD は、お客様向けのサービスに使って、書き
込み寿命の概念がないけど安価なHDD は、バックアップの保存先に使う
● そんな具合に上手く行ったんだけど
● ストレージサーバの HDD の容量を増やして集約率を上げていくなら、見
なおして良いポイントが幾つかあるなと、実稼働させていくうちに見えてき
た
サーバの構成を見なおしてもいいころ
Copyright © GREE, Inc. All Rights Reserved.
● ストレージサーバのCPUはスカスカなので、CPU 1socket に対して、もっ
と大容量のストレージが扱える
● バックアップサーバから書き込むとき、ストレージサーバはsshd くらいしか CPU 使わな
いのだが、 sshd 1プロセスで複数のコア使えなくても、複数のバックアップサーバから書
き込んでいるので、結果的にストレージサーバのコアは複数使いこなせている
● バックアップサーバが pigz で圧縮したものをストレージサーバに書き込んでいるので、
ssh で暗号化するデータもストレージに書き込むデータも、圧縮済みで最小化できてい
る。
● そのため、ストレージサーバの CPU 負荷は低かった。
● その結果、ストレージサーバで増やしたいリソースは次のような印象
● NICの帯域 >= ストレージの容量 >>> (越えられない壁) >>> disk の書き込み負
荷 >>> CPU 使用率
ひとつひとつ、サーバ上のリソースを見直していく
Copyright © GREE, Inc. All Rights Reserved.
● GbE 経由では 120MB/sec 程度でしか書き込めないが、いまどきの
HDD とRAIDコントローラだと、RAID6 でも 120MB/sec なんて余裕す
ぎる(HDDの本数によるでしょうが)
● RAIDコントローラをもっと酷使するためには、 GbE では全く足りないので
、10GbE 以上の帯域を用意するしかない
● NIC の帯域が太くなると、 tar ball 書き出す時間を短縮できるので、 DB
のサイズが大きくなっても運用上さしつかえないし、ストレージサーバのス
トレージの容量を増やしてもいい
少なくとも 10GbE
Copyright © GREE, Inc. All Rights Reserved.
● 巨大すぎる RAID は、リビルドにかかる時間が長くなる
● リビルドの時間が、 HDD 一本あたりの容量と本数に比例するなら、わたしは容量を犠
牲にしようと思う
● HDD の本数が増えて消費電力増えたとしても、性能面などでのメリットがあればいい
● ラック単位で考えたとき、電力面でバランスが取れていればそれでいい
● 可能であれば、1台のサーバにRAIDコントローラを複数積みたい
● 一つのRAIDコントローラにぶら下がってる HDD の本数が減れば、リビルドの時間はそ
れだけ減らせる。なので複数積んで、管理するHDD を分散させる。
● どうせ複数のバックアップサーバから書き出すので、 RAIDコントローラごとにボリューム分か
れていても困らない
● バックグラウンドでリビルド走ってるときも、リビルド走ってない方のコントローラは、性能に影
響しないだろうし
RAIDはあまり大容量すぎても意味が無い
Copyright © GREE, Inc. All Rights Reserved.
● ある程度まとまった本数の HDD を積めるならば、 RAID6 より RAID60
にして書き込み性能を改善させる
● HDD の特性として、円盤の外周と内周で性能差が出るケースはあるだろうから、性能に
はある程度余裕をもたせておいたほうがいい。
● 実際にファイルを書き出したり削除したりすると、必ずしも局所的なアクセスになるとは限らな
いだろうし
● NIC の帯域に対してある程度余裕を持たせておいて、あくまでも「ボトル
ネックは NIC の帯域」となるようにしておいたほうが、運用がシンプルに
なって良い
● NIC に合わせて設計するときに難しい点は、NIC の帯域が1.5倍くらいのペースで増
えるのではなく、 GbE から 10GbE など、いきなり倍以上になってしまうところ。
RAID6 より RAID6+0
Copyright © GREE, Inc. All Rights Reserved.
● いくらバックアップファイルを保存するストレージサーバとはいえ、一台に集
約してしまったら、(直接サービスに影響がでないとしても)故障などの障害
発生時、復旧のための運用上のコストは、かなりきびしいものになる
● 複数のラックに分散配置して、万が一のときでも、復旧作業の作業コスト
が、許容できる範囲に収まったほうが良い
● 消費電力高いパーツを大量に積んだサーバを、一つのラックに集中して配
置してしまうと、突入電力の面でも懸念が残る
程よい大きさのストレージを、分散配置するのがよい
Copyright © GREE, Inc. All Rights Reserved.
● ストレージサーバに 10GbE を積んでも、ストレージサーバにバックアップ
書きだすサーバが同じラック内にいるだけなら、バックアップのためのトラ
フィックは、上流のコアスイッチを経由しない
● 仮に、 GbE を積んだ10台のバックアップサーバと、 10GbE のストレー
ジサーバが全力で通信して 10Gbps 目一杯使うとしても、その通信が
ラック内で完結しているなら、ネットワーク機器の設備投資は、局所的なも
ので済ませられる
● そのようなバックアップサーバとストレージサーバのセットが複数のラックに
分散配置できていれば、大容量のバックアップを高速に取得できる
● もし、オンプレミス環境からクラウドストレージにバックアップを書き出すとし
たら、このようにネットワークの帯域を使うことは、コスト面で難しいだろう
トラフィックがラックの中で完結するメリット
Copyright © GREE, Inc. All Rights Reserved.
図にするとこう
Copyright © GREE, Inc. All Rights Reserved.
● ストレージサーバ1台に毎日書き出したいバックアップの総量は、何TBな
のか?それを何時間で書き込みたいのか?
● 時間的に GbE の帯域で足りるのか?足りないなら、 10GbE の帯域に
見合うだけの書き込み性能を、RAIDコントローラは持っているのか?
● バックアップは何日分保存しておきたいのか?それだけの容量を保存する
とき、 RAID のリビルドはどれくらいかかるのか?ストレージサーバの再
構築にかかる時間はどれくらいか?
● RAID のリビルドにかかる時間を短縮したいなら、RAIDコントローラはいく
つ積むべきなのか?
● 最終的に、電力や設置スペースなども踏まえて、 HDD で RAID を組む
コストメリットはあるのか?
一つ一つ、積み上げて見積もる
Copyright © GREE, Inc. All Rights Reserved.
● リビルドにかかる時間などは看過できないけど、実運用に収まる規模であ
れば、未だに RAID はコストパフォーマンス悪くない仕組み
● ある程度の規模になると、分散ファイルシステムなどを検討しなければなら
ないだろうけど。障害発生時の復旧コストや、ネットワーク機器への設備投
資など考えると、 RAID を使ったストレージサーバや、同一ラック内からそ
のストレージサーバに Ethernet 経由でバックアップを書き出すというの
は、現時点では充分選択肢になりうる
● 保存するデータの規模や用途、障害復旧の方法、運用コスト等考慮し、自
分たちにとって適切な方法を選んでいくのがよい。
● その一つとして、 RAID はまだ選択肢になりうると思う
要素技術としてみたときの RAID
Copyright © GREE, Inc. All Rights Reserved.
● 1TB超のエンタープライズ向け SATA SSD、 10GbE 、そういったものに
対して
● 2Uくらいのストレージ特化型サーバがあれば、 RAID で 3.5inch SATA
HDD を束ねて、ある程度コストパフォーマンスのいいバックアップシステ
ムが設計できる
● 例えば、 HPE Apollo 4200 のような2Uのサーバ使うとか
● Hadoop 以外でも、ストレージ特化型のサーバって意外と使い道あると思
います。容量100TBとかなくてもいいんです。HDDたくさん積めれば、使
い道はあるんです。 SSD 積んだサーバの、補助記憶装置的に捉えれば
いいんです。
現時点でのハードウェアを見渡すと
Copyright © GREE, Inc. All Rights Reserved.
このへんまでは
取り組んでる
Copyright © GREE, Inc. All Rights Reserved.
で
Copyright © GREE, Inc. All Rights Reserved.
● その一方、パブリッククラウドも活用してるし気にしてます。
● 仮想化というレイヤーを挟まないことによって、MySQL からハードウェアまでの間を構
成する要素が減るので、何かあったときに調査しやすいのですが
● パブリッククラウドのメリットも当然有るので、そのへんはいろいろ比較しながら勉強させ
てもらってます。
● 余談ですが、パブリッククラウドでも、Linux の kernel や TCP に関することについて
は、やはりチューニングすべきポイントがあって、そういった意味では、オンプレミス環境
でもパブリッククラウドでも役に立つ知識や経験があります。
● TCP や Linux の kernel に関する知識は、インフラエンジニアである限り、当分役に立
つもんだと思います。
パブリッククラウドをチラチラみつつ
Copyright © GREE, Inc. All Rights Reserved.
わりと真面目に
比較している
ところは
Copyright © GREE, Inc. All Rights Reserved.
● (月並みですが)Googleはすごいと思ってます。何がすごいかというと消
費電力効率です。彼らのデータセンターのPUEはハンパないです
● Googleに限らないですが、パブリッククラウド事業者は、日本以外の、一
つのラックに電力を大量に供給できて、一つのラックにサーバをたくさん詰
める地域でもサービスしてたりします。
● そうすると、日本より空間効率良くなって集約度が上がっていくわけで、日
本よりインスタンス費用が安くなっていきます。
● 極論すると、アメリカ西海岸の方が、パブリッククラウドのインスタンス安い
なら、アメリカ西海岸でサービス開発してる人、コスト面で超有利じゃん?と
思うわけです
● インスタンスの安い地域と比べて、日本の中でどうやってコストを最適化し
ていくか?という課題が常にあると思っています
消費電力効率と空間効率をいかに最適化するか
Copyright © GREE, Inc. All Rights Reserved.
● 日本では、スパコンを設置するためのデータセンターを設置する場合、場
所選びが大変なのではないか?と思います。
● 一方、土地が広い国は、データセンターいくつも作ってスパコンたくさん開
発できる余地があるんじゃないでしょうか?
● スパコンはとても電力使うので、消費電力の多いデータセンターをいくつも
設置できるということは、電力効率が良いデータセンターのためのノウハウ
が、その地域に蓄積されていくということになるのかもしれません。
● TOP500の国々を見ていると、そんな気がしてきます。
これは非常に個人的な推測なんですが
Copyright © GREE, Inc. All Rights Reserved.
● 日本はGreen500で健闘してますが、いかにして電力効率を最適化して
いくかっていうのが、日本の土地のことを考えると、方向性としては正しい
んじゃないかなという気がします。
● 消費電力多いけどclockの高いCPU使いたいなら、パブリッククラウドで、
電気たくさん使える地域でインスタンス立てる方が、今後、どんどんコスト
パフォーマンス良くなっていくんじゃないかという気がします。
● そんな中、日本のデータセンターにあるサーバを使いたいなら、いかにして
電力効率を最適化し、ランニングコストを削減していくかが、重要なポイント
ではないかなと考えています。
スパコンの世界を眺めて思うのは
Copyright © GREE, Inc. All Rights Reserved.
そう思いながら
サーバいじってて
気がついた
Copyright © GREE, Inc. All Rights Reserved.
そうだ
Copyright © GREE, Inc. All Rights Reserved.
CPUのCoreを
disable に
しよう
Copyright © GREE, Inc. All Rights Reserved.
● GREEのサービスはCPUが4Coreくらいの時代から続いてるので、CPUの
Coreが10とか20とかなくても、どうにかなるケースが多い。
● DBはCPUよりもSSDとメモリ。もしCPU使用率高いなら、最適化を試みればいい。
● しかし、ワーストケースとして「すべてのCoreがぶん回されたときの消費電
力」を想定して、ラックに積むサーバの台数を決めなければならない
● そうであるならば、BIOSから使うCoreの数を制限して、CPUの消費電力
の上限を設けてしまえばいい
● Core数の少ない Low-Core-Count のCPUであれば、使うCoreが少な
いと、 TurboBoost でより高いClockに引き上げることも可能になる
● MySQL5.6以前であれば、SQL_Thread がシングルスレッドなので、シングルスレッド
性能高いほうが Replication では有利になる
MySQLを最適化してくと、そこまでCPU使わない
Copyright © GREE, Inc. All Rights Reserved.
MySQL最適化して
使うCoreの数を制限して
消費電力を削減し
お客様に還元する
Copyright © GREE, Inc. All Rights Reserved.
● 1Uではなく、 2U4nodeなどの高集約型のサーバをDBに使う
● master/slaveは複数のラックに分散する設計にできているので、最悪、サーバごと落ち
て4node全滅したとしても、影響範囲は限定的にできる。
● BIOSからCPUのCore数を制限して、消費電力を引き下げつつ、
TurboBoostでより高い clock を、より高いシングルスレッド性能を狙う
● 1nodeあたり1U未満のサーバであれば、 一ラックあたり46Uしかなくて
も、 1ラックあたり 48node くらいを狙える気がしている
● ざっくり考えて、1UでDB一台130Wくらいだったけど、110Wくらいを狙えるのでは
● 低電圧版のCPU1個で50-60W程度
● DDR4のメモリ1枚が9-10W程度で(クアッドチャネルということでそれが4枚)
● SATAのSSDとNICがそれぞれ5-6Wずつ
● ファンや残りのパーツで 10Wくらい余裕みて
● 電源の力率をざっくり 0.9くらいで考えると
● このままだとサーバ1台で 130Wくらいだが、Core を disable してそれを削る。
今後、検討したいこと
Copyright © GREE, Inc. All Rights Reserved.
図にするとこう
Copyright © GREE, Inc. All Rights Reserved.
こんな感じで
Copyright © GREE, Inc. All Rights Reserved.
48portのswtich、
1ラック分のサーバで
ポート使い切ってやろう
Copyright © GREE, Inc. All Rights Reserved.
● 10GbEのストレージサーバを組んだことで、バックアップサーバ用のラック
は実績が上がってきた。
● Webアプリケーションサーバ専用ラックとDBサーバ専用ラックを、それらと
切り離して、上手く組んで行ければいいかなと思っている
● アプリケーションサーバとDBサーバで専用ラックを別々に組めると、アプリケーション
サーバとDBサーバの台数比率を自由にコントロールできるので、柔軟に台数構成を考え
られる。
● アプリケーションサーバはCoreたくさんあったほうが集約率上がるので、
Core を Disable にすることはあまり考えてないが、DBはCoreを
Disable にすることで、1ラックあたりの集約度を上げていければいいかな
と思ってる
● 最大で、 1ラック48port 使い切れる範囲内まで disable にするということで
バックアップ用HDDは他のラックに確保できたので
Copyright © GREE, Inc. All Rights Reserved.
現時点では、
ある程度までは
電力効率を
改善できそうだ
Copyright © GREE, Inc. All Rights Reserved.
● おそらくきっと、サーバにも 40Gbps のネットワークインターフェースが普
及してくる時代になってくるだろうから
● 参考: EthernetやCPUなどの話
● 40GbE などが普及する時代になってくると、これらのバランスがまた崩れ
てしまう
● いまは仮想化しないで localhost 上のSSDを使ってる。ネットワーク経由で disk にア
クセスしないで済ませられているので、データセンター内のトラフィックを絞れている。将
来、広帯域のネットワークが充分安価になれば、localhost 上のSSDを使わない方が、
最終的にランニングコスト下げられるのかもしれない。
● おそらく2020年代には、別の選択肢を考えなければならない
● なので、次はどうしようかと、個人的にいろいろ考えてるところです
次の、2020年代には
Copyright © GREE, Inc. All Rights Reserved.
おわり

Más contenido relacionado

La actualidad más candente

インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
Akihiro Kuwano
 

La actualidad más candente (20)

PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
PostgreSQLのバグとの付き合い方 ~バグの調査からコミュニティへの報告、修正パッチ投稿まで~(PostgreSQL Conference Japa...
 
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
一歩先行く Azure Computing シリーズ(全3回) 第2回 Azure VM どれを選ぶの? Azure VM 集中講座
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
 
Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門Data Factory V2 新機能徹底活用入門
Data Factory V2 新機能徹底活用入門
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
 
Amazon RDSを参考にしたとりまチューニング
Amazon RDSを参考にしたとりまチューニングAmazon RDSを参考にしたとりまチューニング
Amazon RDSを参考にしたとりまチューニング
 
デモとディスカッションで体験するOracle DBトラブル対応
デモとディスカッションで体験するOracle DBトラブル対応デモとディスカッションで体験するOracle DBトラブル対応
デモとディスカッションで体験するOracle DBトラブル対応
 
NAND Flash から InnoDB にかけての話(仮)
NAND Flash から InnoDB にかけての話(仮)NAND Flash から InnoDB にかけての話(仮)
NAND Flash から InnoDB にかけての話(仮)
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
PostgreSQLでスケールアウト
PostgreSQLでスケールアウトPostgreSQLでスケールアウト
PostgreSQLでスケールアウト
 
Db2 Warehouse ご紹介資料 20170922
Db2 Warehouse ご紹介資料 20170922Db2 Warehouse ご紹介資料 20170922
Db2 Warehouse ご紹介資料 20170922
 
Spring native について
Spring native についてSpring native について
Spring native について
 
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
お絵かきのお話(~nw構成図ってどんな感じで書いてます?~)
 
PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介PostgreSQLレプリケーション徹底紹介
PostgreSQLレプリケーション徹底紹介
 
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
Azure Database for MySQL PostgreSQLを使って運用の手間を省きませんか?
 
JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法JPAのキャッシュを使ったアプリケーション高速化手法
JPAのキャッシュを使ったアプリケーション高速化手法
 
爆速クエリエンジン”Presto”を使いたくなる話
爆速クエリエンジン”Presto”を使いたくなる話爆速クエリエンジン”Presto”を使いたくなる話
爆速クエリエンジン”Presto”を使いたくなる話
 

Destacado

Destacado (20)

MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編MySQLやSSDとかの話 後編
MySQLやSSDとかの話 後編
 
binary log と 2PC と Group Commit
binary log と 2PC と Group Commitbinary log と 2PC と Group Commit
binary log と 2PC と Group Commit
 
CPUに関する話
CPUに関する話CPUに関する話
CPUに関する話
 
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
TechFeedのつくりかた - Angular2/Webpack/Ionic2/Cordova実践入門
 
MySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slaveMySQL5.7 GA の Multi-threaded slave
MySQL5.7 GA の Multi-threaded slave
 
S20
S20S20
S20
 
innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響innodb_thread_concurrencyとtransparent hugepageの影響
innodb_thread_concurrencyとtransparent hugepageの影響
 
分割と整合性と戦う
分割と整合性と戦う分割と整合性と戦う
分割と整合性と戦う
 
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo 【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
【QCon】 Get Clean, Stay Clean 価値を向上し続けるための秘訣 #QConTokyo
 
ESJ62自由集会・オープンデータからオープンサイエンスへ
ESJ62自由集会・オープンデータからオープンサイエンスへESJ62自由集会・オープンデータからオープンサイエンスへ
ESJ62自由集会・オープンデータからオープンサイエンスへ
 
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
What's New in MySQL 5.7 Optimizer @MySQL User Conference Tokyo 2015
 
pixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンス
pixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンスpixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンス
pixivのインフラになって2ヶ月がたった - NSEG feat. 高専カンファレンス
 
【#osh2014】これからのつながる開発環境とその秘訣 (仮)
【#osh2014】これからのつながる開発環境とその秘訣 (仮)【#osh2014】これからのつながる開発環境とその秘訣 (仮)
【#osh2014】これからのつながる開発環境とその秘訣 (仮)
 
de:code報告
de:code報告de:code報告
de:code報告
 
Monitoring of SmartNews
Monitoring of SmartNewsMonitoring of SmartNews
Monitoring of SmartNews
 
MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編MySQLやSSDとかの話・前編
MySQLやSSDとかの話・前編
 
Embulk makes Japan visible
Embulk makes Japan visibleEmbulk makes Japan visible
Embulk makes Japan visible
 
Search at Twitter: Presented by Michael Busch, Twitter
Search at Twitter: Presented by Michael Busch, TwitterSearch at Twitter: Presented by Michael Busch, Twitter
Search at Twitter: Presented by Michael Busch, Twitter
 
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
企業向けクラウドサービスの開発・運用 悩みどころのパターンと対策
 
MySQLやSSDとかの話・後編
MySQLやSSDとかの話・後編MySQLやSSDとかの話・後編
MySQLやSSDとかの話・後編
 

Similar a MySQLやSSDとかの話 その後

レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話
nekogeruge_987
 
Routerboard勉強会 tips
Routerboard勉強会 tipsRouterboard勉強会 tips
Routerboard勉強会 tips
kometch H
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
Insight Technology, Inc.
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
yuzorock
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
外道 父
 

Similar a MySQLやSSDとかの話 その後 (20)

さいきんのMySQLに関する取り組み(仮)
さいきんのMySQLに関する取り組み(仮)さいきんのMySQLに関する取り組み(仮)
さいきんのMySQLに関する取り組み(仮)
 
sysloadや監視などの話(仮)
sysloadや監視などの話(仮)sysloadや監視などの話(仮)
sysloadや監視などの話(仮)
 
GAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) OpsGAE + Spannerで目指せ No (Uncomfortable) Ops
GAE + Spannerで目指せ No (Uncomfortable) Ops
 
Devsの常識、DBAは非常識
Devsの常識、DBAは非常識Devsの常識、DBAは非常識
Devsの常識、DBAは非常識
 
レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話レガシーシステムのDBマイグレーションし始めた話
レガシーシステムのDBマイグレーションし始めた話
 
20170329_BigData基盤研究会#7
20170329_BigData基盤研究会#720170329_BigData基盤研究会#7
20170329_BigData基盤研究会#7
 
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
今、改めて考えるPostgreSQLプラットフォーム - マルチクラウドとポータビリティ -(PostgreSQL Conference Japan 20...
 
CasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用TipsCasualなMongoDBのサービス運用Tips
CasualなMongoDBのサービス運用Tips
 
Kuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakaltKuduを調べてみた #dogenzakalt
Kuduを調べてみた #dogenzakalt
 
AWS上で使えるストレージ十番勝負
AWS上で使えるストレージ十番勝負AWS上で使えるストレージ十番勝負
AWS上で使えるストレージ十番勝負
 
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
Hadoop 2.6の最新機能(Cloudera World Tokyo 2014 LT講演資料)
 
Hadoop2.6の最新機能+
Hadoop2.6の最新機能+Hadoop2.6の最新機能+
Hadoop2.6の最新機能+
 
Routerboard勉強会 tips
Routerboard勉強会 tipsRouterboard勉強会 tips
Routerboard勉強会 tips
 
Azure aws違い
Azure aws違いAzure aws違い
Azure aws違い
 
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
[D31] PostgreSQLでスケールアウト構成を構築しよう by Yugo Nagata
 
Gangliaはじめました
GangliaはじめましたGangliaはじめました
Gangliaはじめました
 
OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾OpenStackでつくる開発環境と外道塾
OpenStackでつくる開発環境と外道塾
 
20210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.020210731_OSC_Kyoto_PGStrom3.0
20210731_OSC_Kyoto_PGStrom3.0
 
Fpgax 20130604
Fpgax 20130604Fpgax 20130604
Fpgax 20130604
 
20180217 FPGA Extreme Computing #10
20180217 FPGA Extreme Computing #1020180217 FPGA Extreme Computing #10
20180217 FPGA Extreme Computing #10
 

Último

Último (11)

新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半        2024/04/26の勉強会で発表されたものです。新人研修 後半        2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
 
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアルLoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
 
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
 
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
 
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
知識ゼロの営業マンでもできた!超速で初心者を脱する、悪魔的学習ステップ3選.pptx
 
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイスLoRaWANスマート距離検出センサー  DS20L  カタログ  LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
 
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
 
Utilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native IntegrationsUtilizing Ballerina for Cloud Native Integrations
Utilizing Ballerina for Cloud Native Integrations
 
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
 
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
 
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
 

MySQLやSSDとかの話 その後

  • 1. Copyright © GREE, Inc. All Rights Reserved. MySQLやSSDとかの話 その後 Takanori Sejima
  • 2. Copyright © GREE, Inc. All Rights Reserved. 自己紹介 ● わりとMySQLのひと ● 3.23.58 から使ってる ● むかしは Resource Monitoring も力入れてやってた ● ganglia & rrdcached の(たぶん)ヘビーユーザ ● 6年くらい前から使い始めた ● gmond は素のまま使ってる ● gmetad は欲しい機能がなかったので patch 書いた ● webfrontend はほぼ書き直した ● あとはひたすら python module 書いた ● ganglia じゃなくても良かったんだけど、とにかく rrdcached を使いたかった ● というわけで、自分は Monitoring を大事にする ● 一時期は Flare という OSS の bugfix などもやってた
  • 3. Copyright © GREE, Inc. All Rights Reserved. ● 古いサーバを、新しくてスペックの良いサーバに置き換えていく際、いろい ろ工夫して集約していっているのですが ● 実際にいろいろ使ってきて見えてきたことや、今後について考えることも増 えてきたので ● 今日はそんなお話をしようと思います ● 今回はあまりMySQLの話はありません ● わたしはいろいろ変なこと考えてますが ● 引き続き、細かいところは優秀な若手の実働部隊が頑張ってくれてます 本日のお話
  • 4. Copyright © GREE, Inc. All Rights Reserved. ● まだ読まれたことのない方は ● 後日、あわせて読んでいただけると、よりわかりやすいかと思います ● 過去の資料 ● MySQLやSSDとかの話 前編 ● MySQLやSSDとかの話 後編 本日のお話の補足資料
  • 5. Copyright © GREE, Inc. All Rights Reserved. まずはおさらい
  • 6. Copyright © GREE, Inc. All Rights Reserved. ● GREEのサービスは歴史が古い ● むかしから動いてるMySQLのサーバは、かなり sharding されていた ● 2000年代、GREEは SAS HDD 146GB 15krpm * 4本使ったRAID10の前提で、 データベースを設計してるところが多かった ● 15krpm だと それくらいの容量の製品しかなかった ● そういうストレージでも動くように、データベースのサイズは100-200GB以下のものが 多かった ● わたしが入社した2010年のころは、よくサービスささっていて、各エンジニ アが協力して改善してた ● アプリケーションレイヤーでがんばってもらったり、力の限りsharding したり かつてのGREEのサーバ
  • 7. Copyright © GREE, Inc. All Rights Reserved. ● HDD前提の設計だと、サーバの台数が増えまくる。電力効率も良くない ● HDD前提のDBだと、HDDがボトルネックになって、CPU使い切れないケースが多い ● HDDを基準に sharding していくと、一台のサーバでさばく qpsはどうしても低くなって、 CPU使用率はあまり上げられない ● むかしは積めるDRAMの量も少なかったし、メモリの帯域はそれほど多くなかった ● そもそもHDDがそれなりに電力を食う ● SAS 15krpm だと一本で 10W 以上かな? ● 結果、ラック単位で見たときに消費電力効率が良くない ● HDDの占める消費電力がそこそこ大きかった時代 ● そんな中、 SSD の価格は下がり続けており ● SSD の進化にあわせてサーバの構成を見直すことで、ランニングコストを 削減し、サービスの競争力を維持しようと試みた サービスとしては改善したんだけど
  • 8. Copyright © GREE, Inc. All Rights Reserved. そして着手した
  • 9. Copyright © GREE, Inc. All Rights Reserved. ● Fusion-IO 流行し始めたころ、調達できたのは ioDrive MLC 320GB ● ほとんどのDBは、HDDでも動くように sharding など工夫していたから、 320GB という少ない容量は使いドコロが難しかったので ● 長考して長考して長考して ● ioDrive の、桁違いに低い latency に着目して ● ストレージというより「ちょっと遅いメモリ」と考えて ● MySQL の buffer pool を減らし、大量の connection 張れるように、 大量のqueryを受けられるように、メモリの割り当て方を変更した ● 詳しくはこちら まずはそこそこの容量の ioDrive
  • 10. Copyright © GREE, Inc. All Rights Reserved. ● 新しいハードウェアに対する心理的障壁として、「特性がわからない」「どん な壊れ方をするかわからない」というものがある ● ioDrive を、ある程度まとまった台数酷使したことによって、どんなふうに 故障するのかが、つかめてきた ● ioDrive 導入以前より、 NAND Flash への心理的障壁はだいぶ取り除 かれてきたので、そろそろ次のステージに行ってもいいころ ● そうこうしていたら ハードウェアは壊れるまで使ってナンボ
  • 11. Copyright © GREE, Inc. All Rights Reserved. ● 時は流れ、NAND Flash の価格が下がり、大容量化が進んでいった ● 800GB以上のエンタープライズ仕様のSSDが普通に買えるようになった ● これは使いたい ● 当時、容量大きいSSD使ってる他社事例それほど多くは聞かなかったので、使ってやり たい ● いまは珍しく無いと思いますけど ● 他社が活用できてないものを活用することによって、サービスの競争力を向上させる ● SSD は random I/O 性能が高いし、15krpm の SAS HDD でRAID 組むより消費電力少ないので ● ラック単位で考えたとき、よりCPUに電力を回せるようになる NAND Flash の価格が下がってきた
  • 12. Copyright © GREE, Inc. All Rights Reserved. だがしかし
  • 13. Copyright © GREE, Inc. All Rights Reserved. ● SSDにリプレースしなくても動かせるDBが大量にあった ● 100-200GB程度しかないDBでは、800GBのSSDは無用の長物ではな かろうか? GREEは力の限り sharding していた
  • 14. Copyright © GREE, Inc. All Rights Reserved. そこで考えた
  • 15. Copyright © GREE, Inc. All Rights Reserved. ● DBが100-200GB程度しかないなら、サービス無停止で master 統合す ればいいってことで、サービス無停止で master 統合する方法を考えた ● DBが巨大になるとバックアップとるのに時間かかるようになるし、管理が 大変になるので、大きく運用を変えない範疇で、バックアップの取り方を変 更することにした DB統合するしバックアップの取り方も変える
  • 16. Copyright © GREE, Inc. All Rights Reserved. ● HDDのころは、masterとslaveは146GBのHDD*4でRAID10だった が、 バックアップファイルを取得するためのslaveはHDD*6とかHDD*8 とかで、データベース用の領域と、バックアップファイルを書き出すための 領域を確保できるようにしてた ● 具体的には、 mysqld 止めて datadir を tar ball で固めてた ● つまり、masterのサーバとバックアップファイルを取るためのサーバは、 ストレージの容量が等しくなかった かつてのバックアップの取り方
  • 17. Copyright © GREE, Inc. All Rights Reserved. ● バックアップサーバとmasterで同じ容量のSSD使うと、バックアップを取 ることができない ● DBで800GB使いきっちゃうと、 tar ball とれない ● 数TBの大容量 PCI-e SSD をバックアップサーバ用に使う? ● それはリッチすぎるコストパフォーマンスが悪い ● HDDだとI/Oの性能が追いつかない ● DBを統合するということは、それだけ更新が増えるということでもある ● SSDをRAIDコントローラで束ねる? ● そうするとRAIDコントローラがボトルネックになるケースも出てくる ● かつては、RAIDコントローラ経由だと SMARTがとれないという課題もあった 一番容量のでかいSATA SSDを使いたい
  • 18. Copyright © GREE, Inc. All Rights Reserved. ● HDDもSSDも、ブロックデバイスは、一つのI/Oコントローラに対して read と write を同時に発行すると遅い ● read only ないし write only のときに最大のスループットがでる ● RAIDで束ねたHDD上で tar ball 取得するの、データベースが大きくな るに連れて、無視できない遅さになってきていた ● SSDに移行したとしても、このままだといつか遅くなって困るんじゃない? 大容量のSSDを使う前から、課題意識はあった
  • 19. Copyright © GREE, Inc. All Rights Reserved. ● master/slave/バックアップサーバをぜんぶ 800GB のSSDにする ● バックアップサーバは ssh 経由で、同じラックにある SATA HDDの RAID6なストレージサーバに tar ball を書き出す ● $ tar cvf - ${datadir} | pigz | ssh ${storage_server} “cat - >backup.tar.gz” ● SSDなので tar するときの read は速い ● pigzでCPUのcoreぜんぶ使いきって圧縮するので、帯域制限にもなるし、 通信量もへる。まぁ、ラックをまたがないので、全力で転送しても困らない ● HDDは sequential write only になるので、書き込むのは充分速い ● 運用や監視も、既存の方法と比べて大きくは変えなくて良い 方法を変える、許容できる範囲内で
  • 20. Copyright © GREE, Inc. All Rights Reserved. ● データが巨大になると、DB再構築するのに時間がかかるようになる ● 今までN+1の構成だったところはN+2にする ● slaveは一台多めにしておく。一台故障したら、もう一台故障する前にじっくり再構築 ● ストレージサーバは RAID6 にする。 SATA HDD の故障率を考慮して ● ストレージサーバはTB単位のデータを持っているため、電源などが故障したときのダメー ジがでかいので、二台構成にする。 ● バックアップサーバから書き出す先は現行系のストレージサーバにして、待機系は cron で rsync してコピーする ● ストレージサーバは SATA HDD にしたから大容量にできたので、ストレージサーバ1台 に対して、書き込むバックアップサーバは複数台にする。それならば、ストレージサーバを 2台構成にしてもコスト的にペイする ● 最終的に、トータルで台数減ればそれでいい 破綻しないよう、考えながら集約する
  • 21. Copyright © GREE, Inc. All Rights Reserved. 図にするとこう
  • 22. Copyright © GREE, Inc. All Rights Reserved. ● Google の Warehouse-Scale Computer ほど大きい粒度ではなく、4 本以上のラックを一つの単位として考える ● replication の traffic は、これらのラックに閉じ込めてしまう。 ● RAID5がパリティを複数のディスクに分散させるように、masterやバック アップ用のサーバを複数のラックに分散させる ● 万が一、ラックごと落ちたとしても、影響を受けるmaster の数を限定的にできる ● master -> slave 間の replication の traffic が、ラックごとに偏りにくくなる ● アプリケーションサーバ <-> slave の traffic が多かったとしても、ラックごとに偏りに くくなる ● バックアップサーバを分散配置することで、ストレージサーバのディスク使用量を、ラック ごとに偏らせないようにする 複数のラックをグルーピングし、RAID5の様に扱う
  • 23. Copyright © GREE, Inc. All Rights Reserved. ● 現状のHWの特性や、今後のHWを想定している ● サーバのNICの帯域が増えても、これらのラックの集合の中でその性能が活かせる ● 弊社の場合、KVSの replication の traffic が大変多いのだが、 KVSやMySQLの replication の traffic を特定のラックに集約できると、運用上楽になる ● pigz でバックアップファイルを圧縮するので、DBの集約度が上がってDBのサイズが増 えても、CPUのコアが増えれば、バックアップの取得時間を稼ぐことができる ● SSDの消費電力の少なさを活かして、一ラックあたりの集積度を上げていける ● SSDは消費電力が少なく熱にも強いから、そのぶんCPU で TurboBoost 使って、熱 出しつつ性能を引き出す方向で行ける ● TurboBoost 使うことで、NICの帯域が増えても、CPUがパケットさばけるようにする ● 現状はSATAのHDDをバックアップ用のストレージに割り当てているけど、SSD のバイ ト単価が十分下がっていけば、別にSSD でもかまわない このラックの使い方には、いろいろな思惑がある
  • 24. Copyright © GREE, Inc. All Rights Reserved. おさらい ここまで
  • 25. Copyright © GREE, Inc. All Rights Reserved. ここからが 最近の話
  • 26. Copyright © GREE, Inc. All Rights Reserved. ● エンタープライズ仕様のSATA SSD でも、1TB超の製品が出てきた ● 3D NAND が実用化してきているので、容量は来年以降もまだまだ増え ていく ● わたし的には、まだまだ集約していけると思う。少なくともバックアップサー バは ● 仮に master/slave が 800GB 以下のままでも、 バックアップサーバであれば、 mysqld を複数プロセス相乗りしてもそれほど困らないので ● バックアップサーバだけ、800GBより大きい SSD 積んだっていい ● 例えば、バックアップサーバに 1.6TB くらいの SSD を積んで、 mysqld を2プロセス 起動して、 800GB の SSD つんだ master 二台と replication しても良い SSDの進化はめざましい
  • 27. Copyright © GREE, Inc. All Rights Reserved. が
  • 28. Copyright © GREE, Inc. All Rights Reserved. ● ssh 経由で、同じラックにある SATA HDDの RAID6なストレージサーバ に tar ball を書き出す方法、うまくいったんだけど ● SSD は書き込み寿命という概念があるので、DB のフルバックアップを定期的に SSD へ書き込むのはあまりうれしくないが、バックアップの書き込み先がHDD なら、定期的 にフルバックアップ書き込んでも、別に困らない ● SATA HDD は 24時間365日フル稼働させると設計的にきびしい製品もあるが、daily のバックアップ保存先として使うなら、24時間フル稼働するわけではない ● 書き込み寿命の概念があるけど高速なSSD は、お客様向けのサービスに使って、書き 込み寿命の概念がないけど安価なHDD は、バックアップの保存先に使う ● そんな具合に上手く行ったんだけど ● ストレージサーバの HDD の容量を増やして集約率を上げていくなら、見 なおして良いポイントが幾つかあるなと、実稼働させていくうちに見えてき た サーバの構成を見なおしてもいいころ
  • 29. Copyright © GREE, Inc. All Rights Reserved. ● ストレージサーバのCPUはスカスカなので、CPU 1socket に対して、もっ と大容量のストレージが扱える ● バックアップサーバから書き込むとき、ストレージサーバはsshd くらいしか CPU 使わな いのだが、 sshd 1プロセスで複数のコア使えなくても、複数のバックアップサーバから書 き込んでいるので、結果的にストレージサーバのコアは複数使いこなせている ● バックアップサーバが pigz で圧縮したものをストレージサーバに書き込んでいるので、 ssh で暗号化するデータもストレージに書き込むデータも、圧縮済みで最小化できてい る。 ● そのため、ストレージサーバの CPU 負荷は低かった。 ● その結果、ストレージサーバで増やしたいリソースは次のような印象 ● NICの帯域 >= ストレージの容量 >>> (越えられない壁) >>> disk の書き込み負 荷 >>> CPU 使用率 ひとつひとつ、サーバ上のリソースを見直していく
  • 30. Copyright © GREE, Inc. All Rights Reserved. ● GbE 経由では 120MB/sec 程度でしか書き込めないが、いまどきの HDD とRAIDコントローラだと、RAID6 でも 120MB/sec なんて余裕す ぎる(HDDの本数によるでしょうが) ● RAIDコントローラをもっと酷使するためには、 GbE では全く足りないので 、10GbE 以上の帯域を用意するしかない ● NIC の帯域が太くなると、 tar ball 書き出す時間を短縮できるので、 DB のサイズが大きくなっても運用上さしつかえないし、ストレージサーバのス トレージの容量を増やしてもいい 少なくとも 10GbE
  • 31. Copyright © GREE, Inc. All Rights Reserved. ● 巨大すぎる RAID は、リビルドにかかる時間が長くなる ● リビルドの時間が、 HDD 一本あたりの容量と本数に比例するなら、わたしは容量を犠 牲にしようと思う ● HDD の本数が増えて消費電力増えたとしても、性能面などでのメリットがあればいい ● ラック単位で考えたとき、電力面でバランスが取れていればそれでいい ● 可能であれば、1台のサーバにRAIDコントローラを複数積みたい ● 一つのRAIDコントローラにぶら下がってる HDD の本数が減れば、リビルドの時間はそ れだけ減らせる。なので複数積んで、管理するHDD を分散させる。 ● どうせ複数のバックアップサーバから書き出すので、 RAIDコントローラごとにボリューム分か れていても困らない ● バックグラウンドでリビルド走ってるときも、リビルド走ってない方のコントローラは、性能に影 響しないだろうし RAIDはあまり大容量すぎても意味が無い
  • 32. Copyright © GREE, Inc. All Rights Reserved. ● ある程度まとまった本数の HDD を積めるならば、 RAID6 より RAID60 にして書き込み性能を改善させる ● HDD の特性として、円盤の外周と内周で性能差が出るケースはあるだろうから、性能に はある程度余裕をもたせておいたほうがいい。 ● 実際にファイルを書き出したり削除したりすると、必ずしも局所的なアクセスになるとは限らな いだろうし ● NIC の帯域に対してある程度余裕を持たせておいて、あくまでも「ボトル ネックは NIC の帯域」となるようにしておいたほうが、運用がシンプルに なって良い ● NIC に合わせて設計するときに難しい点は、NIC の帯域が1.5倍くらいのペースで増 えるのではなく、 GbE から 10GbE など、いきなり倍以上になってしまうところ。 RAID6 より RAID6+0
  • 33. Copyright © GREE, Inc. All Rights Reserved. ● いくらバックアップファイルを保存するストレージサーバとはいえ、一台に集 約してしまったら、(直接サービスに影響がでないとしても)故障などの障害 発生時、復旧のための運用上のコストは、かなりきびしいものになる ● 複数のラックに分散配置して、万が一のときでも、復旧作業の作業コスト が、許容できる範囲に収まったほうが良い ● 消費電力高いパーツを大量に積んだサーバを、一つのラックに集中して配 置してしまうと、突入電力の面でも懸念が残る 程よい大きさのストレージを、分散配置するのがよい
  • 34. Copyright © GREE, Inc. All Rights Reserved. ● ストレージサーバに 10GbE を積んでも、ストレージサーバにバックアップ 書きだすサーバが同じラック内にいるだけなら、バックアップのためのトラ フィックは、上流のコアスイッチを経由しない ● 仮に、 GbE を積んだ10台のバックアップサーバと、 10GbE のストレー ジサーバが全力で通信して 10Gbps 目一杯使うとしても、その通信が ラック内で完結しているなら、ネットワーク機器の設備投資は、局所的なも ので済ませられる ● そのようなバックアップサーバとストレージサーバのセットが複数のラックに 分散配置できていれば、大容量のバックアップを高速に取得できる ● もし、オンプレミス環境からクラウドストレージにバックアップを書き出すとし たら、このようにネットワークの帯域を使うことは、コスト面で難しいだろう トラフィックがラックの中で完結するメリット
  • 35. Copyright © GREE, Inc. All Rights Reserved. 図にするとこう
  • 36. Copyright © GREE, Inc. All Rights Reserved. ● ストレージサーバ1台に毎日書き出したいバックアップの総量は、何TBな のか?それを何時間で書き込みたいのか? ● 時間的に GbE の帯域で足りるのか?足りないなら、 10GbE の帯域に 見合うだけの書き込み性能を、RAIDコントローラは持っているのか? ● バックアップは何日分保存しておきたいのか?それだけの容量を保存する とき、 RAID のリビルドはどれくらいかかるのか?ストレージサーバの再 構築にかかる時間はどれくらいか? ● RAID のリビルドにかかる時間を短縮したいなら、RAIDコントローラはいく つ積むべきなのか? ● 最終的に、電力や設置スペースなども踏まえて、 HDD で RAID を組む コストメリットはあるのか? 一つ一つ、積み上げて見積もる
  • 37. Copyright © GREE, Inc. All Rights Reserved. ● リビルドにかかる時間などは看過できないけど、実運用に収まる規模であ れば、未だに RAID はコストパフォーマンス悪くない仕組み ● ある程度の規模になると、分散ファイルシステムなどを検討しなければなら ないだろうけど。障害発生時の復旧コストや、ネットワーク機器への設備投 資など考えると、 RAID を使ったストレージサーバや、同一ラック内からそ のストレージサーバに Ethernet 経由でバックアップを書き出すというの は、現時点では充分選択肢になりうる ● 保存するデータの規模や用途、障害復旧の方法、運用コスト等考慮し、自 分たちにとって適切な方法を選んでいくのがよい。 ● その一つとして、 RAID はまだ選択肢になりうると思う 要素技術としてみたときの RAID
  • 38. Copyright © GREE, Inc. All Rights Reserved. ● 1TB超のエンタープライズ向け SATA SSD、 10GbE 、そういったものに 対して ● 2Uくらいのストレージ特化型サーバがあれば、 RAID で 3.5inch SATA HDD を束ねて、ある程度コストパフォーマンスのいいバックアップシステ ムが設計できる ● 例えば、 HPE Apollo 4200 のような2Uのサーバ使うとか ● Hadoop 以外でも、ストレージ特化型のサーバって意外と使い道あると思 います。容量100TBとかなくてもいいんです。HDDたくさん積めれば、使 い道はあるんです。 SSD 積んだサーバの、補助記憶装置的に捉えれば いいんです。 現時点でのハードウェアを見渡すと
  • 39. Copyright © GREE, Inc. All Rights Reserved. このへんまでは 取り組んでる
  • 40. Copyright © GREE, Inc. All Rights Reserved. で
  • 41. Copyright © GREE, Inc. All Rights Reserved. ● その一方、パブリッククラウドも活用してるし気にしてます。 ● 仮想化というレイヤーを挟まないことによって、MySQL からハードウェアまでの間を構 成する要素が減るので、何かあったときに調査しやすいのですが ● パブリッククラウドのメリットも当然有るので、そのへんはいろいろ比較しながら勉強させ てもらってます。 ● 余談ですが、パブリッククラウドでも、Linux の kernel や TCP に関することについて は、やはりチューニングすべきポイントがあって、そういった意味では、オンプレミス環境 でもパブリッククラウドでも役に立つ知識や経験があります。 ● TCP や Linux の kernel に関する知識は、インフラエンジニアである限り、当分役に立 つもんだと思います。 パブリッククラウドをチラチラみつつ
  • 42. Copyright © GREE, Inc. All Rights Reserved. わりと真面目に 比較している ところは
  • 43. Copyright © GREE, Inc. All Rights Reserved. ● (月並みですが)Googleはすごいと思ってます。何がすごいかというと消 費電力効率です。彼らのデータセンターのPUEはハンパないです ● Googleに限らないですが、パブリッククラウド事業者は、日本以外の、一 つのラックに電力を大量に供給できて、一つのラックにサーバをたくさん詰 める地域でもサービスしてたりします。 ● そうすると、日本より空間効率良くなって集約度が上がっていくわけで、日 本よりインスタンス費用が安くなっていきます。 ● 極論すると、アメリカ西海岸の方が、パブリッククラウドのインスタンス安い なら、アメリカ西海岸でサービス開発してる人、コスト面で超有利じゃん?と 思うわけです ● インスタンスの安い地域と比べて、日本の中でどうやってコストを最適化し ていくか?という課題が常にあると思っています 消費電力効率と空間効率をいかに最適化するか
  • 44. Copyright © GREE, Inc. All Rights Reserved. ● 日本では、スパコンを設置するためのデータセンターを設置する場合、場 所選びが大変なのではないか?と思います。 ● 一方、土地が広い国は、データセンターいくつも作ってスパコンたくさん開 発できる余地があるんじゃないでしょうか? ● スパコンはとても電力使うので、消費電力の多いデータセンターをいくつも 設置できるということは、電力効率が良いデータセンターのためのノウハウ が、その地域に蓄積されていくということになるのかもしれません。 ● TOP500の国々を見ていると、そんな気がしてきます。 これは非常に個人的な推測なんですが
  • 45. Copyright © GREE, Inc. All Rights Reserved. ● 日本はGreen500で健闘してますが、いかにして電力効率を最適化して いくかっていうのが、日本の土地のことを考えると、方向性としては正しい んじゃないかなという気がします。 ● 消費電力多いけどclockの高いCPU使いたいなら、パブリッククラウドで、 電気たくさん使える地域でインスタンス立てる方が、今後、どんどんコスト パフォーマンス良くなっていくんじゃないかという気がします。 ● そんな中、日本のデータセンターにあるサーバを使いたいなら、いかにして 電力効率を最適化し、ランニングコストを削減していくかが、重要なポイント ではないかなと考えています。 スパコンの世界を眺めて思うのは
  • 46. Copyright © GREE, Inc. All Rights Reserved. そう思いながら サーバいじってて 気がついた
  • 47. Copyright © GREE, Inc. All Rights Reserved. そうだ
  • 48. Copyright © GREE, Inc. All Rights Reserved. CPUのCoreを disable に しよう
  • 49. Copyright © GREE, Inc. All Rights Reserved. ● GREEのサービスはCPUが4Coreくらいの時代から続いてるので、CPUの Coreが10とか20とかなくても、どうにかなるケースが多い。 ● DBはCPUよりもSSDとメモリ。もしCPU使用率高いなら、最適化を試みればいい。 ● しかし、ワーストケースとして「すべてのCoreがぶん回されたときの消費電 力」を想定して、ラックに積むサーバの台数を決めなければならない ● そうであるならば、BIOSから使うCoreの数を制限して、CPUの消費電力 の上限を設けてしまえばいい ● Core数の少ない Low-Core-Count のCPUであれば、使うCoreが少な いと、 TurboBoost でより高いClockに引き上げることも可能になる ● MySQL5.6以前であれば、SQL_Thread がシングルスレッドなので、シングルスレッド 性能高いほうが Replication では有利になる MySQLを最適化してくと、そこまでCPU使わない
  • 50. Copyright © GREE, Inc. All Rights Reserved. MySQL最適化して 使うCoreの数を制限して 消費電力を削減し お客様に還元する
  • 51. Copyright © GREE, Inc. All Rights Reserved. ● 1Uではなく、 2U4nodeなどの高集約型のサーバをDBに使う ● master/slaveは複数のラックに分散する設計にできているので、最悪、サーバごと落ち て4node全滅したとしても、影響範囲は限定的にできる。 ● BIOSからCPUのCore数を制限して、消費電力を引き下げつつ、 TurboBoostでより高い clock を、より高いシングルスレッド性能を狙う ● 1nodeあたり1U未満のサーバであれば、 一ラックあたり46Uしかなくて も、 1ラックあたり 48node くらいを狙える気がしている ● ざっくり考えて、1UでDB一台130Wくらいだったけど、110Wくらいを狙えるのでは ● 低電圧版のCPU1個で50-60W程度 ● DDR4のメモリ1枚が9-10W程度で(クアッドチャネルということでそれが4枚) ● SATAのSSDとNICがそれぞれ5-6Wずつ ● ファンや残りのパーツで 10Wくらい余裕みて ● 電源の力率をざっくり 0.9くらいで考えると ● このままだとサーバ1台で 130Wくらいだが、Core を disable してそれを削る。 今後、検討したいこと
  • 52. Copyright © GREE, Inc. All Rights Reserved. 図にするとこう
  • 53. Copyright © GREE, Inc. All Rights Reserved. こんな感じで
  • 54. Copyright © GREE, Inc. All Rights Reserved. 48portのswtich、 1ラック分のサーバで ポート使い切ってやろう
  • 55. Copyright © GREE, Inc. All Rights Reserved. ● 10GbEのストレージサーバを組んだことで、バックアップサーバ用のラック は実績が上がってきた。 ● Webアプリケーションサーバ専用ラックとDBサーバ専用ラックを、それらと 切り離して、上手く組んで行ければいいかなと思っている ● アプリケーションサーバとDBサーバで専用ラックを別々に組めると、アプリケーション サーバとDBサーバの台数比率を自由にコントロールできるので、柔軟に台数構成を考え られる。 ● アプリケーションサーバはCoreたくさんあったほうが集約率上がるので、 Core を Disable にすることはあまり考えてないが、DBはCoreを Disable にすることで、1ラックあたりの集約度を上げていければいいかな と思ってる ● 最大で、 1ラック48port 使い切れる範囲内まで disable にするということで バックアップ用HDDは他のラックに確保できたので
  • 56. Copyright © GREE, Inc. All Rights Reserved. 現時点では、 ある程度までは 電力効率を 改善できそうだ
  • 57. Copyright © GREE, Inc. All Rights Reserved. ● おそらくきっと、サーバにも 40Gbps のネットワークインターフェースが普 及してくる時代になってくるだろうから ● 参考: EthernetやCPUなどの話 ● 40GbE などが普及する時代になってくると、これらのバランスがまた崩れ てしまう ● いまは仮想化しないで localhost 上のSSDを使ってる。ネットワーク経由で disk にア クセスしないで済ませられているので、データセンター内のトラフィックを絞れている。将 来、広帯域のネットワークが充分安価になれば、localhost 上のSSDを使わない方が、 最終的にランニングコスト下げられるのかもしれない。 ● おそらく2020年代には、別の選択肢を考えなければならない ● なので、次はどうしようかと、個人的にいろいろ考えてるところです 次の、2020年代には
  • 58. Copyright © GREE, Inc. All Rights Reserved. おわり