TOP /  運用管理/運用自動化 /  「Webシステムにおける性能問題の原因調査」の難しさと、その対策について

「Webシステムにおける性能問題の原因調査」の難しさと、その対策について | 運用管理/運用自動化

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該イベントの主催・共催・協賛・講演企業とも共有させていただき、 当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

メールアドレス


法人様向けの資料のため、フリーアドレスをご利用の場合は、会社名、お名前を入力してください。
会社名
お名前

なぜ、Webシステムの性能問題の原因調査は難しいのか?  (株式会社ジェニファーソフト 呉(オ))

講演資料を見るには、 プライバシーポリシーに同意して、送付先メールアドレスをご入力しご請求ください。

またご入力いただきました情報は、当該イベントの主催・共催・協賛・講演企業とも共有させていただき、 当社及び各社のサービス、製品、セミナー、イベントなどのご案内に使用させていただきます。

メールアドレス


法人様向けの資料のため、フリーアドレスをご利用の場合は、会社名、お名前を入力してください。
会社名
お名前

セミナー全体の評価と、参加者からのコメント

参加者によるこのセミナーの評価は、
3.8 でした!(5点満点中)
セミナー名 「Webシステムにおける性能問題の原因調査」の難しさと、その対策について
講演企業 株式会社ジェニファーソフト 、株式会社ジェニファーソフト
開催日 2019年09月18日
匿名の参加者
コメントなし
匿名の参加者
なし
匿名の参加者
コメントなし
匿名の参加者
コメントなし
匿名の参加者
コメントなし
匿名の参加者
コメントなし
匿名の参加者
コメントなし
匿名の参加者
コメントなし
匿名の参加者
コメントなし
匿名の参加者
コメントなし
匿名の参加者
受付の対応がていねいで良かったです。
匿名の参加者
コメントなし

「Webシステムにおける性能問題の
原因調査」の難しさと、その対策について
株式会社ジェニファーソフト
呉(オ)
なぜ、Webシステムの性能問題の原因調査は難しいのか?
システムの複雑化
(技術の高度化)
ユーザより先に性能遅延の
検知が難しい(時間)
障害原因の調査に必要な情報整理に
手間と工数がかかる(コスト)
システム全体を見通すスキルを
持ったメンバーが少ない(人)
コミュニケーションが難しい(情報)
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
性能悪化~プログラムボトルネック判明 までの手順
【分析・チューニングフロー(現行)】
SEの
熟練と勘
が必要
性能悪化
ボトルネックと「思しき」
プログラム・処理に、
LOGへのタイムスタンプ
出力等の処理追加
現象再現テスト
現象再現テスト
現象再現成功?


コードまでの絞込み完了?
所要時間 数日~数週間




最悪の場合、
再現性が確認できず
「対策見送り(現象再現待ち)」
悪化原因?
ボトルネック判明
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
現象発生時の環境を準備
・インフラ
・プログラム
・データ
・・・etc
アプリケーション性能とリソース(1/2)
サービスは多数の内部/外部のリソースを使用しながらサービスを行う
アプリケーションのサービスが必要とするリソースの中で一つでも不足すると、
サービスを実行することはできない
アプリケーション
KokyakuSearch.jsp
Select *
from kokyaku
‘イチロ’;
Where name like ‘イチロ’;
イチロ
イチロ
確認
DB
イチロ
年齢 20
会社員
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
アプリケーション性能とリソース(2/2)
アプリケーションは物理的なリソースを直接使用することができない
アプリケーションの性能は多数のH/WおよびS/Wのリソースによって決定される
KokyakuSearch.jsp

アプリケーション>


Session
Thread Pool
DataSource
Heap Mem java.net.* Thread
Process Disk Cache Socket API

Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
アプリケーション性能とリソースの区分
サービスのリリース後、徐々に論理的リソースと外部リソースが複雑化する
フレームワーク Sync block
Code
Cache
Connection Pool
論理的
同じプロセス上で
APサーバ
APサーバ
Data Source
Thread Pool
Mail
内部的に管理
EJB Pool
リソース
Http Session
LDAP
されるリソース
JVM
Thread
Heap Memory
DB
OS
サーバプロセスに
直接的に影響を
与えるH/W
H/Wまたは
与えるH/Wまたは
O/Sのリソース
O/Sのリソース
Disk Buffer
Socket
File Cache
IPC
CICS
他システム
物理的
H/W
LAN
Memory
Disk
CPU
リソース
システムに存在するすべてのリソースを 外部
内部
連携されるすべての
リストアップすることは現実的に不可能
外部システム(H/W)リソース
外部システム(H/W)リソース
(H/W)
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
リソースモニタリングの限界
1.システム内に存在するすべてのリソースを測定することはできない
Thread Pool
Sync Block
Socket
Connection Pool
FILE I/O
リソース
R1 R2 R..
A1 O O X
A2 X O O
A.. X O X
リソース使用量だけでアプリケーションの
An O
性能低下を分析することは難しいX O
2.定義したN個のサービスと
指定したM個のリソース間の
定量化されたマッチングはできない
Rm
X
O
O
O
3.リソースモニタリングでは100%を超えると、リクエストを測定することはできない
CPU使用量は100%を超える
ことはできない
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
リソースとサービス応答時間
リソースの不足はリソース使用量より
サービスの応答時間をモニタリングすることが効果的
A4 A3 A2
A1
リソース
応答
R1
使用量
時間
R2
R3
R4
人002
人001 人05
リクエスト
リクエスト
人002
人002
人002
人002
人001 人05
人001 人05
人001 人05
人001 人05
応答時間をモニタリングする方法がリソース問題解決のために重要
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
リソースとサービス応答時間
アプリケーションをグルーピングされた平均応答時間より、
トランザクション単位の応答時間をモニタリング
性能問題を検知する
ことができない
応答
時間
G1
G3
G2
G4
G5
時間
グルーピングされた平均応答時間
例:Ap1(1秒)とAp2(10秒)が同じグループの場合、
Ap2が呼び出されるとグループの平均応答時間は急増する
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
効果的なサービス&リソースモニタリング方法
リクエストごと(単位)に応答時間をモニタリング
応答時間を基準に監視可能なリソースの使用量をモニタリング
APサーバ
APサーバ
スレッドプール
Sync Block
ファイルI/O
ファイルI/O
ソケット
コネクションプール
各リクエストの応答時間
データベース
CPU,MEM,DISK…
Code Cache
サービス
スレッド
Heap, Stack
外部システム
リソースA
リソースA
リソースB
リソースB
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
リソースC
リソースC
リソース..
リソース..
Webシステムの今が見える
JENNIFER
このようなご要望はありませんか?
Webサイトの異発が発生したとき、
すぐ原因を分析したい
Webアプリケーションの
稼動状況を把握したい
Webアプリケーショントラブル時の
対処時間を短くしたい
目で見て分かる
誰でもわかる情報が欲しい
開発側と運用側の明確な
コミュニケーションを実現したい
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
モニタリング製品
APサーバ
Firewall
L4
IDS
ユーザ応答時間分析ツール
Oracle Sybase DB2 MSSQL
DBモニタリングツール
Apache
プロファイリングツール
Webログ分析ツール
TUXEDO CICS(M/F)
ネットワークパケット分析ツール
NMS
Tuxedoモニタリグツール
SMS
Mail
EMS
LDAP
SSO
ITSM
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFERの導入効果
- すべてのトランザクションをリアルタイムに監視
- トラブル時の対処時間を短縮(迅速なトラブルシューティング)
問題アプリケーションの動きがソースレベルまで確認(クラス、SQL、パラメータ含む)
-
- トラブル予測、それに対する対策を事前に行う・プロアクティブ通知(自動化、分析)
- ビジネストランザクション監視(処理別監視、分析)
- 開発チームと運用チーム間の明確なコミュニケーション実現


同時端末ユーザ数
アクティブユーザ数
ユーザ体感応答時間

サービス応答時間 エラー・例外検知 CPU,MEM
トランザクションの システム障害検知 ディスク使用量
監視・分析
トランザクション推移
サービスプロファイル
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
キャパシティプランニング
JENNIFERの主要機能
リアルタイム総合性能モニタリング
APサーバ障害診断/性能低下原因分析/迅速な障害原因分析
サービス急増時、自動負荷制御(PLC)
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
リアルタイム総合性能モニタリング
ひとつの画面でシステムの全体的な状況をモニタリング可能
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
特定画面をフォーカス
(例:アクティブサービスの画面をズームアップで内容確認)
特定のアクティブサービス数及びサービス経過時間を色(4種類)で、直感的に判断できるリアルタイムグラフを表示します。
をダブルクリックするとトランザクションの情報リストが表示され、さらに詳細を
ドリルダウン
ダブルクリック!
さらにクリック!
IP、経過時間、SQL実行時間、
CPU使用量、プログラム名など
実行中のクラス、メソッド
スタックトレース情報など
詳細情報が確認できる
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
APサーバ障害診断、性能低下原因分析と障害原因分析
-全トランザクションが俯瞰できるX-VIEW
-マウスで選択したトランザクションの詳細が診れる
-ボトルネック(X-VIEWの上位に位置、固まり)を直感的に判断
選択されたトランザクションの
情報リストが表示
遅いトランザクションを選択!
X-VIEW




Client IP
SQLクエリ実行時間
経過CPU時間
プログラム名

1
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
詳細情報





クラス/メソッドプロファイル
詳細SQLクエリ実行情報
経過時間
CPU使用時間
エラー情報

APサーバ障害診断、性能低下原因分析と障害原因分析
例:ボトルネック(X-VIEWの上位に位置、固まり)を直感的に判断
個別トランザクションを統計概念ではなく、分布概念で表現し直感的、効果的に確認、分析
X-VIEW
X-VIEW
例:データベースロックの場合
X-VIEW
X-VIEW
X-VIEW
例:リソース不足による
タイムアウトの場合
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
APサーバ障害診断、性能低下原因分析と障害原因分析
日時指定で、過去のトランザクションが俯瞰できるX-VIEW
日時設定
対象設定
条件
時間
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
サービス急増時の自動負荷制御(Peak Load Control)
負荷が急増したとき、
ピーク負荷制御(PLC)により
設定された閾値を超えずに、
システムダウンしない状態で
徐々にサービスを安定化
PLC作動
優先度高
拒否
優先度中
Webサーバ
設定された数値の範囲で許容
APサーバ
拒否
アクティブ サービス
優先度低
Sorryページへ
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
サービス急増時の自動負荷制御(Peak Load Control)
クレジットカード会社の
新規加入キャンペーンのときに、
アクセスが急増したときの例
PLC作動
優先度高
①新規加入→
拒否
②ポイント検索↓
③新規加入→
優先度中
Webサーバ
設定された数値の範囲で許容
④ポイント検索↓
APサーバ
拒否
⑤新規加入→
優先度低
アクティブサービス
Sorryページへ
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFERのシステム構成
JENNIFERエージェント
APサーバ
モニタリング対象のシステムサーバにインストール
して各性能情報をJENNIFERデータサーバに転送
JENNIFER
JENNIFERデータサーバ
データサーバ
JENNIFERエージェントからのリアルタイム・データ
APサーバ
を収集記録し、そのデータを蓄積
JENNIFERビューサーバ
JENNIFERデータサーバからデータを基に
各システムをモニタリング
APサーバ
JENNIFER
JENNIFERコンソール
ビューサーバ
JENNIFERサーバからの情報をウェブブラウザ(Chrome)
で表示
JENNIFERエージェント
JENNIFERサーバの推奨スペック (Tr量、保存期間による)
Windows Server 2003もOK
UNIX, Linux ※OSの種別を問わず
メモリ: 8GB以上
CPU : 2GHz以上,2Core以上
JENNIFERコンソール
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFERの特徴
わかり易い
リアルタイムアプリケーション状況を一目で確認できる(数字、色)
遅いトランザクションが見える(上(遅い)、下(早い))
過去データもクリック2、3回で確認可能
誰でも使える
トレーニング不要
クリックだけでコミュニケーション
情報及び状況の共有による、円滑なコミュニケーション
早い
個別トランザクションが特定可能
1分でソースコードレベルまでドリルダウン
ソースコードレベルまで掲示板登録 ⇒ 明確なコミュニケーション
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFERの活用





DevOps
アジャイル開発(CI/CD※)
マイクロサービス
コンテナ環境
クラウド・マイグレーション(移行前 & 移行中 & 移行後)
※CI(Continuous Integration:継続的インテグレーション)
CD(Continuous Delivery:継続的デリバリー)
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFERの導入効果
開発・テストフェーズ:性能を実現し、検証する
作業者のスキルに依存しない品質の向上と均一化(品質管理)
開発・テストのコスト削減(効果的なテスト)
開発・テスト中のノウハウや成果物を運用時の性能管理に活用
運用からの障害対応を迅速化する
運用フェーズ:性能の変動を監視し、一定の品質として維持・管理する
プロアクティブな管理を実現・性能障害の発生を防止
開発への障害対応を迅速化する
要望や障害の情報を一元管理し共有する
運用から開発へ作業改善要望を伝える(明確なコミュニケーション)
情報および状況を共有・迅速に問題を解決
開発チームと運用チームの共有化による継続的な性能管理
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFERの導入効果(情報、状況の共有)
3部門が一丸となってシステムを継続的に改善
開発チーム
開発・テスト
運用チーム
情報共有
本番運用
分析、確認、
修正
リアルタイム
把握・分析
分析、確認
テストチーム
負荷テスト
可視化・情報及び状況の共有による明確なコミュニケーション
迅速な問題解決、障害防止、コスト削減
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
性能悪化~プログラムボトルネック判明 までの手順
JENNIFERがないと・・・(従来の手法)
SEの
熟練と勘
が必要
性能悪化
ボトルネックと「思しき」
プログラム・処理に、
LOGへのタイムスタンプ
出力等の処理追加
現象再現テスト
現象再現テスト
現象再現成功?


コードまでの絞込み完了?
所要時間 数日~数週間




最悪の場合、
再現性が確認できず
「対策見送り(現象再現待ち)」
悪化原因?
ボトルネック判明
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
現象発生時の環境を準備
・インフラ
・プログラム
・データ
・・・etc
性能悪化~プログラムボトルネック判明 までの手順
JENNIFERの効果
性能悪化
開発知識
必要無し
特徴①
常駐プロセスが
現象をレコーディング済み

現象発生時のモニタを
現象再現テスト
再生するだけ
現象再現成功?
ボトルネックと「思しき」
プログラム・処理に、
LOGへのタイムスタンプ
出力等の処理追加
発生現象から
マウス操作でドリルダウン

現象再現テスト
ボトルネックの
悪化原因?
ソース※まで到達
確実に
現象確認
所要時間 5~10分
原因の絞込みが必要?
※Java Full StackTrace等
ボトルネック判明
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
現象発生時の環境を準備
・インフラ
・プログラム
・データ
・・・etc
特徴②+③
JENNIFERのフロントエンドモニタリング
ブラウザ
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
ネットワーク
サーバ
フロントエンドの性能低下の主な原因
AJAX(Asynchronous JavaScript + XML)
- Webプラットフォームで最も多いI/O作業
リソース
- CSS、JavaScript、イメージ、フォントなどのリソースのダウンロード性能
ブラウザ
- 多様なブラウザとデバイス環境
JavaScriptエラー
- JavaScript関連エラー
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFER Frontダッシュボード
【 リアルタイムダッシュボード 】
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFER Frontダッシュボード
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFER Front統計データ
-
-
-
-
-
AJAX情報
リソース情報
ブラウザ情報
JavaScriptエラー情報
ユーザ情報
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFER Front統計ダッシュボード
ユーザ情報
ユーザのブラウザ、IP、地域などの関連情報
ユーザの画面フロー
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFER Front統計ダッシュボード
地域別ユーザの利用情報
ユーザがアクセスした地域毎の利用状況関連情報
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFER Frontの特長
- リアルタイムでユーザの体感応答時間を可視化
- ユーザの利用状況を分析
- ユーザ別、ブラウサ別、地域別に分析
- 全てのページ読み込み時間を可視化
- 全てのアプリケーション関連を可視化(JENNIFERとの連携)
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
JENNIFER Frontの活用
- お客様のWebサービスを構成する外部サーバの応答性能をモニタリング可能
例えば、Facebookまたはグーグルなどから提供されているリソースまたは
ライブラリーを使用またはCDNサービスを利用する場合、
お客様のサーバ以外で発生するWebサービスの障害を検知可能
- Webサービス訪問ユーザの訪問周期またはその特徴を確認可能
- Webサービス訪問ユーザのIDからお客様を特定し、
そのユーザの応答性能の分析および滞在時間、訪問履歴を確認可能
- 訪問ユーザのデバイスとブラウザの特性を確認可能
- Webサービスの読み込み時間を時系列データで分析してWebサービスの
障害状況を確認可能
Copyright 2005-2019 JenniferSoft, Inc. All rights reserved
ご清聴ありがとうございました。
営業/ビジネス問い合わせ
sales.jp@jennifersoft.com
技術問い合わせ
tech.jp@jennifersoft.com

他のカテゴリから探す

IT業界の改革にご協力いただけませんか?

本サイトは、株式会社オープンソース活用研究所がプロデュースする、中小IT企業による”本気”の情報提供セミナー「マジセミ」の結果レポートページです。「マジセミ」は、次を目的として活動しています。

我々はITエンジニアが、今よりももっと「誇り」と「喜び」をもって仕事をし、今よりももっと企業や社会に貢献できる、そんなIT業界を創りたいと考えています。

そのためには、技術をもった中小のIT企業がもっと元気になる必要がある。その為には、技術をもった中小のIT企業を、もっと皆様に知って頂く必要がある、と考えました。

株式会社オープンソース活用研究所
代表取締役所長 寺田雄一

本当かウソか、あなたが見極めてください。

もし、我々のこの活動にご賛同していただけるのであれば、ぜひ下のセミナーに参加してください。

「なんだ、結局ただの売り込みセミナーじゃないか」

もしそう感じたら、アンケートなり、あなたのFacebookなりに、そのままお書き頂き、拡散して頂いて構いません。

参加者からのお褒めの言葉、お叱りの言葉が、我々中小IT企業を成長させ、それが日本のIT業界を変えていくのだと、強く確信しています。

あなたの行動が、日本のIT業界を変えるのです。

「マジセミ」のFacebookページ

今後のセミナー情報などを提供させていただきたますので、「マジセミ」のFacebookページに「いいね!」をお願いします。

日本のIT業界を変えるためのアクション、ありがとうございました!

関連するセミナーの講演資料
Kubernetesの設定は超大変、AIOpsで自動的にチューニングするツールの紹介 ~日本におけるビジネスパートナーを募集~ クラウドネイティブな時代のAWSの運用管理と、ベトナムオフショアでのAWSアプリ開発 ~サーバーレスで溢れ出した運用管理の課題と対策~ 「Webシステムにおける性能問題の原因調査」の難しさと、その対策について 失敗例から見る、JUnitによる単体テストの課題と、工数削減の方法~Jtestとは~ B2C、B2B向けWebサービスにおける認証基盤のあり方 ~便利と安全を両立させる認証・認可と、その最新技術~ OSSの監視ツール、本当にZabbixだけでよいのか? ~CactiやIcinga2など、他のOSS監視ツールが適しているケースとは~ RPAだけでは自動化できない業務を、どう効率化すればよいのか? ~Robochestrationという考え方について~ システム運用の効率化と、Zabbixによるクラウド環境、コンテナ環境の監視 【大阪開催】情シスアンケートから見たワークフロー製品の課題解説と、ワークフロー製品リプレースのポイント ~「2重入力」「連携できない」を解決する方法/他社製品からの移行ポイント~ 稼働管理超過で失敗しない、Redmineによるプロジェクト管理方法とは ~Redmineに、グローバル・ガントチャートや稼働時間管理の機能を追加~