GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance)...

20
過負荷に耐えるサーバ選択機構 卒業論文審査発表資料 卒業論文審査 発表資料 201123後藤研究室 1G03R1348 戸田 龍 2011231 卒業論文審査・発表資料

Transcript of GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance)...

Page 1: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

過負荷に耐えるサーバ選択機構

卒業論文審査・発表資料卒業論文審査 発表資料

2011年2月3日

後藤研究室 1G03R134‐8 戸田 龍

2011年2月3日 1卒業論文審査・発表資料

Page 2: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

研究背景研究背景• クライアント・サーバシステム一般においてクライアント サ バシステム 般において

サーバに過負荷がかかれば可用性が損なわれる

クライアントがサーバの可用性を知る手段が少ないクライアントがサ バの可用性を知る手段が少ない

反応がないから過負荷!

反応がないから、リトライしようか?

サーバ (群)クライアント (群) サ バ (群)

2011年2月3日 卒業論文審査・発表資料 2

クライアント (群)

Page 3: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

研究目的研究目的

• クライアント・サーバシステムにおいて

サーバの可用性を可能な限り保ち、

サーバが可用でない場合はクライアントにそれを知らせる用 場 ラ そ を

手法の提案をし、その有効性の検証をする。

2011年2月3日 卒業論文審査・発表資料 3

Page 4: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

提案手法提案手法

過負荷!割当サーバ

ビ 提供

過負荷!

バックエンドサーバ (群)

サービス提供

クライアント (群)予備サーバ

2011年2月3日 卒業論文審査・発表資料 4

Page 5: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

仮想環境における実証実験仮想環境における実証実験

DNS サーバDNS サーバ(割当サーバ)

Web サ バ

過負荷!

Web サーバ(バックエンドサーバ)

クライアント (群) 兼予備 Web サーバ

仮想スイッチ

空 (0 B)フ イル

10 MBフ イルファイル ファイル

仮想クライアント数N = {10, 20, 30, 40, 50}

で約 300 秒間、負荷をかける

2011年2月3日 卒業論文審査・発表資料 5

Page 6: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

実験結果の概要実験結果の概要

N ( = クライアント数) 10 20 30 40 50

手法 単純 提案 単純 提案 単純 提案 単純 提案 単純 提案

ダウ ド成功数 (回)ダウンロード成功数 (回) 130 5498 141 5488 123 4443 112 6164 - 3939

ダウンロード失敗数 (回) 0 0 0 0 0 0 2 0 - 0

10MB ファイル DL 数 (回) 130 128 141 141 123 145 110 147 - 120

プ 秒スループット (MB/秒) 4.33 4.27 4.70 4.70 4.10 4.83 3.67 4.90 - 4.00

平均応答時間1(秒) 0.74 0.98 1.02 1.52 1.84 1.97 4.69 2.38 - 4.05

平均応答時間2(秒) 0.74 0.06 1.02 0.06 1.84 0.10 4.69 0.12 - 0.18

平均完了時間1(秒) 23.40 22.44 44.11 43.89 81.46 67.08 134.59 88.37 - 147.26

平均完了時間2(秒) 23.40 0.55 44.11 1.15 81.46 2.23 134.59 2.17 - 4.54

※ 平均応答/完了時間1はファイルのダウンロード成功時の平均応答/完了時間

※ 平均応答/完了時間2は全体の (空ファイルダウンロード時も含めた) 平均応答/完了時間※ クライアント数50・単純方式のデータは途中までしか取れなかったので省略

2011年2月3日 6卒業論文審査・発表資料

Page 7: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

まとめまとめ

• 提案手法により、ある程度の負荷下ではサーバの可用性が向上し、かつ可用ではない場合はそれを速やか ク イ 伝えられる とを確認 た速やかにクライアントに伝えられることを確認した

2011年2月3日 卒業論文審査・発表資料 7

Page 8: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

今後の課題今後の課題

• 様々な実環境下での実証実験• 様々な実環境下での実証実験

• より良い負荷判定方法の検討

2011年2月3日 卒業論文審査・発表資料 8

Page 9: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

ご清聴ありがとうございましたご清聴ありがとうございました

2011年2月3日 卒業論文審査・発表資料 9

Page 10: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

実験環境 (仮想環境)実験環境 (仮想環境)仮想スイッチ

10 b b10 b b

クライアント (群) 兼予備サーバ

Web サーバDNSサーバ(Balance)

DNSサーバ(Bind9)

10mb.bmp(10 MB)

10mb.bmp(0 B)

※ すべて CPU : 300MHz, RAM : 256MB, OS : Ubuntu 10.04 LTS Desktop

予備サ バ (Balance)(Bind9)

クライアント (群) 兼予備サーバ

• N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開し、 Web サーバ上の 10 MB のファイル DL を試みる

備 バ ダ を く• 予備サーバには 0 B のダミーファイルを置いておく

DNS サーバ • 実験の便宜上 Bind9 から Balance へ転送する設定

Web サーバ • 10 MB のファイルがある普通の apache サーバ

2010.11.16 卒論進捗報告 10

Web サ バ • 10 MB のファイルがある普通の apache サ バ

Page 11: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

実験環境の補足実験環境の補足

SIEGE (クライアント)• SIEGE (クライアント)– http://www.joedog.org/index/siege‐home– フリーの負荷テストツールフリ の負荷テストツ ル– クライアント数 : N = {10, 20, 30, 40, 50}– ramp‐up : 0 秒– delay : 0 秒

• Bind9 (DNS サーバ)– http://www.isc.org/software/bind

• Balance (DNS サーバ)http //openlab ring gr jp/dns balance/dns balance html– http://openlab.ring.gr.jp/dns_balance/dns_balance.html

– 本実験ではこれを改修して「割当サーバ」にした

2011年2月3日 卒業論文審査・発表資料 11

Page 12: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

実験の補足実験の補足

仕事要求間隔 更新間隔• 仕事要求間隔、更新間隔– それぞれ 1 秒とした

負荷判定の方法• 負荷判定の方法– vmstats の「実行待ちプロセス数」と「I/O 待ちプロセス

数」のどちらかが 5 以上のとき過負荷とした数」のどちらかが 5 以上のとき過負荷とした– 仮想環境のせいか CPU 使用率はとれなかった– TCP/IP コネクション数も検討したが、サーバでこなすTCP/IP  ネクション数も検討したが、サ で なす

仕事の量によって変わってしまうので却下した

• 単純な手法、N=50 のときのデータ– 何度やってもクライアントが突然強制終了– データは状況証拠的には完全な物だったが…

2011年2月3日 卒業論文審査・発表資料 12

Page 13: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

DL 所要時間分布 (N=10 の場合)DL 所要時間分布 (N=10 の場合)

0.8

0.9

1

0 5

0.6

0.7確率分布関

0.3

0.4

0.5関数

P(

単純

提案

0

0.1

0.2t)

0

0 5 10 15 20 25 30 35 40 45

所要時間 t (秒)

2011年2月3日 卒業論文審査・発表資料 13

Page 14: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

DL 所要時間分布 (N=20 の場合)DL 所要時間分布 (N=20 の場合)

0.8

0.9

1

0 5

0.6

0.7確率分布関

0.3

0.4

0.5関数

P(

単純

提案

0

0.1

0.2t)

0

0 10 20 30 40 50 60 70 80

所要時間 t (秒)

2011年2月3日 卒業論文審査・発表資料 14

Page 15: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

DL 所要時間分布 (N=30 の場合)DL 所要時間分布 (N=30 の場合)

0.8

0.9

1

0 5

0.6

0.7確率分布関

0.3

0.4

0.5関数

P(

単純

提案

0

0.1

0.2t)

0

0 20 40 60 80 100 120 140

所要時間 t (秒)

2011年2月3日 卒業論文審査・発表資料 15

Page 16: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

DL 所要時間分布 (N=40 の場合)DL 所要時間分布 (N=40 の場合)

0.8

0.9

1

0 5

0.6

0.7確率分布関

0.3

0.4

0.5関数

P(

単純

提案

0

0.1

0.2t)

0

0 50 100 150 200 250

所要時間 t (秒)

2011年2月3日 卒業論文審査・発表資料 16

Page 17: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

DL 所要時間分布 (N=50 の場合)DL 所要時間分布 (N=50 の場合)

0.8

0.9

1

0 5

0.6

0.7確率分布関

0.3

0.4

0.5関数

p(

提案

0

0.1

0.2t)

0

0 50 100 150 200 250 300

所要時間 t (秒)

2011年2月3日 卒業論文審査・発表資料 17

Page 18: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

Web サーバの仕事要求状況

00:00 (04:59) 00:00 (04:59)

仕事要求状況(図は提案手法 N=40 の場合)

00:30

01:0004:00

04:30

( )

00:30

01 0004 00

04:30

01:00

01:3003:30

04:00 01:00

01:3003:30

04:00

01:30

02:0003:00

03:30 01:30

02:0003:00

03:30

02:30 02:30

仕事要求の判定を出来なかった時間帯 結果的に仕事要求をしなかった時間帯

「負荷が高く、判定をできなかった時間帯」 左のグラフ + 「負荷判定をして仕事要求をしなか た時間帯

2011年2月3日 卒業論文審査・発表資料 18

をしなかった時間帯」

Page 19: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

まとめまとめ

• 提案手法によりサーバの可用性が向上し、かつ可用ではない場合はそれを速やかにクライアントに伝えられる とを確認 たえられることを確認した

• 提案手法では、負荷による動作の遅延が、更なる負荷の増加を防ぐ役割を果たすことがわかった荷の増加を防ぐ役割を果たす とがわかった

2011年2月3日 卒業論文審査・発表資料 19

Page 20: GOTO Laboratory - 過負荷に耐えるサーバ選択機構...サバ (Bind9)(Balance) クライアント(群) 兼 予備サーバ • N = {10, 20, 30, 40, 50} 個の仮想クライアントを展開

言葉言葉

性• 可用性 = availability

• 可用である = (be) available可用である  (be) available

• 可用ではない = (be) unavailable

2011年2月3日 卒業論文審査・発表資料 20