dsas周りのお話
DESCRIPTION
2010年4月16日の開催された「KAYAC×KLab合同勉強会」のKLabセッションです。TRANSCRIPT
0Copyright © KLab Inc. All rights reserved.
DSAS 周周周周 り の おり の おり の おり の お 話話話話Ryosuke MIURA
1Copyright © KLab Inc. All rights reserved.
目次目次目次目次
� DSAS全体の構成
� サーバの増設
� ネットワークブートについて
� WEBサーバ
� フロントエンドとバックエンドの構成の理由
� ログ
� グラフ情報の見方
� DBサーバ
� コネクション数一定の理由
� グラフ情報の見方
2Copyright © KLab Inc. All rights reserved.
DSAS全体全体全体全体のののの構成構成構成構成
LVSLVS
(Active)(Active)
ContentsContents
MasterMaster
LVSLVS
(Backup)(Backup)
DBDBDBDBサーサーサーサーDBDBDBDBサーサーサーサーババババババババ(Master)(Master)
MasterMaster
(Secondary)(Secondary)WEBWEBササササササササーバーバーバーバーバーバーバーバ
MasterMaster
(Primary)(Primary)WEBWEBササササササササーーーーーーーーババババババババ
DBDBDBDBサーサーサーサーDBDBDBDBサーサーサーサーババババババババ(Slave)(Slave)
MCMC
(Active)(Active)
DBDBDBDBササササDBDBDBDBササササーーーーーーーーババババババババ(Slave)(Slave)
MCMC
(Backup)(Backup)
LLSLLS
(Active)(Active)
LLSLLS
(Backup)(Backup)
GANGLIAGANGLIA
(Active)(Active)
GANGLIAGANGLIA
(Backup)(Backup)
WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ WEBWEBサーサーサーサーサーサーサーサーババババババババ WEBWEBサーサーサーサーサーサーサーサーババババババババ
フロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービス
バックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービス
3Copyright © KLab Inc. All rights reserved.
今回今回今回今回ののののメインターゲットメインターゲットメインターゲットメインターゲット
LVSLVS
(Active)(Active)
ContentsContents
MasterMaster
LVSLVS
(Backup)(Backup)
DBDBDBDBサーバサーバサーバサーバDBDBDBDBサーバサーバサーバサーバ(Master)(Master)
WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ
DBDBDBDBサーバサーバサーバサーバDBDBDBDBサーバサーバサーバサーバ(Slave)(Slave)
MCMC
(Active)(Active)
DBDBDBDBサーバサーバサーバサーバDBDBDBDBサーバサーバサーバサーバ(Slave)(Slave)
MCMC
(Backup)(Backup)
LLSLLS
(Active)(Active)
LLSLLS
(Backup)(Backup)
GANGLIAGANGLIA
(Active)(Active)
GANGLIAGANGLIA
(Backup)(Backup)
WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ
フロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービス
バックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービス
・・・・・・・・WEBWEBサーバサーバサーバサーバのののの増設増設増設増設サーバサーバサーバサーバのののの増設増設増設増設
・・・・設定設定設定設定についてについてについてについて・・・・設定設定設定設定についてについてについてについて
・・・・・・・・Slave Slave サーバサーバサーバサーバのののの増設増設増設増設サーバサーバサーバサーバのののの増設増設増設増設・・・・・・・・DSASDSASにおけるにおけるにおけるにおけるコネクコネクコネクコネクにおけるにおけるにおけるにおけるコネクコネクコネクコネク
ションションションションのののの扱扱扱扱いいいい方方方方ションションションションのののの扱扱扱扱いいいい方方方方
MasterMaster
(Secondary)(Secondary)MasterMaster
(Primary)(Primary)
4Copyright © KLab Inc. All rights reserved.
サーバサーバサーバサーバのののの増設増設増設増設についてについてについてについて
� 環境構築手順
1. ハードウェア設置
2. OSのインストール
3. ディスクの同期
4. 各種サービスの設定・確認
2-4の処理で作成したイメージはほぼ共通
あらかじめあらかじめあらかじめあらかじめ作成作成作成作成してあるしてあるしてあるしてあるあらかじめあらかじめあらかじめあらかじめ作成作成作成作成してあるしてあるしてあるしてある各種各種各種各種イメージイメージイメージイメージをををを各種各種各種各種イメージイメージイメージイメージをををを
ネットワークブートネットワークブートネットワークブートネットワークブートネットワークブートネットワークブートネットワークブートネットワークブート!!
5Copyright © KLab Inc. All rights reserved.
WEBサーバサーバサーバサーバ増設増設増設増設のののの方法方法方法方法
� DSASのマスターサーバ以外はネットワークブート(鶏と卵問題)
1. マスターサーバからInitramfs(ベースイメージをメモリに展開+rootマウント)で起動
2. ディスク(コンテンツ)の同期
3. 負荷分散の対象に追加
MasterMaster
(Secondary)(Secondary)WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ
MasterMaster
(Primary)(Primary)
WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ
増設増設増設増設したいしたいしたいしたい増設増設増設増設したいしたいしたいしたいWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ
WEBWEBサーバサーバサーバサーバ増設例増設例増設例増設例サーバサーバサーバサーバ増設例増設例増設例増設例
ContentsContents
MasterMasterLVSLVS
(Active)(Active)
LVSLVS
(Backup)(Backup)
11 22 11 22 3333
6Copyright © KLab Inc. All rights reserved.
WEBサーバサーバサーバサーバのののの増設増設増設増設・・・・セットアップセットアップセットアップセットアップ(1)
増設WEBサーバ
メモリ vmlinuz
/usr、/binsshd
マスターサーバ
メモリ
ディスクディスクvmlinuz
/usr、/binKayac様
コンテンツ
vmlinuz
/usr、/binKayac様
コンテンツ コピー
●KLab用イメージをメモリに展開して起動
●マスターサーバからディスクをコピー
vmlinuz
/usr、/binsshd
KLab用イメージ
増設増設増設増設サーバサーバサーバサーバののののメモリメモリメモリメモリにににに増設増設増設増設サーバサーバサーバサーバののののメモリメモリメモリメモリににににカーネルカーネルカーネルカーネルカーネルカーネルカーネルカーネル++ルートイメージルートイメージルートイメージルートイメージをををを展開展開展開展開ルートイメージルートイメージルートイメージルートイメージをををを展開展開展開展開
7Copyright © KLab Inc. All rights reserved.
WEBサーバサーバサーバサーバのののの増設増設増設増設・・・・セットアップセットアップセットアップセットアップ(2)
増設WEBサーバ
メモリ vmlinuz
/usr、/binsshd
マスターサーバ
メモリ
ディスク
ディスクvmlinuz
/usr、/binKayac様コンテンツ
●rebootしてWEB用イメージをメモリに展開して起動
●負荷分散対象に割りあてて増設完了
vmlinuz
/usr、/binsshd
WEB用イメージ
増設増設増設増設サーバサーバサーバサーバののののメモリメモリメモリメモリにににに増設増設増設増設サーバサーバサーバサーバののののメモリメモリメモリメモリににににカーネルカーネルカーネルカーネルカーネルカーネルカーネルカーネル++ルートイメージルートイメージルートイメージルートイメージをををを展開展開展開展開ルートイメージルートイメージルートイメージルートイメージをををを展開展開展開展開
LVSサーバ
WEBサーバ WEBサーバ 増設WEBサーバ
割割割割りりりり当当当当てててて前前前前ののののサービストラフィックサービストラフィックサービストラフィックサービストラフィック割割割割りりりり当当当当てててて前前前前ののののサービストラフィックサービストラフィックサービストラフィックサービストラフィック
割割割割りりりり当当当当てててて後後後後ののののサービストラフィックサービストラフィックサービストラフィックサービストラフィック割割割割りりりり当当当当てててて後後後後ののののサービストラフィックサービストラフィックサービストラフィックサービストラフィック
8Copyright © KLab Inc. All rights reserved.
実はWEBサーバの
初期構築は事前にやってたりします…
9Copyright © KLab Inc. All rights reserved.
実際実際実際実際ののののWEBサーバサーバサーバサーバのののの増設増設増設増設
割り当てなしWEBサーバ
メモリ vmlinuz
/usr、/binsshd
コンテンツマスター
メモリ
ディスク
ディスクvmlinuz
/usr、/binKayac様コンテンツ
●起動中の割り当てなしのWEBサーバが存在●実はCM(コンテンツマスター) から makuosan で同期
●負荷分散対象に割りあてのみ
Kayac様コンテンツ…
コンテンツ
初期構築済初期構築済初期構築済初期構築済みでみでみでみで起動中起動中起動中起動中初期構築済初期構築済初期構築済初期構築済みでみでみでみで起動中起動中起動中起動中
◯Makuosanコンテンツの同期に利用するツール
割割割割りりりり当当当当てててて変更変更変更変更のみのみのみのみ割割割割りりりり当当当当てててて変更変更変更変更のみのみのみのみ
Kayac様WEBサーバ
メモリ vmlinuz
/usr、/binsshd
ディスクvmlinuz
/usr、/binKayac様コンテンツ
サービスサービスサービスサービス提供中提供中提供中提供中サービスサービスサービスサービス提供中提供中提供中提供中
差分発生差分発生差分発生差分発生・・・・コピーコピーコピーコピー差分発生差分発生差分発生差分発生・・・・コピーコピーコピーコピー差分発生差分発生差分発生差分発生・・・・コピーコピーコピーコピー差分発生差分発生差分発生差分発生・・・・コピーコピーコピーコピー
10Copyright © KLab Inc. All rights reserved.
DBサーバサーバサーバサーバ(Slave)のののの増設方法増設方法増設方法増設方法
� DSASのマスターサーバ以外がネットワーク
ブート1. マスターサーバからInitramfsで起動
2. 同期レプリケーション
3. 負荷分散の対象に追加
MasterMaster
(Secondary)(Secondary)WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ
MasterMaster
(Primary)(Primary)
WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ
DBDBサーバサーバサーバサーバ増設例増設例増設例増設例サーバサーバサーバサーバ増設例増設例増設例増設例
ContentsContents
MasterMaster
LLSLLS
(Active)(Active)
LLSLLS
(Backup)(Backup)
33
11
22
DBDBDBDBサーバサーバサーバサーバDBDBDBDBサーバサーバサーバサーバ(Master)(Master)
DBDBDBDBサーバサーバサーバサーバDBDBDBDBサーバサーバサーバサーバ(Slave)(Slave)
11
WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ
11Copyright © KLab Inc. All rights reserved.
DBサーバサーバサーバサーバ(Slave)のののの増設増設増設増設・・・・セットアップセットアップセットアップセットアップ
●DBイメージをメモリに展開して起動●MySQLのデータはローカルのディスク(RAID)に書く
★オンメモリなのでシステム領域のディスク障害なし
増設DBサーバ
メモリ vmlinuz
/usr、/binsshd
マスターサーバ
メモリ
ディスクディスク
DBDBレプリケーションレプリケーションレプリケーションレプリケーションレプリケーションレプリケーションレプリケーションレプリケーション
vmlinuz
/usr、/binsshd
DB用イメージ
RAIDRAID等等等等をををを有効有効有効有効にににに等等等等をををを有効有効有効有効ににににししししししししカーネルカーネルカーネルカーネルカーネルカーネルカーネルカーネル+ + ルートイメージルートイメージルートイメージルートイメージででででブートブートブートブートルートイメージルートイメージルートイメージルートイメージででででブートブートブートブート
boot> db
InnoDB
Master DBサーバ
メモリ vmlinuz
/usr、/binsshd
ディスク
InnoDB
12Copyright © KLab Inc. All rights reserved.
DBサーバサーバサーバサーバ(Slave)のののの増設増設増設増設-セットアップセットアップセットアップセットアップ(2)
� 負荷分散� MySQLの参照系のクエリーは Slave へ問い合せ
� Slave 参照はLLS(内部負荷分散サーバ)を経由LLSサーバ
DBサーバ(Slave1)
DBサーバ(Slave2)
増設DBサーバ(Slave3)
WEBサーバ
割割割割りりりり当当当当てててて前前前前のののの参照先参照先参照先参照先トラフィックトラフィックトラフィックトラフィック割割割割りりりり当当当当てててて前前前前のののの参照先参照先参照先参照先トラフィックトラフィックトラフィックトラフィック
割割割割りりりり当当当当てててて後後後後のののの参照先参照先参照先参照先トラフィックトラフィックトラフィックトラフィック割割割割りりりり当当当当てててて後後後後のののの参照先参照先参照先参照先トラフィックトラフィックトラフィックトラフィック
slaveslaveへのへのへのへの問合問合問合問合せせせせトラフィックトラフィックトラフィックトラフィックへのへのへのへの問合問合問合問合せせせせトラフィックトラフィックトラフィックトラフィック
13Copyright © KLab Inc. All rights reserved.
増設の話は終了
次からは WEB サーバ
14Copyright © KLab Inc. All rights reserved.
WEBサーバサーバサーバサーバのののの構成構成構成構成についてについてについてについて
LVSLVS
(Active)(Active)
ContentsContents
MasterMaster
LVSLVS
(Backup)(Backup)
DBDBDBDBサーバサーバサーバサーバDBDBDBDBサーバサーバサーバサーバ(Master)(Master)
WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ
DBDBDBDBサーバサーバサーバサーバDBDBDBDBサーバサーバサーバサーバ(Slave)(Slave)
MCMC
(Active)(Active)
DBDBDBDBサーバサーバサーバサーバDBDBDBDBサーバサーバサーバサーバ(Slave)(Slave)
MCMC
(Backup)(Backup)
LLSLLS
(Active)(Active)
LLSLLS
(Backup)(Backup)
GANGLIAGANGLIA
(Active)(Active)
GANGLIAGANGLIA
(Backup)(Backup)
WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバWEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ WEBWEBサーバサーバサーバサーバサーバサーバサーバサーバ
フロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービス
バックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービス
MasterMaster
(Secondary)(Secondary)MasterMaster
(Primary)(Primary)
15Copyright © KLab Inc. All rights reserved.
WEBサーバサーバサーバサーバ:フロントエンドフロントエンドフロントエンドフロントエンドととととバックエンドバックエンドバックエンドバックエンド
� WEBサーバが 2 段構成
Why?
WEBサーバ
LVSサーバ
Apache:Apache:フロントエンドフロントエンドフロントエンドフロントエンドフロントエンドフロントエンドフロントエンドフロントエンド
Apache:Apache:バックエンドバックエンドバックエンドバックエンドバックエンドバックエンドバックエンドバックエンド
HTTPHTTPリクエストリクエストリクエストリクエストリクエストリクエストリクエストリクエスト
HTTPHTTPレスポンスレスポンスレスポンスレスポンスレスポンスレスポンスレスポンスレスポンス
プロキシプロキシプロキシプロキシプロキシプロキシプロキシプロキシ
16Copyright © KLab Inc. All rights reserved.
Apache:リクエストリクエストリクエストリクエスト処理処理処理処理がががが大量大量大量大量にににに来来来来たたたた場合場合場合場合
� プロキシなしの設定
� バックエンドのみで処理を行う必要
� PHPのアプリケーションで処理できる数は限定
� プロキシありの設定� バックエンドでPHPのアプリケーションサービス
� フロントエンドではリクエストのみを受けつける処理
� フロントエンドがバックエンドよりも多くの処理が来た場合はWEBサーバの台数を増加させる指標
17Copyright © KLab Inc. All rights reserved.
Apache: フロントエンドフロントエンドフロントエンドフロントエンドのののの設定設定設定設定フロントエンドフロントエンドフロントエンドフロントエンドフロントエンドフロントエンドフロントエンドフロントエンド
httpd.confhttpd.conf in global contextin global context
MinSpareServers 64
MaxSpareServers 255
StartServers 64
ServerLimit 256
MaxClients 255
MaxRequestsPerChild 0
アイドルアイドルアイドルアイドル子子子子プロセスプロセスプロセスプロセス最小値最小値最小値最小値アイドルアイドルアイドルアイドル子子子子プロセスプロセスプロセスプロセス最小値最小値最小値最小値
アイドルアイドルアイドルアイドル子子子子プロセスプロセスプロセスプロセス最大値最大値最大値最大値アイドルアイドルアイドルアイドル子子子子プロセスプロセスプロセスプロセス最大値最大値最大値最大値
起動時起動時起動時起動時のののの子子子子プロセスプロセスプロセスプロセスのののの数数数数起動時起動時起動時起動時のののの子子子子プロセスプロセスプロセスプロセスのののの数数数数
応答可能応答可能応答可能応答可能ななななプロセスプロセスプロセスプロセス数数数数のののの上限値上限値上限値上限値応答可能応答可能応答可能応答可能ななななプロセスプロセスプロセスプロセス数数数数のののの上限値上限値上限値上限値
プロセスプロセスプロセスプロセス数全体数全体数全体数全体のののの上限値上限値上限値上限値プロセスプロセスプロセスプロセス数全体数全体数全体数全体のののの上限値上限値上限値上限値
11プロセスプロセスプロセスプロセスがががが扱扱扱扱ううううリクエストリクエストリクエストリクエストののののプロセスプロセスプロセスプロセスがががが扱扱扱扱ううううリクエストリクエストリクエストリクエストのののの
上限値上限値上限値上限値上限値上限値上限値上限値
Apache Frontend ReportApache Frontend Report
GangliaGangliaのののの統計統計統計統計のののの統計統計統計統計
18Copyright © KLab Inc. All rights reserved.
Apache: バックエンドバックエンドバックエンドバックエンドのののの設定設定設定設定バックエンドバックエンドバックエンドバックエンドバックエンドバックエンドバックエンドバックエンド
httpd.confhttpd.conf in global contextin global context
MinSpareServers 16
MaxSpareServers 31
StartServers 16
ServerLimit 32
MaxClients 31
MaxRequestsPerChild 0
アイドルアイドルアイドルアイドル子子子子プロセスプロセスプロセスプロセス最小値最小値最小値最小値アイドルアイドルアイドルアイドル子子子子プロセスプロセスプロセスプロセス最小値最小値最小値最小値
アイドルアイドルアイドルアイドル子子子子プロセスプロセスプロセスプロセス最大値最大値最大値最大値アイドルアイドルアイドルアイドル子子子子プロセスプロセスプロセスプロセス最大値最大値最大値最大値
起動時起動時起動時起動時のののの子子子子プロセスプロセスプロセスプロセスのののの数数数数起動時起動時起動時起動時のののの子子子子プロセスプロセスプロセスプロセスのののの数数数数
応答可能応答可能応答可能応答可能ななななプロセスプロセスプロセスプロセス数数数数のののの上限値上限値上限値上限値応答可能応答可能応答可能応答可能ななななプロセスプロセスプロセスプロセス数数数数のののの上限値上限値上限値上限値
プロセスプロセスプロセスプロセス数全体数全体数全体数全体のののの上限値上限値上限値上限値プロセスプロセスプロセスプロセス数全体数全体数全体数全体のののの上限値上限値上限値上限値
11プロセスプロセスプロセスプロセスがががが扱扱扱扱ううううリクエストリクエストリクエストリクエストののののプロセスプロセスプロセスプロセスがががが扱扱扱扱ううううリクエストリクエストリクエストリクエストのののの
上限値上限値上限値上限値上限値上限値上限値上限値
Apache Backend ReportApache Backend Report
GangliaGangliaのののの統計統計統計統計のののの統計統計統計統計
19Copyright © KLab Inc. All rights reserved.
WEBサーバサーバサーバサーバ:PageView((((PV)グラフグラフグラフグラフ
� Apache のログ出力にはパイプ処理可能
� リアルタイムにログをプログラムに渡して処理
� PVの算出
1. 負荷分散対象のWEBサーバからログデータ取得
2. 時系列にマージ + パースして算出?
手間手間手間手間がかかるがかかるがかかるがかかる手間手間手間手間がかかるがかかるがかかるがかかるPVPVをををを見見見見たいときにたいときにたいときにたいときに即見即見即見即見えないえないえないえないをををを見見見見たいときにたいときにたいときにたいときに即見即見即見即見えないえないえないえない
20Copyright © KLab Inc. All rights reserved.
WEBサーバサーバサーバサーバ:統計統計統計統計グラフグラフグラフグラフ
� カスタムログの設定(backend のログ出力)
CustomLog “|measure-prog “%{%H:%M:%S}t %>s %D”
バックエンドバックエンドバックエンドバックエンドバックエンドバックエンドバックエンドバックエンド: Virtual Server Context: Virtual Server Context
PHPPHPでででで処理処理処理処理したしたしたしたレスポンスタイムレスポンスタイムレスポンスタイムレスポンスタイムでででで処理処理処理処理したしたしたしたレスポンスタイムレスポンスタイムレスポンスタイムレスポンスタイム
21Copyright © KLab Inc. All rights reserved.
次からDBサーバ
22Copyright © KLab Inc. All rights reserved.
DBサーバサーバサーバサーバ:コネクションコネクションコネクションコネクションのののの扱扱扱扱いいいい方方方方
� DBサーバのコネクションのはりかた
1. WEBサーバからコネクションはりっぱなし
2. WEBサーバから必要に応じてコネクション切断
WEBサーバ
DBサーバ
コネクションコネクションコネクションコネクションはりっぱなしはりっぱなしはりっぱなしはりっぱなし例例例例コネクションコネクションコネクションコネクションはりっぱなしはりっぱなしはりっぱなしはりっぱなし例例例例
必要必要必要必要にににに応応応応じてじてじてじてコネクションコネクションコネクションコネクション必要必要必要必要にににに応応応応じてじてじてじてコネクションコネクションコネクションコネクションをををを切断切断切断切断するするするする例例例例をををを切断切断切断切断するするするする例例例例
23Copyright © KLab Inc. All rights reserved.
DBサーバサーバサーバサーバ:必要必要必要必要にににに応応応応じてじてじてじてコネクションコネクションコネクションコネクションのののの切断切断切断切断
� WEBサーバからコネクションはりっぱなし
1. メリット:コネクションを接続するオーバヘッド存
在なし
2. デメリット:コネクションの個数がWEBサーバのプ
ロセス数に依存
� WEBサーバから必要に応じてコネクション切
断1. メリット:コネクションを接続するオーバヘッド
2. デメリット:WEBサーバのプロセス数に非依存
DSASDSASのののの場合場合場合場合はははは「「「「のののの場合場合場合場合はははは「「「「22」」」」」」」」
必要必要必要必要にににに応応応応じてじてじてじてコネクションコネクションコネクションコネクション切断切断切断切断必要必要必要必要にににに応応応応じてじてじてじてコネクションコネクションコネクションコネクション切断切断切断切断
24Copyright © KLab Inc. All rights reserved.
DBサーバサーバサーバサーバ:可能可能可能可能であればであればであればであればオンメモリオンメモリオンメモリオンメモリでででで
� MySQLのメモリの扱い方
� 利用するバッファ領域
� グローバルバッファ
� スレッドバッファ(コネクション)
利用利用利用利用するするするするメモリメモリメモリメモリ利用利用利用利用するするするするメモリメモリメモリメモリ= =
グローバルバッファグローバルバッファグローバルバッファグローバルバッファグローバルバッファグローバルバッファグローバルバッファグローバルバッファ+ + スレッドバッファスレッドバッファスレッドバッファスレッドバッファスレッドバッファスレッドバッファスレッドバッファスレッドバッファ x x コネクションコネクションコネクションコネクション数数数数コネクションコネクションコネクションコネクション数数数数
コネクションコネクションコネクションコネクション数数数数コネクションコネクションコネクションコネクション数数数数=WEB=WEBサーバサーバサーバサーバののののプロセスプロセスプロセスプロセス数数数数サーバサーバサーバサーバののののプロセスプロセスプロセスプロセス数数数数もしもしもしもしもしもしもしもしWEB WEB サーバサーバサーバサーバをををを増設増設増設増設するとするとするとするとサーバサーバサーバサーバをををを増設増設増設増設するとするとするとするとコネクションコネクションコネクションコネクションコネクションコネクションコネクションコネクション11つにつにつにつに使用使用使用使用できるできるできるできるメモリメモリメモリメモリ量量量量がががが制限制限制限制限つにつにつにつに使用使用使用使用できるできるできるできるメモリメモリメモリメモリ量量量量がががが制限制限制限制限
コネクションコネクションコネクションコネクションをはりっぱなしのをはりっぱなしのをはりっぱなしのをはりっぱなしの場合場合場合場合コネクションコネクションコネクションコネクションをはりっぱなしのをはりっぱなしのをはりっぱなしのをはりっぱなしの場合場合場合場合
25Copyright © KLab Inc. All rights reserved.
DBサーバサーバサーバサーバ:各種統計情報各種統計情報各種統計情報各種統計情報
内部内部内部内部クエリクエリクエリクエリのののの識別識別識別識別とととと数数数数内部内部内部内部クエリクエリクエリクエリのののの識別識別識別識別とととと数数数数 キャッシュキャッシュキャッシュキャッシュののののヒットヒットヒットヒット率率率率キャッシュキャッシュキャッシュキャッシュののののヒットヒットヒットヒット率率率率
26Copyright © KLab Inc. All rights reserved.
まとめまとめまとめまとめ
� ネットワークブートは便利
� 用途に分けてイメージを変更することが可能
� WEBサーバ
� Apache は二段構成
� DBサーバ
� Connection の考え方
� 可視化情報重要