狠狠撸
Submit Search
顿蝉补蝉周りのお话
?
1 like
?
1,610 views
K
碍尝补产株式会社
2010年4月16日の开催された「碍础驰础颁×碍尝补产合同勉强会」の碍尝补产セッションです。
Read less
Read more
1 of 27
Download now
Downloaded 23 times
More Related Content
顿蝉补蝉周りのお话
1.
DSAS 周 り
の お 話 Ryosuke MIURA Copyright ? KLab Inc. All rights reserved. 0
2.
目次
顿厂础厂全体の构成 サーバの増設 ネットワークブートについて WEBサーバ フロントエンドとバックエンドの構成の理由 ログ グラフ情報の見方 DBサーバ コネクション数一定の理由 グラフ情報の見方 Copyright ? KLab Inc. All rights reserved. 1
3.
顿厂础厂全体の构成
全体の 全体 フロントエンドサービス LVS LVS (Active) (Backup) バックエンドサービス Contents Master Master WEBサーバ WEBサーバ Master (Primary) (Secondary) WEBサーバ WEBサーバ WEBサーバ WEBサーバ WEBサーバ DBサー DBサーバ MC LLS GANGLIA (Master) (Active) (Active) (Active) DBサー DBサーバ MC LLS GANGLIA (Slave) (Backup) (Backup) (Backup) DBサ DBサーバ (Slave) Copyright ? KLab Inc. All rights reserved. 2
4.
今回の
今回のメインターゲット フロントエンドサービス LVS LVS (Active) (Backup) バックエンドサービス Contents Master Master WEBサーバ WEBサーバ Master (Primary) (Secondary) WEBサーバ WEBサーバ WEBサーバ WEBサーバ WEBサーバ DBサーバ DBサーバ MC LLS サーバの ?WEBサーバの増設 GANGLIA (Master) (Active) (Active) 設定について ?設定について (Active) DBサーバ DBサーバ MC LLS GANGLIA (Slave) (Backup) (Backup) (Backup) サーバの ?Slave サーバの増設 におけるコネク ?DSASにおけるコネク DBサーバ DBサーバ ションの ションの扱い方 (Slave) Copyright ? KLab Inc. All rights reserved. 3
5.
サーバの増设について
サーバの増设について 環境構築手順 1. ハードウェア設置 2. OSのインストール 3. ディスクの同期 4. 各種サービスの設定?確認 2-4の処理で作成したイメージはほぼ共通 あらかじめ作成してある あらかじめ作成してある 作成 各種イメージ イメージを 各種イメージを ネットワークブート! Copyright ? KLab Inc. All rights reserved. 4
6.
奥贰叠サーバ増设の方法
サーバ増設の サーバ増設 DSASのマスターサーバ以外はネットワーク ブート(鶏と卵問題) 1. マスターサーバからInitramfs(ベースイメージを メモリに展開+rootマウント)で起動 2. ディスク(コンテンツ)の同期 3. 負荷分散の対象に追加 WEBサーバ増設例 サーバ増設例 3 1 2 1 2 3 LVS Contents Master Master 増設したい 増設したい WEBサーバ (Active) Master (Primary) (Secondary) WEBサーバ LVS (Backup) WEBサーバ WEBサーバ WEBサーバ WEBサーバ WEBサーバ Copyright ? KLab Inc. All rights reserved. 5
7.
奥贰叠サーバの増设?セットアップ(1)
サーバの増設?セットアップ サーバ ●KLab用イメージをメモリに展開して起動 ●マスターサーバからディスクをコピー 増設サーバのメモリに 増設サーバのメモリに サーバ ルートイメージを カーネル+ルートイメージを展開 増設WEBサーバ マスターサーバ メモリ vmlinuz メモリ /usr、/bin sshd ディスク ディスク KLab用イメージ vmlinuz vmlinuz /usr、/bin /usr、/bin vmlinuz Kayac様 Kayac様 /usr、/bin コンテンツ コピー コンテンツ sshd Copyright ? KLab Inc. All rights reserved. 6
8.
奥贰叠サーバの増设?セットアップ(2)
サーバの増設?セットアップ サーバ ●rebootしてWEB用イメージをメモリに展開して起動 ●負荷分散対象に割りあてて増設完了 増設サーバのメモリに 増設サーバのメモリに サーバ ルートイメージを カーネル+ルートイメージを展開 マスターサーバ 増設WEBサーバ メモリ LVSサーバ メモリ vmlinuz /usr、/bin sshd ディスク WEB用イメージ ディスク vmlinuz vmlinuz /usr、/bin /usr、/bin Kayac様 sshd コンテンツ 割り当て前のサービストラフィック 割り当て後のサービストラフィック WEBサーバ WEBサーバ 増設WEBサーバ Copyright ? KLab Inc. All rights reserved. 7
9.
実は奥贰叠サーバの
初期構築は事前に やってたりします… Copyright ? KLab Inc. All rights reserved. 8
10.
実际の
実际のWEBサーバの増設 サーバの サーバ ●起動中の割り当てなしのWEBサーバが存在 ?Makuosan ●実はCM(コンテンツマスター) から makuosan で同期 コンテンツの同期に利用するツール ●負荷分散対象に割りあてのみ コンテンツマスター サービス提供中 サービス提供中 初期構築済みで起動中 初期構築済みで起動中 みで Kayac様WEBサーバ 割り当てなしWEBサーバ メモリ メモリ vmlinuz メモリ vmlinuz /usr、/bin /usr、/bin sshd sshd ディスク ディスク ディスク vmlinuz vmlinuz コンテンツ /usr、/bin /usr、/bin Kayac様コンテンツ Kayac様コンテンツ Kayac様コンテンツ … 差分発生? 差分発生?コピー 差分発生? 差分発生?コピー 割り当て変更のみ 変更のみ Copyright ? KLab Inc. All rights reserved. 9
11.
サーバ(厂濒补惫别)の増设方法
サーバ DBサーバ の DSASのマスターサーバ以外がネットワーク ブート 1. マスターサーバからInitramfsで起動 2. 同期レプリケーション 3. 負荷分散の対象に追加 DBサーバ増設例 サーバ増設例 Contents Master Master WEBサーバ WEBサーバ Master (Primary)1 (Secondary) LLS 3 (Active) WEBサーバ WEBサーバ WEBサーバ WEBサーバ WEBサーバ LLS 1 (Backup) DBサーバ DBサーバ DBサーバ DBサーバ (Master) 2 (Slave) Copyright ? KLab Inc. All rights reserved. 10
12.
サーバ(厂濒补惫别)の増设?セットアップ
サーバ DBサーバ の増設? ●DBイメージをメモリに展開して起動 ●MySQLのデータはローカルのディスク(RAID)に書く ★オンメモリなのでシステム領域のディスク障害なし RAID等を有効にしカーネル 有効に ルートイメージで + ルートイメージでブート Master DBサーバ 増設DBサーバ マスターサーバ メモリ vmlinuz メモリ vmlinuz メモリ /usr、/bin /usr、/bin boot> db sshd sshd ディスク ディスク ディスク DB用イメージ InnoDB InnoDB vmlinuz /usr、/bin sshd DBレプリケーション Copyright ? KLab Inc. All rights reserved. 11
13.
サーバ(Slave)の増設 セットアップ
サーバ DBサーバ の増設-セットアップ セットアップ(2) 負荷分散 MySQLの参照系のクエリーは Slave へ問い合せ Slave 参照はLLS(内部負荷分散サーバ)を経由 LLSサーバ 割り当て後の参照先トラフィック 参照先トラフィック 割り当て前の参照先トラフィック 参照先トラフィック slaveへの問合せトラフィック への問合せ 問合 DBサーバ DBサーバ 増設DBサーバ WEBサーバ (Slave1) (Slave2) (Slave3) Copyright ? KLab Inc. All rights reserved. 12
14.
増设の话は终了
次からは WEB サーバ Copyright ? KLab Inc. All rights reserved. 13
15.
奥贰叠サーバの构成について
サーバの構成について サーバ フロントエンドサービス LVS LVS (Active) (Backup) バックエンドサービス Contents Master Master WEBサーバ WEBサーバ Master (Primary) (Secondary) WEBサーバ WEBサーバ WEBサーバ WEBサーバ WEBサーバ DBサーバ DBサーバ MC LLS GANGLIA (Master) (Active) (Active) (Active) DBサーバ DBサーバ MC LLS GANGLIA (Slave) (Backup) (Backup) (Backup) DBサーバ DBサーバ (Slave) Copyright ? KLab Inc. All rights reserved. 14
16.
サーバ:フロントエンド
サーバ フロントエンドと WEBサーバ フロントエンドとバックエンド WEBサーバが 2 段構成 HTTPリクエスト Why? HTTPレスポンス LVSサーバ Apache:フロントエンド プロキシ Apache:バックエンド WEBサーバ Copyright ? KLab Inc. All rights reserved. 15
17.
础辫补肠丑别:リクエスト処理が大量に来た场合
リクエスト処理が大量に リクエスト処理 プロキシなしの設定 バックエンドのみで処理を行う必要 PHPのアプリケーションで処理できる数は限定 プロキシありの設定 バックエンドでPHPのアプリケーションサービス フロントエンドではリクエストのみを受けつける処理 フロントエンドがバックエンドよりも多くの処理が来た場合 はWEBサーバの台数を増加させる指標 Copyright ? KLab Inc. All rights reserved. 16
18.
Apache: フロントエンドの設定
フロントエンドの フロントエンド httpd.conf in global context MinSpareServers 64 アイドル子プロセス最小値 アイドル子プロセス最小値 MaxSpareServers 255 アイドル子プロセス最大値 アイドル子プロセス最大値 StartServers 64 起動時の プロセスの 起動時の子プロセスの数 ServerLimit 256 プロセス数全体の プロセス数全体の上限値 数全体 MaxClients 255 応答可能なプロセス数 応答可能なプロセス数の上限値 MaxRequestsPerChild 0 1プロセスが扱うリクエストの プロセスが リクエストの 上限値 Gangliaの統計 Apache Copyright ? KLab Inc. All rights reserved. Frontend Report 17
19.
Apache: バックエンドの設定
バックエンドの バックエンド httpd.conf in global context MinSpareServers 16 アイドル子プロセス最小値 アイドル子プロセス最小値 MaxSpareServers 31 アイドル子プロセス最大値 アイドル子プロセス最大値 StartServers 16 起動時の プロセスの 起動時の子プロセスの数 ServerLimit 32 プロセス数全体の プロセス数全体の上限値 数全体 MaxClients 31 応答可能なプロセス数 応答可能なプロセス数の上限値 MaxRequestsPerChild 0 1プロセスが扱うリクエストの プロセスが リクエストの 上限値 Gangliaの統計 Apache Copyright ? KLab Inc. All rights reserved. Backend Report 18
20.
サーバ:笔补驳别痴颈别飞(笔痴)グラフ
サーバ WEBサーバ ( グラフ PVの算出 1. 負荷分散対象のWEBサーバからログデータ取得 2. 時系列にマージ + パースして算出? 手間がかかる 手間がかかる たいときに即見 即見えない PVを見たいときに即見えない Apache のログ出力にはパイプ処理可能 リアルタイムにログをプログラムに渡して処理 Copyright ? KLab Inc. All rights reserved. 19
21.
サーバ:统计
サーバ 統計グラフ WEBサーバ 統計グラフ PHPで処理したレスポンスタイム 処理したレスポンスタイム した カスタムログの設定(backend のログ出力) バックエンド: Virtual Server Context CustomLog “|measure-prog “%{%H:%M:%S}t %>s %D” Copyright ? KLab Inc. All rights reserved. 20
22.
次からDBサーバ Copyright ? KLab
Inc. All rights reserved. 21
23.
サーバ:コネクション
サーバ コネクションの DBサーバ コネクションの扱い方 DBサーバのコネクションのはりかた 1. WEBサーバからコネクションはりっぱなし 2. WEBサーバから必要に応じてコネクション切断 必要に じてコネクション 必要に応じてコネクション コネクションはりっぱなし例 コネクションはりっぱなし例 はりっぱなし 切断する する例 を切断する例 DBサーバ WEBサーバ Copyright ? KLab Inc. All rights reserved. 22
24.
サーバ:必要
サーバ 必要に じてコネクション コネクションの DBサーバ 必要に応じてコネクションの切断 WEBサーバからコネクションはりっぱなし 1. メリット:コネクションを接続するオーバヘッド存 在なし 2. デメリット:コネクションの個数がWEBサーバのプ ロセス数に依存 WEBサーバから必要に応じてコネクション切 断 1. メリット:コネクションを接続するオーバヘッド 2. デメリット:WEBサーバのプロセス数に非依存 DSASの場合は「2」 場合は 必要に じてコネクション コネクション切断 必要に応じてコネクション切断 Copyright ? KLab Inc. All rights reserved. 23
25.
サーバ:可能であればオンメモリ
サーバ 可能であればオンメモリで DBサーバ 可能であればオンメモリで MySQLのメモリの扱い方 利用するバッファ領域 グローバルバッファ スレッドバッファ(コネクション) 利用するメモリ 利用するメモリ= する グローバルバッファ コネクション数 + スレッドバッファ x コネクション数 コネクションをはりっぱなしの場合 コネクションをはりっぱなしの場合 をはりっぱなしの コネクション数 コネクション数=WEBサーバのプロセス数 サーバのプロセス数 サーバを増設すると もしWEB サーバを増設すると つに使用できるメモリ 使用できるメモリ量 コネクション1つに使用できるメモリ量が制限24 Copyright ? KLab Inc. All rights reserved.
26.
サーバ:各种统计情报
DBサーバ 各種統計情報 サーバ 内部クエリの識別と 内部クエリの識別と数 クエリ キャッシュのヒット率 キャッシュのヒット率 Copyright ? KLab Inc. All rights reserved. 25
27.
まとめ
ネットワークブートは便利 用途に分けてイメージを変更することが可能 WEBサーバ Apache は二段構成 DBサーバ Connection の考え方 可視化情報重要 Copyright ? KLab Inc. All rights reserved. 26
Editor's Notes
#4:
人工衛星から DSAS をみるとこんな感じになります。 DSAS の内部は大きく2つに分類できます。 外部からのリクエストに対して応答する「フロントエンドサービス向け」のサーバ群と 内部用のサービスを提供する「バックエンドサービス向け」のサーバ群です ここでは、「フロントエンドサービス向け」のサーバ群の特徴についてお話したいと思います。
#5:
人工衛星から DSAS をみるとこんな感じになります。 DSAS の内部は大きく2つに分類できます。 外部からのリクエストに対して応答する「フロントエンドサービス向け」のサーバ群と 内部用のサービスを提供する「バックエンドサービス向け」のサーバ群です ここでは、「フロントエンドサービス向け」のサーバ群の特徴についてお話したいと思います。
#16:
人工衛星から DSAS をみるとこんな感じになります。 DSAS の内部は大きく2つに分類できます。 外部からのリクエストに対して応答する「フロントエンドサービス向け」のサーバ群と 内部用のサービスを提供する「バックエンドサービス向け」のサーバ群です ここでは、「フロントエンドサービス向け」のサーバ群の特徴についてお話したいと思います。
Download