dsas周りのお話

27
0 Copyright © KLab Inc. All rights reserved. DSAS Ryosuke MIURA

Upload: klab

Post on 24-May-2015

2.492 views

Category:

Technology


1 download

DESCRIPTION

2010年4月16日の開催された「KAYAC×KLab合同勉強会」のKLabセッションです。

TRANSCRIPT

Page 1: Dsas周りのお話

0Copyright © KLab Inc. All rights reserved.

DSAS 周周周周 り の おり の おり の おり の お 話話話話Ryosuke MIURA

Page 2: Dsas周りのお話

1Copyright © KLab Inc. All rights reserved.

目次目次目次目次

� DSAS全体の構成

� サーバの増設

� ネットワークブートについて

� WEBサーバ

� フロントエンドとバックエンドの構成の理由

� ログ

� グラフ情報の見方

� DBサーバ

� コネクション数一定の理由

� グラフ情報の見方

Page 3: Dsas周りのお話

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サーサーサーサーサーサーサーサーババババババババ

フロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービスフロントエンドサービス

バックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービスバックエンドサービス

Page 4: Dsas周りのお話

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)

Page 5: Dsas周りのお話

4Copyright © KLab Inc. All rights reserved.

サーバサーバサーバサーバのののの増設増設増設増設についてについてについてについて

� 環境構築手順

1. ハードウェア設置

2. OSのインストール

3. ディスクの同期

4. 各種サービスの設定・確認

2-4の処理で作成したイメージはほぼ共通

あらかじめあらかじめあらかじめあらかじめ作成作成作成作成してあるしてあるしてあるしてあるあらかじめあらかじめあらかじめあらかじめ作成作成作成作成してあるしてあるしてあるしてある各種各種各種各種イメージイメージイメージイメージをををを各種各種各種各種イメージイメージイメージイメージをををを

ネットワークブートネットワークブートネットワークブートネットワークブートネットワークブートネットワークブートネットワークブートネットワークブート!!

Page 6: Dsas周りのお話

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

Page 7: Dsas周りのお話

6Copyright © KLab Inc. All rights reserved.

WEBサーバサーバサーバサーバのののの増設増設増設増設・・・・セットアップセットアップセットアップセットアップ(1)

増設WEBサーバ

メモリ vmlinuz

/usr、/binsshd

マスターサーバ

メモリ

ディスクディスクvmlinuz

/usr、/binKayac様

コンテンツ

vmlinuz

/usr、/binKayac様

コンテンツ コピー

●KLab用イメージをメモリに展開して起動

●マスターサーバからディスクをコピー

vmlinuz

/usr、/binsshd

KLab用イメージ

増設増設増設増設サーバサーバサーバサーバののののメモリメモリメモリメモリにににに増設増設増設増設サーバサーバサーバサーバののののメモリメモリメモリメモリににににカーネルカーネルカーネルカーネルカーネルカーネルカーネルカーネル++ルートイメージルートイメージルートイメージルートイメージをををを展開展開展開展開ルートイメージルートイメージルートイメージルートイメージをををを展開展開展開展開

Page 8: Dsas周りのお話

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サーバ

割割割割りりりり当当当当てててて前前前前ののののサービストラフィックサービストラフィックサービストラフィックサービストラフィック割割割割りりりり当当当当てててて前前前前ののののサービストラフィックサービストラフィックサービストラフィックサービストラフィック

割割割割りりりり当当当当てててて後後後後ののののサービストラフィックサービストラフィックサービストラフィックサービストラフィック割割割割りりりり当当当当てててて後後後後ののののサービストラフィックサービストラフィックサービストラフィックサービストラフィック

Page 9: Dsas周りのお話

8Copyright © KLab Inc. All rights reserved.

実はWEBサーバの

初期構築は事前にやってたりします…

Page 10: Dsas周りのお話

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様コンテンツ

サービスサービスサービスサービス提供中提供中提供中提供中サービスサービスサービスサービス提供中提供中提供中提供中

差分発生差分発生差分発生差分発生・・・・コピーコピーコピーコピー差分発生差分発生差分発生差分発生・・・・コピーコピーコピーコピー差分発生差分発生差分発生差分発生・・・・コピーコピーコピーコピー差分発生差分発生差分発生差分発生・・・・コピーコピーコピーコピー

Page 11: Dsas周りのお話

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サーバサーバサーバサーバサーバサーバサーバサーバ

Page 12: Dsas周りのお話

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

Page 13: Dsas周りのお話

12Copyright © KLab Inc. All rights reserved.

DBサーバサーバサーバサーバ(Slave)のののの増設増設増設増設-セットアップセットアップセットアップセットアップ(2)

� 負荷分散� MySQLの参照系のクエリーは Slave へ問い合せ

� Slave 参照はLLS(内部負荷分散サーバ)を経由LLSサーバ

DBサーバ(Slave1)

DBサーバ(Slave2)

増設DBサーバ(Slave3)

WEBサーバ

割割割割りりりり当当当当てててて前前前前のののの参照先参照先参照先参照先トラフィックトラフィックトラフィックトラフィック割割割割りりりり当当当当てててて前前前前のののの参照先参照先参照先参照先トラフィックトラフィックトラフィックトラフィック

割割割割りりりり当当当当てててて後後後後のののの参照先参照先参照先参照先トラフィックトラフィックトラフィックトラフィック割割割割りりりり当当当当てててて後後後後のののの参照先参照先参照先参照先トラフィックトラフィックトラフィックトラフィック

slaveslaveへのへのへのへの問合問合問合問合せせせせトラフィックトラフィックトラフィックトラフィックへのへのへのへの問合問合問合問合せせせせトラフィックトラフィックトラフィックトラフィック

Page 14: Dsas周りのお話

13Copyright © KLab Inc. All rights reserved.

増設の話は終了

次からは WEB サーバ

Page 15: Dsas周りのお話

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)

Page 16: Dsas周りのお話

15Copyright © KLab Inc. All rights reserved.

WEBサーバサーバサーバサーバ:フロントエンドフロントエンドフロントエンドフロントエンドととととバックエンドバックエンドバックエンドバックエンド

� WEBサーバが 2 段構成

Why?

WEBサーバ

LVSサーバ

Apache:Apache:フロントエンドフロントエンドフロントエンドフロントエンドフロントエンドフロントエンドフロントエンドフロントエンド

Apache:Apache:バックエンドバックエンドバックエンドバックエンドバックエンドバックエンドバックエンドバックエンド

HTTPHTTPリクエストリクエストリクエストリクエストリクエストリクエストリクエストリクエスト

HTTPHTTPレスポンスレスポンスレスポンスレスポンスレスポンスレスポンスレスポンスレスポンス

プロキシプロキシプロキシプロキシプロキシプロキシプロキシプロキシ

Page 17: Dsas周りのお話

16Copyright © KLab Inc. All rights reserved.

Apache:リクエストリクエストリクエストリクエスト処理処理処理処理がががが大量大量大量大量にににに来来来来たたたた場合場合場合場合

� プロキシなしの設定

� バックエンドのみで処理を行う必要

� PHPのアプリケーションで処理できる数は限定

� プロキシありの設定� バックエンドでPHPのアプリケーションサービス

� フロントエンドではリクエストのみを受けつける処理

� フロントエンドがバックエンドよりも多くの処理が来た場合はWEBサーバの台数を増加させる指標

Page 18: Dsas周りのお話

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のののの統計統計統計統計のののの統計統計統計統計

Page 19: Dsas周りのお話

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のののの統計統計統計統計のののの統計統計統計統計

Page 20: Dsas周りのお話

19Copyright © KLab Inc. All rights reserved.

WEBサーバサーバサーバサーバ:PageView((((PV)グラフグラフグラフグラフ

� Apache のログ出力にはパイプ処理可能

� リアルタイムにログをプログラムに渡して処理

� PVの算出

1. 負荷分散対象のWEBサーバからログデータ取得

2. 時系列にマージ + パースして算出?

手間手間手間手間がかかるがかかるがかかるがかかる手間手間手間手間がかかるがかかるがかかるがかかるPVPVをををを見見見見たいときにたいときにたいときにたいときに即見即見即見即見えないえないえないえないをををを見見見見たいときにたいときにたいときにたいときに即見即見即見即見えないえないえないえない

Page 21: Dsas周りのお話

20Copyright © KLab Inc. All rights reserved.

WEBサーバサーバサーバサーバ:統計統計統計統計グラフグラフグラフグラフ

� カスタムログの設定(backend のログ出力)

CustomLog “|measure-prog “%{%H:%M:%S}t %>s %D”

バックエンドバックエンドバックエンドバックエンドバックエンドバックエンドバックエンドバックエンド: Virtual Server Context: Virtual Server Context

PHPPHPでででで処理処理処理処理したしたしたしたレスポンスタイムレスポンスタイムレスポンスタイムレスポンスタイムでででで処理処理処理処理したしたしたしたレスポンスタイムレスポンスタイムレスポンスタイムレスポンスタイム

Page 22: Dsas周りのお話

21Copyright © KLab Inc. All rights reserved.

次からDBサーバ

Page 23: Dsas周りのお話

22Copyright © KLab Inc. All rights reserved.

DBサーバサーバサーバサーバ:コネクションコネクションコネクションコネクションのののの扱扱扱扱いいいい方方方方

� DBサーバのコネクションのはりかた

1. WEBサーバからコネクションはりっぱなし

2. WEBサーバから必要に応じてコネクション切断

WEBサーバ

DBサーバ

コネクションコネクションコネクションコネクションはりっぱなしはりっぱなしはりっぱなしはりっぱなし例例例例コネクションコネクションコネクションコネクションはりっぱなしはりっぱなしはりっぱなしはりっぱなし例例例例

必要必要必要必要にににに応応応応じてじてじてじてコネクションコネクションコネクションコネクション必要必要必要必要にににに応応応応じてじてじてじてコネクションコネクションコネクションコネクションをををを切断切断切断切断するするするする例例例例をををを切断切断切断切断するするするする例例例例

Page 24: Dsas周りのお話

23Copyright © KLab Inc. All rights reserved.

DBサーバサーバサーバサーバ:必要必要必要必要にににに応応応応じてじてじてじてコネクションコネクションコネクションコネクションのののの切断切断切断切断

� WEBサーバからコネクションはりっぱなし

1. メリット:コネクションを接続するオーバヘッド存

在なし

2. デメリット:コネクションの個数がWEBサーバのプ

ロセス数に依存

� WEBサーバから必要に応じてコネクション切

断1. メリット:コネクションを接続するオーバヘッド

2. デメリット:WEBサーバのプロセス数に非依存

DSASDSASのののの場合場合場合場合はははは「「「「のののの場合場合場合場合はははは「「「「22」」」」」」」」

必要必要必要必要にににに応応応応じてじてじてじてコネクションコネクションコネクションコネクション切断切断切断切断必要必要必要必要にににに応応応応じてじてじてじてコネクションコネクションコネクションコネクション切断切断切断切断

Page 25: Dsas周りのお話

24Copyright © KLab Inc. All rights reserved.

DBサーバサーバサーバサーバ:可能可能可能可能であればであればであればであればオンメモリオンメモリオンメモリオンメモリでででで

� MySQLのメモリの扱い方

� 利用するバッファ領域

� グローバルバッファ

� スレッドバッファ(コネクション)

利用利用利用利用するするするするメモリメモリメモリメモリ利用利用利用利用するするするするメモリメモリメモリメモリ= =

グローバルバッファグローバルバッファグローバルバッファグローバルバッファグローバルバッファグローバルバッファグローバルバッファグローバルバッファ+ + スレッドバッファスレッドバッファスレッドバッファスレッドバッファスレッドバッファスレッドバッファスレッドバッファスレッドバッファ x x コネクションコネクションコネクションコネクション数数数数コネクションコネクションコネクションコネクション数数数数

コネクションコネクションコネクションコネクション数数数数コネクションコネクションコネクションコネクション数数数数=WEB=WEBサーバサーバサーバサーバののののプロセスプロセスプロセスプロセス数数数数サーバサーバサーバサーバののののプロセスプロセスプロセスプロセス数数数数もしもしもしもしもしもしもしもしWEB WEB サーバサーバサーバサーバをををを増設増設増設増設するとするとするとするとサーバサーバサーバサーバをををを増設増設増設増設するとするとするとするとコネクションコネクションコネクションコネクションコネクションコネクションコネクションコネクション11つにつにつにつに使用使用使用使用できるできるできるできるメモリメモリメモリメモリ量量量量がががが制限制限制限制限つにつにつにつに使用使用使用使用できるできるできるできるメモリメモリメモリメモリ量量量量がががが制限制限制限制限

コネクションコネクションコネクションコネクションをはりっぱなしのをはりっぱなしのをはりっぱなしのをはりっぱなしの場合場合場合場合コネクションコネクションコネクションコネクションをはりっぱなしのをはりっぱなしのをはりっぱなしのをはりっぱなしの場合場合場合場合

Page 26: Dsas周りのお話

25Copyright © KLab Inc. All rights reserved.

DBサーバサーバサーバサーバ:各種統計情報各種統計情報各種統計情報各種統計情報

内部内部内部内部クエリクエリクエリクエリのののの識別識別識別識別とととと数数数数内部内部内部内部クエリクエリクエリクエリのののの識別識別識別識別とととと数数数数 キャッシュキャッシュキャッシュキャッシュののののヒットヒットヒットヒット率率率率キャッシュキャッシュキャッシュキャッシュののののヒットヒットヒットヒット率率率率

Page 27: Dsas周りのお話

26Copyright © KLab Inc. All rights reserved.

まとめまとめまとめまとめ

� ネットワークブートは便利

� 用途に分けてイメージを変更することが可能

� WEBサーバ

� Apache は二段構成

� DBサーバ

� Connection の考え方

� 可視化情報重要