SlideShare a Scribd company logo
1 of 41
Download to read offline
MySQL処理分散環境の構築



              2012.8.24
              株式会社シーエー・アドバンス
              佐久本 正太
自己紹介

 佐久本   正太 29歳

 株式会社シーエー・アドバンス
 技術推進Gマネージャー


MySQLClusterやDRBD、PaceMakerの
HA化ソリューションで遊んでます。
自己紹介
SNSアカウント

 アメブロ:さくちゃん
 Facebook:本名で検索!
 Twitter:@vSakumoto




趣味:囲碁 (四段持ってます!)
MySQLとは!
みなさん知って
 ますよね?
 ってことで
早速MySQL
レプリケーション
  説明!
そもそもレプリケーションって?
データベースのレプリケーションは多くのデータベース管理システムが採用している
概念で、データベースのオリジナルとコピーのマスタースレーブ関係を意味する。
マスター側は更新を記録し、それがスレーブ群に通知される。スレーブ側は更新を正
しく受け取ったというメッセージを送り、次の更新を受け付けられる状態であることを
通知する。

                                 Wikipedia引用




         分かります?
そもそもレプリケーションって?
 一応、図で表すとこんなかんじ
              マスタ
              サーバ



            INSERT・・・
            UPDATE・・・
            DELETE・・・




     スレーブ    スレーブ       スレーブ
     サーバ     サーバ        サーバ
そもそもレプリケーションって?
非同期レプリケーションの注意点!
非同期レプリケーションはマスタサーバーに書き込
まれたデータが必ずしも、スレーブにデータが有る
ことは約束されていません!

注意!過去の体験談・・・
MySQL Replicationとは
WEBアプリケーションでセッションDBをスレーブか
ら読み取ると・・・


⇒画面遷移が著しく多いアプリケーションに置いて
は、少々の遅延でもセッションが正常に読み取れ
ず、ログアウトされる事象が多発

更新後のデータを即座に見るアプリケーション部
分はマスターサーバから読み取りましょう
MySQL
  もう1つの
レプリケーション
   説明!
SemiSyncReplicationとは
MySQL5.5から組み込み!
SemiSyncReplicationとは準同期レプリケーショ
ンと言われ通常のレプリケーションと異なります。

通常レプリケーション(非同期レプリケーション)
SemiSyncReplication(準同期レプリケーション)
の違いは次のとおりです。
SemiSyncReplicationとは
■通常レプリケーション
①アプリケーションからマスタサーバへクエリ送信
②マスタサーバでクエリを受信し、バイナリログに書き込み
③マスタサーバがアプリケーションにコミットしたことを伝達
④バイナリログに書き込まれたクエリをスレーブサーバーに転送




          ①                         ④
                        マスタ                     スレーブ
 WEB-AP
                        サーバ                     サーバ
                        ②
          ③
                            Table       Relay          Table
               BinLog
                            Space        Log           Space
SemiSyncReplicationとは
■準同期レプリケーション(SemiSyncReplication)
①アプリケーションからマスタサーバへクエリ送信
②マスタサーバでクエリを受信し、バイナリログに書き込み
③マスタからクエリをスレーブに転送   ④リレーログに書き込み
⑤スレーブのリレーログ書き込み確認後 ⑥アプリケーションにコミットされたことを伝達




            ①                          ③
                           マスタ                     スレーブ
 WEB-AP
                           サーバ                     サーバ
                           ②
            ⑥                          ⑤
                               Table       Relay          Table
                  BinLog
                               Space        Log           Space
SemiSyncReplicationとは


     あれ?違いは?

   と思った方?挙手!

     (@`▽´@)/ ハイッ
SemiSyncReplicationとは
大きな違いとして・・・


コミット応答がスレーブのリレーログに
書き込まれた後になる!
※ただしテーブルスペースまでの書き込みは保証していません※
SemiSyncReplicationとは
何が出来る?
HA構成が出来る!
マスタ故障時でもスレーブへデータが転送されていることが保証されている
ので、PaceMaker等での自動フェイルオーバーが可能!


      サーバーが落ちたらどうしよう ((;゚Д ゚). ガクブル

                  から・・・


               (*μ _μ )oO(幸)
                 眠れる幸せ
SemiSyncReplicationとは
通常レプリケーション、準同期レプリケーション
使い分け!

ベンチマーク取ってはいませんが・・・
メリット
・サーバー故障時にもデータが転送されていることが保証
・コミット動作が、リレーログ書き込みまでを保証しているので通常レプリケー
ションより遅延が少ない

デメリット
・通常レプリケーションと比べ、コミット動作が違うため書き込み速度が劣る
次が本題!
MySQL
負荷分散方法!
複数台のスレー
 ブ接続をどう
 やって分散?
負荷分散方法その①
アプリケーション側でスレーブ接続先を選択


                          マスタ
                          サーバ




                                スレーブ
                                サーバ①
 WEB-AP
           プログラムで
                                スレーブ
          スレーブサーバを   参照系クエリ     サーバ②
            選択する
                                スレーブ
                                サーバ③
負荷分散方法その①
デメリット!

・スレーブへのコネクション数を見ていないため、本来の負
荷分散となっていない

・プログラム側でスレーブサーバへの接続確認(死活監
視)をするため、接続のオーバーヘッドが伴う

・遅延が起きていた場合は??
・レプリケーションが停止していたら??
じゃあ
どうする?
負荷分散方法その②
ロードバランサーを使用!
※KeepAlived

                                  マスタ
                                  サーバ




                                        スレーブ
                                        サーバ①
 WEB-AP

                       LB               スレーブ
          参照系クエリ   (keepalived)         サーバ②


                                        スレーブ
                                        サーバ③
負荷分散方法その②
メリット!

・接続先をロードバランサーに向けるだけで、自動的にバ
ランシングしてくれる
※サーバー追加してもコードの追加は不要※



・KeepAlivedならポート監視(MySQLでは3306)ができるの
で、自動切り離しが可能
しかし
・遅延が起きていた場合は??
・レプリケーションが停止していたら??
負荷分散方法その③
試行錯誤の組み合わせ
MySQL+(Apache+PHP) Keepalived(MISC)

                                  マスタ
                                  サーバ


                                        スレーブ
                                        サーバ①
                                        Apache
  WEB-AP
                                        スレーブ
                     keepalived
           参照系クエリ   MISC_CHECK
                                        サーバ②
                                        Apache


                                        スレーブ
                                        サーバ③
                                        Apache
負荷分散方法その③
MySQL+(Apache+PHP)

スレーブサーバーにWEBサーバーを立て次の
ソースコードを設置!

※環境※
php5.3系
Apache2.1系
cakephp 2.1系
負荷分散方法その③
<?php
class CheckhtmlController extends AppController {
 public $name = 'User';
 public function index(){


  $this->layout = "";
  $DBTYPE = Configure::read("DBTYPE");


  if ( $DBTYPE["MASTER_DB"] == 1 ){
    $msg = 0;
  } elseif ( $DBTYPE["SLAVE_DB"] == 1 ){
    try {
        $chkStatus = $this->User->slaveStatus();
        $status = $chkStatus[0][0];
    } catch (Exception $e){
        $msg = 1;
    }
負荷分散方法その③
            //$DBTYPE["BEHIND"] 遅延許容値
    if ( $status["Seconds_Behind_Master"] <= $DBTYPE["BEHIND"] && $status["Seconds_Behind_Master"] <> NULL && $status["Last_SQL_Errno"]
== 0 ){
                //print "遅延なし";
                $msg = 0;


            } elseif ($status["Slave_IO_Running"] == "No" || $status["Slave_SQL_Running"] == "No" ) {
                //レプリケーションが止まっています。
                $msg = 1;


            } else {
                //遅延しています。
                $msg = 1;
            }
        } else {
            $msg = 1;
        }


        print $msg;
    }
}
負荷分散方法その③
MySQL+(Apache+PHP)

ソースコード解説:

ローカルホストのMySQLの状態によりWEBで表示を変化
 ⇒MySQLの「show slave status」コマンドから判断!
※0が正常、1が異常の出力値
以下の場合に異常値を出力
・遅延が設定している閾値を超えた場合
・レプリケーションがストップしている場合
・MySQLが起動していない場合
負荷分散方法その③
Keepalived(MISC)

KeepAlivedに次のMISC_CHECKのスクリプトを設置
Keepalived.confも変更する


※環境※
Keepalived1.1.15
負荷分散方法その③
$ vim misc.sh
#!/bin/sh


URL="http://$1/checkhtml"
ret=`wget -o /dev/null -O - "$URL"`


if [ $ret == 0 ]
then
     echo $ret
     exit $ret
else
     echo $ret
     exit 1
fi
$ ./misc.sh 192.168.1.21 #引数はスレーブサーバのIPアドレス
$ 0 #正常値は0が返る
$ ./misc.sh 192.168.1.22
$ 1 #異常値は1が返る
負荷分散方法その③
$ vim /etc/keepalived/keepalived.conf


virtual_server_group MySQLSlave {
    192.168.1.20 3306 #VIP(仮想IP)
}


virtual_server group MySQLSlave {
    delay_loop 3
    lvs_sched   wrr
    lvs_method DR
    protocol    TCP
    virtualhost health


    #スレーブが2つ落ちた場合はマスタへ向ける
    sorry_server 192.168.1.10 3306 #マスタサーバのIPアドレス
負荷分散方法その③
#以下リアルサーバー
    real_server 192.168.1.21 3306 {
        weight 1
        inhibit_on_failure
             MISC_CHECK {
                 misc_path "/bin/sh /root/misc.sh 192.168.1.21"
                 misc_timeout 10
             }
    }
    real_server 192.168.1.22 3306 {
        weight 1
        inhibit_on_failure
         MISC_CHECK {
                 misc_path "/bin/sh /root/misc.sh 192.168.1.22"
                 misc_timeout 10
         }
    }
}
負荷分散方法その③
MySQL+(Apache+PHP) Keepalived(Misc)

KeepalivedでスレーブのWEBページをチェック
 ⇒問題なければMySQLのバランシングに追加
※死活・遅延・レプリケーションストップ監視が一気にでき
ちゃう!!
                 keepalived
                 Misc Check




       スレーブ      スレーブ         スレーブ
       サーバ③      サーバ②         サーバ①
       Apache    Apache       Apache
・遅延が起きていた場合はどうするの??
・レプリケーションが停止していたらどうするの??




        解決!
まとめ

MySQL+(Apache+PHP) + KeepAlivedを使えば・・・

・自動で接続数の少ないサーバに接続を張ることが出来る!

・死活監視が出来る!

・遅延を検知することができる!

・レプリケーション停止を検知することが出来る!
ご清聴ありがとうございました。
続きはWEBで

    http://ameblo.jp/exgineer/

9月頭までには各種設定方法を記載いたします!

More Related Content

What's hot

Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーToru Makabe
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
Ormとの付き合い方
Ormとの付き合い方Ormとの付き合い方
Ormとの付き合い方豊明 尾古
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Noritaka Sekiyama
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説増田 亨
 
Amazon RDSを参考にしたとりまチューニング
Amazon RDSを参考にしたとりまチューニングAmazon RDSを参考にしたとりまチューニング
Amazon RDSを参考にしたとりまチューニングShunsuke Mihara
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法Tetsutaro Watanabe
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!Tetsutaro Watanabe
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
Kafka Connect:Iceberg Sink Connectorを使ってみる
Kafka Connect:Iceberg Sink Connectorを使ってみるKafka Connect:Iceberg Sink Connectorを使ってみる
Kafka Connect:Iceberg Sink Connectorを使ってみるMicroAd, Inc.(Engineer)
 
AWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティスAWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティスAmazon Web Services Japan
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」Masahito Zembutsu
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装infinite_loop
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)NTT DATA Technology & Innovation
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean ArchitectureAtsushi Nakamura
 
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜Naruhiko Ogasawara
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~Miki Shimogai
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~NTT DATA OSS Professional Services
 

What's hot (20)

Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャーKubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
Ormとの付き合い方
Ormとの付き合い方Ormとの付き合い方
Ormとの付き合い方
 
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
 
ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説ドメイン駆動設計サンプルコードの徹底解説
ドメイン駆動設計サンプルコードの徹底解説
 
Amazon RDSを参考にしたとりまチューニング
Amazon RDSを参考にしたとりまチューニングAmazon RDSを参考にしたとりまチューニング
Amazon RDSを参考にしたとりまチューニング
 
MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法MongoDBが遅いときの切り分け方法
MongoDBが遅いときの切り分け方法
 
初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!初心者向けMongoDBのキホン!
初心者向けMongoDBのキホン!
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
Kafka Connect:Iceberg Sink Connectorを使ってみる
Kafka Connect:Iceberg Sink Connectorを使ってみるKafka Connect:Iceberg Sink Connectorを使ってみる
Kafka Connect:Iceberg Sink Connectorを使ってみる
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
WiredTigerを詳しく説明
WiredTigerを詳しく説明WiredTigerを詳しく説明
WiredTigerを詳しく説明
 
AWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティスAWSでDockerを扱うためのベストプラクティス
AWSでDockerを扱うためのベストプラクティス
 
コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」コンテナの作り方「Dockerは裏方で何をしているのか?」
コンテナの作り方「Dockerは裏方で何をしているのか?」
 
ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装ソーシャルゲーム案件におけるDB分割のPHP実装
ソーシャルゲーム案件におけるDB分割のPHP実装
 
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
スケールアウトするPostgreSQLを目指して!その第一歩!(NTTデータ テクノロジーカンファレンス 2020 発表資料)
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
 
MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜MongoDB〜その性質と利用場面〜
MongoDB〜その性質と利用場面〜
 
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
PostgreSQLクエリ実行の基礎知識 ~Explainを読み解こう~
 
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
Apache Kafkaって本当に大丈夫?~故障検証のオーバービューと興味深い挙動の紹介~
 

Similar to MySQL負荷分散の方法

PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことKentaro Matsui
 
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012Mikiya Okuno
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニックinfinite_loop
 
忍者ツールズのCouchbase導入事例
忍者ツールズのCouchbase導入事例忍者ツールズのCouchbase導入事例
忍者ツールズのCouchbase導入事例Kenichi Tsunokawa
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門Akihiro Kuwano
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Masahiro Nagano
 
AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -SORACOM, INC
 
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~Iwasaki Noboru
 
JPUGしくみ+アプリケーション勉強会(第25回)
JPUGしくみ+アプリケーション勉強会(第25回)JPUGしくみ+アプリケーション勉強会(第25回)
JPUGしくみ+アプリケーション勉強会(第25回)Yoshinori Nakanishi
 
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~KLab株式会社
 
MHAを検証して導入した話
MHAを検証して導入した話MHAを検証して導入した話
MHAを検証して導入した話Yu Komiya
 
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介Masao Fujii
 
目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザ目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザKohei MATSUSHITA
 
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...Naoto Gohko
 
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba PiggUsing Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba PiggYuuki Namikawa
 
[AWS Summit 2012] クラウドデザインパターン#6 CDP クラウド監視編
[AWS Summit 2012] クラウドデザインパターン#6 CDP クラウド監視編[AWS Summit 2012] クラウドデザインパターン#6 CDP クラウド監視編
[AWS Summit 2012] クラウドデザインパターン#6 CDP クラウド監視編Amazon Web Services Japan
 

Similar to MySQL負荷分散の方法 (20)

PHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったことPHPで大規模ブラウザゲームを開発してわかったこと
PHPで大規模ブラウザゲームを開発してわかったこと
 
MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012MySQL 5.6新機能解説@dbtechshowcase2012
MySQL 5.6新機能解説@dbtechshowcase2012
 
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
大規模ソーシャルゲーム開発から学んだPHP&MySQL実践テクニック
 
忍者ツールズのCouchbase導入事例
忍者ツールズのCouchbase導入事例忍者ツールズのCouchbase導入事例
忍者ツールズのCouchbase導入事例
 
インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門インフラエンジニアのためのcassandra入門
インフラエンジニアのためのcassandra入門
 
Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14Web Operations and Perl kansai.pm#14
Web Operations and Perl kansai.pm#14
 
AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -AWSクラウドデザインパターン(CDP) - Eコマース編 -
AWSクラウドデザインパターン(CDP) - Eコマース編 -
 
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
20121115 オープンソースでハイアベイラビリティ! ~クラスタ管理の設計構築ハウツー&エンジニア思考力~
 
JPUGしくみ+アプリケーション勉強会(第25回)
JPUGしくみ+アプリケーション勉強会(第25回)JPUGしくみ+アプリケーション勉強会(第25回)
JPUGしくみ+アプリケーション勉強会(第25回)
 
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
Lampで作るソーシャルアプリの負荷対策~アプリとインフラの調和のテクニック~
 
serverless
serverlessserverless
serverless
 
MySQL Casual な生活
MySQL Casual な生活MySQL Casual な生活
MySQL Casual な生活
 
MHAを検証して導入した話
MHAを検証して導入した話MHAを検証して導入した話
MHAを検証して導入した話
 
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
PostgreSQL9.1同期レプリケーションとPacemakerによる高可用クラスタ化の紹介
 
目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザ目指せ1秒切り!ECサイト表示高速化のワザ
目指せ1秒切り!ECサイト表示高速化のワザ
 
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
OpenStack + KVM + IPv6 = oname.com; Next Folsom/Grizzly Service development s...
 
Using Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba PiggUsing Chef for Infrastructure Automation of Ameba Pigg
Using Chef for Infrastructure Automation of Ameba Pigg
 
[AWS Summit 2012] クラウドデザインパターン#6 CDP クラウド監視編
[AWS Summit 2012] クラウドデザインパターン#6 CDP クラウド監視編[AWS Summit 2012] クラウドデザインパターン#6 CDP クラウド監視編
[AWS Summit 2012] クラウドデザインパターン#6 CDP クラウド監視編
 
JAWS-UG-Kyoto-2nd
JAWS-UG-Kyoto-2ndJAWS-UG-Kyoto-2nd
JAWS-UG-Kyoto-2nd
 
Eight meets AWS
Eight meets AWSEight meets AWS
Eight meets AWS
 

More from 佐久本正太

合同会社sirobako 会社概要 2020年度版
合同会社sirobako 会社概要 2020年度版合同会社sirobako 会社概要 2020年度版
合同会社sirobako 会社概要 2020年度版佐久本正太
 
沖テクNight by sirobako
沖テクNight by sirobako沖テクNight by sirobako
沖テクNight by sirobako佐久本正太
 
Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)佐久本正太
 
Bluemix + Bluetoothガジェット
Bluemix + BluetoothガジェットBluemix + Bluetoothガジェット
Bluemix + Bluetoothガジェット佐久本正太
 
幹事代行Spheroくん
幹事代行Spheroくん幹事代行Spheroくん
幹事代行Spheroくん佐久本正太
 

More from 佐久本正太 (6)

合同会社sirobako 会社概要 2020年度版
合同会社sirobako 会社概要 2020年度版合同会社sirobako 会社概要 2020年度版
合同会社sirobako 会社概要 2020年度版
 
沖テクNight by sirobako
沖テクNight by sirobako沖テクNight by sirobako
沖テクNight by sirobako
 
Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)Ansibleで始めるinfraTDD(初級編)
Ansibleで始めるinfraTDD(初級編)
 
MySQL+Docker
MySQL+DockerMySQL+Docker
MySQL+Docker
 
Bluemix + Bluetoothガジェット
Bluemix + BluetoothガジェットBluemix + Bluetoothガジェット
Bluemix + Bluetoothガジェット
 
幹事代行Spheroくん
幹事代行Spheroくん幹事代行Spheroくん
幹事代行Spheroくん
 

MySQL負荷分散の方法