小樽情報技術勉強会11

Download Report

Transcript 小樽情報技術勉強会11

2
初参加の人
情報処理の
初学者
3
はじめに
背景
目標
設定
本編
まとめ
前回のおさらい
ネットワークの基礎
WEBサーバーの構築
4
地方都市における
「ホームページ」の意義
「ホームページ」は
見てもらわなくては
意味が無い
はじめに
背景
目標
設定
本編
まとめ
5
ポータルサイト(Portal Site)
• インターネットの玄関口
地域ポータルサイト
• 地域情報の発着信港
検索エンジン
• 入口から中への水先案内人の役割
• ポータルサイトにおけるサービスの1つ
はじめに
背景
目標
設定
本編
まとめ
6
全体目標
• 「小樽版地域ポータル」を
構築する
• それに伴う技術や知識を学ぶ
はじめに
背景
目標
設定
本編
まとめ
7
1~3月
10~12月
4~6月
7~9月
• 外部連携
1月:概論
• 検索
エンジン
4月:概論
7月:概論
2月:情報発信
5月:検索技術
8月:ブログと連携 11月:ネットワーク
3月:端末本体
6月:構築
9月:アプリと連携 12月:大規模化
• デジタル
サイネージ
はじめに
背景
目標
設定
本編
• システム
基盤
10月:概論
まとめ
8
前回のおさらい
ネットワークの基礎を理解する
WEBサーバーの構築方法を知る
はじめに
背景
目標
設定
本編
まとめ
9
 当勉強会主導で開発してきました
検索エンジンが、小樽観光協会の
新ホームページのデータベース機能として
採用されました!!
小樽観光協会公式ウェブサイト
http://otaru.gr.jp/
10
前回のおさらい
ネットワークの基礎
WEBサーバーの構築
はじめに
背景
目標
設定
本編
まとめ
11
稼働するシステムの数字
 稼働率

故障せずに正常稼働している割合
 信頼性設計

稼働率を向上させる設計
 利用率

実際にサービス提供(照会・応答)している割合
 性能指標


サービスにかかる時間
単位時間あたりの処理量
12
稼働: T%
T
故障:
R%
R
100%
13
稼働: 99%
T
故障:
1%
R
100時間⇒ 99時間 : 1時間
10時間⇒ 9時間54分 : 6分
14
年間停止時間
稼働率
99.9999%
99.999%
99.99%
99.9%
99%
動作不能時間
32秒
5分15秒
52分34秒
8時間46分
3日15時間36分
15
 2つのシステムが連続する場合・・・
システムA
稼働率99%
年間動作不能時間
4日 0時間16分
システムB
稼働率99.9%
全体稼働率 = 稼働率A × 稼働率B
= 98.9% < 稼働率A < 稼働率B
16
 2つのシステムが協力する場合・・・
年間動作不能時間
5分15秒
システムA
稼働率99%
システムB
稼働率99.9%
全体稼働率 = 100% - 故障率A × 故障率B
= 100% - 1% × 0.1%
= 99.999% ≫ 稼働率B > 稼働率A
17
システムを直列に組み合せると稼働率は低下する
 システムを並列に組み合せると稼働率は向上する





「冗長化」と呼んだりする
高コストになりやすい
高度な構築スキルが不可欠
稼働率はSLA(Service Level
Agreement)の基準に利用
されたりする。
年間停止時間
稼働率
動作不能時間
99.9999%
32秒
99.999%
5分15秒
99.99%
52分34秒
99.9%
8時間46分
99%
3日15時間36分
18
 障害の分類と対応策(例)

ハードウェアの故障

設計ミス(プログラムバグも含む)
フォールトアボイダンス

高負荷~過負荷
フォールトアボイダンス
フェールソフト

人為的なもの
フォールトアボイダンス
フェールプルーフ
フォールトアボイダンス
フェールセーフ
フェールセーフ
19
 システム障害の主たる要因は過負荷
 運用開始以降の信頼性設計変更は困難
 データが蓄積されるにつれて負荷も増す
20
 ターンアラウンドタイム
 レスポンスタイム
スループット
||
単位時間あたりの処理量
時間
データ入力
I
処理
P
結果出力
O
レスポンスタイム
ターンアラウンドタイム
21
面積:スループット
体積:一定時間内
の処理量
高さ:
時間
22
面積:スループット
ボトルネックがあると、
スループットは激減する
23
障害発生時の記録
 復旧時間の記録


サーバーのログ
処理内容詳細
 処理時間


稼働率
ボトルネック
利用率
ハードウェアの利用率のグラフ


CPU ・メモリー
ディスク ・ ネットワーク
ボトルネック
キャパシティ
24
前回のおさらい
ネットワークの基礎
WEBサーバーの構築
はじめに
背景
目標
設定
本編
まとめ
25

インター +


ネット
インター(inter-): 際・境目
パソコン通信の時代、ネットは独立していた。
NIFTY SERVE
× PC-VAN
NIFTY SERVE
インターネット
社内LAN
パソコン通信
PC-VAN
26
Open Systems Interconnection Reference Model
レイヤー
OSI参照モデルでの名称
TCP/IPでの対応
第7層
アプリケーション層
第6層
プレゼンテーション層
第5層
セッション層
第4層
トランスポート層
トランスポート
例)TCP, UDP
第3層
ネットワーク層
インターネット
例)IP, ICMP, ARP, RARP
第2層
データリンク層
ネットワークインタフェース
例)PPP, Ethernet
第1層
物理層
ハードウェア
例)UTPケーブル
アプリケーション
例)HTTP, DNS, FTP
27

デファクトスタンダードの対義語

リファレンス実装・参照実装は概念や規格を実際
に実装して提供されるもの。

参照モデルは、概念を規格として整理したもの。


インタフェースは定義される
OSI参照モデルも対応する実装が非常に少ない。
28
 ネットワーク上での「通信」は、パケット
(=小包)と呼ばれる小さな単位で行われる。
 UDP


パケットをそのまま送信し、受信側でパケット番
号順に並べるプロトコル(規約)のこと。
リアルタイム性能に優れ、映像配信などに向く。
 TCP


到達確認付きのプロトコルのこと。
パケットロス(損失)に強く、信頼性が高い。
29
データ(ファイルなど)
分割
D1
D2
D3
D4
D5
D6
30
D1
D2
D3
D4
D5
D6
TCP/IPでの対応
レイヤ
Ethernet
ヘッダ
IP
ヘッダ
第4層
TCP
ヘッダ
D3
HTTP
ヘッダ
(D1のみ)
アプリケーション
例)HTTP, DNS, FTP
FCS
第3層
トランスポート
例)TCP, UDP
第2層
インターネット
例)IP, ICMP, ARP, RARP
第1層
第0層
ネットワークインタフェース
例)PPP, Ethernet
ハードウェア
例)UTPケーブル
31
 2つのホストを接続すること




NICとHUB(L1-L2)
PCとNIC(L2-L3)
PCとルーター(L3-L4)
WEBブラウザーとWEBサーバー(L4-L7)
 下位レイヤーでコネクションに失敗した場合


上位レイヤーでのコネクションは不可能
原因不明のエラーの場合は、下のレイヤーを確認
32
 回線交換方式


専有状態(他とのコネクションが困難)
交換するデータが単純
 パケット交換方式




共有状態
同時に複数ホストとコネクションを張れる
各種ヘッダ情報とセッション情報が必要
(語弊はあるが)インターネットは全てこちら側
33

TCP/IPを用いたアプリケーション




コネクション型プロトコル



送受信データは全てパケット
アプリケーションは、下位レイヤーのパケットを意識す
る必要は無い
「セッション」というより広域な概念が存在する
「セッション = コネクション」とするプロトコル
例)TELNET, FTP, POP3
コネクションレス型プロトコル


「セッション = 複数のコネクション」とするプロトコル
例)HTTP
34
一般的なHTTP 1.0の動作概要
接続処理
HTTP要求
HTTP応答
WEB
ブラウ
ザー
※ TCPのため、全ての矢印に
到着応答(ACK)が必要
切断処理
WEB
サーバー
接続処理
切断処理
問合せの度に
接続/切断を繰り返す
35
HTTP 1.1の場合の動作概要
接続処理
HTTP要求
HTTP応答
WEB
ブラウ
ザー
WEB
サーバー
切断処理
1回のコネクションで
複数回の問合せ処理に
対応する
36
セッションはさらに抽象度が高い
接続処理
HTTP要求(セッションオープン)
HTTP応答(OK)
クッキー
切断処理
WEB
サーバー
接続処理
…
WEB
ブラウ
ザー
セッション
HTTP要求(セッションクローズ)
HTTP応答(OK)
HTTP要求(普通の問合せ)
HTTP応答(普通の応答)
37
前回のおさらい
ネットワークの基礎
WEBサーバーの構築
はじめに
背景
目標
設定
本編
まとめ
38
初期化処理
入力有り?
ひとつのプロセスは同時に
ひとつのクライアントにしか
サービスを提供できない
N
Y
サービス提供
データ受信
39
同時に複数クライアントに
サービスを提供可能
扱いが非常に簡単
メモリーなどのリソースを
大量に消費する
プロセス間で情報を
共有することが難しい
ハードウェアをまたいで
分散可能
40
初期化処理
データ受信
同時に複数クライアントに
サービスを提供可能
扱いがかなり難しい
メモリーなどのリソースを
共有できる
N
入力有り?
Y
サービス提供
N
入力有り?
Y
サービス提供
入力有り?
Nプロセス間で情報を
共有することが可能
Y
複数のハードウェアで
サービス提供
分散することが難しい
41
アプリケーション
サーバー
PC
PC
PC
ROBOT
その他
WEB
サーバー
アプリケーション
サーバー
データベース
サーバー
アプリケーション
【課題】
サーバー稼働率の極大化
スループットの極大化
⇒ 利用率の低減
アプリケーション
サーバー
42
PC
アプリケーション
普通のアクセス
サーバー
PC
困ったアクセス
WEB
サーバー
ブラウザ側で待ちきれなかった
場合、別の画面に移動したり、
同じボタンを連打するため、
返ってきた応答が受け取られない
アプリケーション
サーバー
データベース
サーバー
非常に遅い処理があった場合
&
アプリケーションサーバーが
単一スレッドで稼働している場合
43
アプリケーション
サーバー
PC
PC
PC
ROBOT
待ち行列
キュー
その他Queue
WEB
サーバー
アプリケーション
サーバー
アプリケーション
サーバー
アプリケーション
サーバー
44
稼働率と
スループット
前回のおさらい
ネットワークの基礎を理解する
HTTPの基本動作
キューイング
WEBサーバーの構築方法を知る
ネットワーク
はじめに
背景
目標
設定
本編
まとめ
45

日時
12月19日(水) 18:30~
 (毎月第3or4水曜日と覚えましょう)


場所



会費



新倉屋 花園本店 2階多目的ホール
(ここと同じです)
勉強会 無料
懇親会 (未定)
講演者
絶賛募集中!
内容

システム基盤(大規模化)について
46