SlideShare a Scribd company logo
1 of 47
我流ミドルウェア性能・障害試験の心得
@GGLT vol.4 2017/12/9
株式会社Aiming Osakaスタジオ インフラチーム 菅野 明洋
自己紹介
• 名前
• 菅野明洋(すげの あきひろ)
• 所属
• 株式会社Aiming
インフラチーム
免責事項
• 本発表における見解は、
私自身の見解で行っております。
• 所属する会社、団体の見解を反映したものでは
ありませんので、ご了承ください。
内容の半分くらいは趣味です
第1章 はじめに
皆さん、ミドルウェア選定時に
どのように選んでますか?
ざっくりまとめてみた
• 欲しい機能がある
• 性能が高い
• 障害に強い
• 新しい(流行)
今回の対象
個人的には新しいとか今話題とか
勢いで導入するのも好きだけど
大型案件とかでは、
そのような博打はうてませんよね
途中で要件満たせずに
開発手戻りしたくない
コアな部分がダメだったら
ほとんど0から作り直し
リリース後に
ダメって気がついたら悲惨
サービスリリース後も
安心して寝たい
ということで
開発前にすることをまとめました
第2章 チェック項目
機能確認
• 開発予定のシステムに必要な機能があるか
• ミドルウェアを用いて工数が削減できるか
• etc(アプリケーションの要件次第)
性能要求1
• 負荷試験
• スループット
• どの程度捌けるか
• レイテンシ
• どの程度早く応答できるか
• ユーザビリティ
• 高負荷時のエンドユーザへの影響
性能要求2
• 信頼性
• 定められた仕事を果すこと
• 可用性
• 継続稼働出来ること
• 保守性
• 資源(ソフト・ハード両方)の保守が行われた際に機能を保持できること
• 保全性、整合性、統合性、一貫性
• システムやデータが無矛盾であること
• 機密性
• 不正アクセスがされにくいこと
運用要求
• バックアップ・リストア
• サーバの増減設
• 無停止で行けるかどうか
• 監視方法
• リソース・死活監視が可能かどうか
• 監視に必要な機能がない場合は自前で実装
つまり
速い
頑丈
便利
かどうか調べる
第3章 試験項目例
試験一覧
• 性能試験
• 限界性能試験
• 拡張限界性能試験
• シナリオ試験
• 障害性能試験
• サーバダウン試験
• フェイルオーバー試験
• 復旧試験
最小限界性能試験
• 最小構成での性能値
• スループットなどの性能の確認
• リソース監視も導入しハードウェアの負荷も計測
• 他の性能試験での基準値
• 例
• ゲームサーバの負荷試験をした際にも
ボトルネック調査の参考に出来る
拡張限界性能試験
• 台数に比例して性能向上するか?
• 台数に比例しない場合はボトルネックを確認
• 仕様上台数が増えても性能が向上しない実装もある
どのように実装すれば、効果的なのか性能特性も把握
シナリオ試験
• 良くあるゲームシステムに模した試験
• 様々な負荷のかけ方を織り交ぜる
• 得意なことと苦手なこととを把握
• 最適化方法の模索
ミドルウェア毎に得意なことは違うので性質を把握する
サーバダウン試験
• 意図的にサーバやミドルウェアを落とす
• 落ちた後にどのように破損するか確認
• 実際の物理障害などで起きる事柄を確認する
つまり、ノウハウの蓄積
フェイルオーバー試験
• 障害を発生させ切り替わるか確認
• 切り替わりまでの時間の確認
• データ破損の有無の確認
復旧試験
• 意図的にシステムを破損し復旧させる
• 障害の予行演習
• 事前にどこまで復旧できるか確認
障害試験おまけ
• 負荷試験ソフトウェアの処理ログから、
ミドルウェアのあるべき状態との差を確認
• 自作のツールで整合性をチェック
• どこまで正しく処理されたのか?
• データ巻き戻りが無いか?
• etc
第4章 おやくそく
おやくそく
• 基本的にデータを取る時は複数回取ること
• データのブレや偶然もあるため各項目10回以上
• 比較対象は基本的に条件を変えないこと
• 条件や構成が変わるとデータの意味が変わる
• システムは相乗りさせない
• 何が悪いのか判別しにくいため
第5章 試験中に見ること
全ての事象に理由を発見する
性能値の頭打ち
• 性能値の頭打ちはなぜ置きたのか?
• サーバの性能が足りない?
• CPU
• Memory
• Disk IO
• Network
台数を増やしても
線形に上昇しない
負荷試験クライアントの性能が
足りていないこともあるので注意
大体はリソース監視の
グラフを見ればわかる
例:とあるクラスタシステム
一台だけ通信量が倍
この試験では
1台のサーバに処理が集中して
台数に応じた性能が出なかった
何が言いたいかと言うと
意味も分からず
データだけ取っても意味が無い
個人的には出てきたデータに
考察と根拠を加えることが重要
また、一人で行うと思考が偏るため
客観視する人も居たほうが良い
これは全ての試験でも
言えると思います
ご静聴ありがとうございました

More Related Content

What's hot

DDDのすすめ
DDDのすすめDDDのすすめ
DDDのすすめRyo Amano
 
今どきのスマホゲーム開発 アジャイルテスト添え
今どきのスマホゲーム開発 アジャイルテスト添え今どきのスマホゲーム開発 アジャイルテスト添え
今どきのスマホゲーム開発 アジャイルテスト添えgree_tech
 
顧客価値って奥深いですね
顧客価値って奥深いですね顧客価値って奥深いですね
顧客価値って奥深いですねTakuya Kawabe
 
Umekita force 2014_0905_デブサミ関西2014コミュニティlt
Umekita force 2014_0905_デブサミ関西2014コミュニティltUmekita force 2014_0905_デブサミ関西2014コミュニティlt
Umekita force 2014_0905_デブサミ関西2014コミュニティltHideki Akizuki
 
ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証gree_tech
 
20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devlove20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devloveTakao Oyobe
 
老舗大企業からスタートアップへの挑戦
老舗大企業からスタートアップへの挑戦老舗大企業からスタートアップへの挑戦
老舗大企業からスタートアップへの挑戦GuildWorks
 
20180828 subscliption test_solution@Test Engineers Meetup #3
20180828 subscliption test_solution@Test Engineers Meetup #320180828 subscliption test_solution@Test Engineers Meetup #3
20180828 subscliption test_solution@Test Engineers Meetup #3譲 安田
 
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用Naoya Maekawa
 
エンジニアが働きたい場所で働けるために、チームに必要なこと
エンジニアが働きたい場所で働けるために、チームに必要なことエンジニアが働きたい場所で働けるために、チームに必要なこと
エンジニアが働きたい場所で働けるために、チームに必要なことYuki Okada
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾Ryutaro YOSHIBA
 
自分のチームをどう作る?
自分のチームをどう作る?自分のチームをどう作る?
自分のチームをどう作る?Masakatsu Sugii
 
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪Yuki Okada
 
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す Kiro Harada
 
僕なりのAtlassianの管理メソッド
僕なりのAtlassianの管理メソッド僕なりのAtlassianの管理メソッド
僕なりのAtlassianの管理メソッドNarichika Kajihara
 
ギルドワークスの現場コーチ
ギルドワークスの現場コーチギルドワークスの現場コーチ
ギルドワークスの現場コーチGuildWorks
 
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーションKLab Inc. / Tech
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略GuildWorks
 
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -Hiroshi Maekawa
 

What's hot (20)

DDDのすすめ
DDDのすすめDDDのすすめ
DDDのすすめ
 
今どきのスマホゲーム開発 アジャイルテスト添え
今どきのスマホゲーム開発 アジャイルテスト添え今どきのスマホゲーム開発 アジャイルテスト添え
今どきのスマホゲーム開発 アジャイルテスト添え
 
顧客価値って奥深いですね
顧客価値って奥深いですね顧客価値って奥深いですね
顧客価値って奥深いですね
 
Umekita force 2014_0905_デブサミ関西2014コミュニティlt
Umekita force 2014_0905_デブサミ関西2014コミュニティltUmekita force 2014_0905_デブサミ関西2014コミュニティlt
Umekita force 2014_0905_デブサミ関西2014コミュニティlt
 
ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証ネイティブゲーム開発におけるこれからの品質保証
ネイティブゲーム開発におけるこれからの品質保証
 
20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devlove20141108 俺のエンジニアリング #devlove
20141108 俺のエンジニアリング #devlove
 
老舗大企業からスタートアップへの挑戦
老舗大企業からスタートアップへの挑戦老舗大企業からスタートアップへの挑戦
老舗大企業からスタートアップへの挑戦
 
20180828 subscliption test_solution@Test Engineers Meetup #3
20180828 subscliption test_solution@Test Engineers Meetup #320180828 subscliption test_solution@Test Engineers Meetup #3
20180828 subscliption test_solution@Test Engineers Meetup #3
 
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用
SPI Japan 2012 「SEPG活動とアジャイルの親和性を考える」ポジショントーク用
 
エンジニアが働きたい場所で働けるために、チームに必要なこと
エンジニアが働きたい場所で働けるために、チームに必要なことエンジニアが働きたい場所で働けるために、チームに必要なこと
エンジニアが働きたい場所で働けるために、チームに必要なこと
 
チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾チケット管理システム大決戦第二弾
チケット管理システム大決戦第二弾
 
自分のチームをどう作る?
自分のチームをどう作る?自分のチームをどう作る?
自分のチームをどう作る?
 
社内の更新されない推奨資格リストにAzure資格を入れた話
社内の更新されない推奨資格リストにAzure資格を入れた話社内の更新されない推奨資格リストにAzure資格を入れた話
社内の更新されない推奨資格リストにAzure資格を入れた話
 
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
みんなが働きたい場所で働ける「リモート開発チーム」を目指してやっていること - Cybozu Days 2017 大阪
 
DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す DDDをScrumで廻す あるいは ScrumをDDDで廻す
DDDをScrumで廻す あるいは ScrumをDDDで廻す
 
僕なりのAtlassianの管理メソッド
僕なりのAtlassianの管理メソッド僕なりのAtlassianの管理メソッド
僕なりのAtlassianの管理メソッド
 
ギルドワークスの現場コーチ
ギルドワークスの現場コーチギルドワークスの現場コーチ
ギルドワークスの現場コーチ
 
見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション見よう見まねでやってみる2D流体シミュレーション
見よう見まねでやってみる2D流体シミュレーション
 
ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略ポストJenkins時代のCI戦略
ポストJenkins時代のCI戦略
 
テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -テストって何をするもの? - テストの5W1H -
テストって何をするもの? - テストの5W1H -
 

Similar to 我流ミドルウェア性能・障害試験の心得

本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」Susumu Yamazaki
 
周りを巻き込みながら歩んできた関西人スクラムマスターの自分戦略(DevLove2012_yohhatu)
周りを巻き込みながら歩んできた関西人スクラムマスターの自分戦略(DevLove2012_yohhatu)周りを巻き込みながら歩んできた関西人スクラムマスターの自分戦略(DevLove2012_yohhatu)
周りを巻き込みながら歩んできた関西人スクラムマスターの自分戦略(DevLove2012_yohhatu)Yoh Nakamura
 
アジャイル開発を始めてみませんか?(思い出編)
アジャイル開発を始めてみませんか?(思い出編)アジャイル開発を始めてみませんか?(思い出編)
アジャイル開発を始めてみませんか?(思い出編)Miho Nagase
 
「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮) 「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮) Taku Yajima
 
JANOG32 - 運用チームの作り方
JANOG32 - 運用チームの作り方JANOG32 - 運用チームの作り方
JANOG32 - 運用チームの作り方Chika Yoshimura
 
アジャイルに向かう組織に聴いてほしいアジャイルへの 第一歩
アジャイルに向かう組織に聴いてほしいアジャイルへの 第一歩アジャイルに向かう組織に聴いてほしいアジャイルへの 第一歩
アジャイルに向かう組織に聴いてほしいアジャイルへの 第一歩貴明 今井
 
概念モデルって難しいですよね
概念モデルって難しいですよね概念モデルって難しいですよね
概念モデルって難しいですよねTakuya Kawabe
 
DevLOVE関西「勉強会勉強会」
DevLOVE関西「勉強会勉強会」DevLOVE関西「勉強会勉強会」
DevLOVE関西「勉強会勉強会」Yoh Nakamura
 
LT38テーマ3-2
LT38テーマ3-2LT38テーマ3-2
LT38テーマ3-2GIG inc.
 
201906 1on1実践をつうじて、わかってきたこと そしてやること
201906 1on1実践をつうじて、わかってきたこと そしてやること201906 1on1実践をつうじて、わかってきたこと そしてやること
201906 1on1実践をつうじて、わかってきたこと そしてやることwarumonogakari,tumibito Kato
 
ごった煮じゃNight!vol.1
ごった煮じゃNight!vol.1ごった煮じゃNight!vol.1
ごった煮じゃNight!vol.1Satoshi Furuichi
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016kyon mm
 
アジャイルマネジメントとマインドセット 〜ヒーローを待っていても世界は変わらない〜
アジャイルマネジメントとマインドセット 〜ヒーローを待っていても世界は変わらない〜アジャイルマネジメントとマインドセット 〜ヒーローを待っていても世界は変わらない〜
アジャイルマネジメントとマインドセット 〜ヒーローを待っていても世界は変わらない〜Dai FUJIHARA
 
Agilessamurai 20110825
Agilessamurai 20110825Agilessamurai 20110825
Agilessamurai 20110825Tomokazu Itou
 
Quora Insincere Questions 10th Place Solution & 昔話
Quora Insincere Questions 10th Place Solution & 昔話Quora Insincere Questions 10th Place Solution & 昔話
Quora Insincere Questions 10th Place Solution & 昔話ssuser4a5291
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進めDai FUJIHARA
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進めRakuten Group, Inc.
 
第8回脆弱性診断入門
第8回脆弱性診断入門第8回脆弱性診断入門
第8回脆弱性診断入門ionis111
 
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果KayoMiyata
 

Similar to 我流ミドルウェア性能・障害試験の心得 (20)

本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
 
周りを巻き込みながら歩んできた関西人スクラムマスターの自分戦略(DevLove2012_yohhatu)
周りを巻き込みながら歩んできた関西人スクラムマスターの自分戦略(DevLove2012_yohhatu)周りを巻き込みながら歩んできた関西人スクラムマスターの自分戦略(DevLove2012_yohhatu)
周りを巻き込みながら歩んできた関西人スクラムマスターの自分戦略(DevLove2012_yohhatu)
 
アジャイル開発を始めてみませんか?(思い出編)
アジャイル開発を始めてみませんか?(思い出編)アジャイル開発を始めてみませんか?(思い出編)
アジャイル開発を始めてみませんか?(思い出編)
 
「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮) 「Agileごっこ」で終わらせないために(仮)
「Agileごっこ」で終わらせないために(仮)
 
JANOG32 - 運用チームの作り方
JANOG32 - 運用チームの作り方JANOG32 - 運用チームの作り方
JANOG32 - 運用チームの作り方
 
アジャイルに向かう組織に聴いてほしいアジャイルへの 第一歩
アジャイルに向かう組織に聴いてほしいアジャイルへの 第一歩アジャイルに向かう組織に聴いてほしいアジャイルへの 第一歩
アジャイルに向かう組織に聴いてほしいアジャイルへの 第一歩
 
概念モデルって難しいですよね
概念モデルって難しいですよね概念モデルって難しいですよね
概念モデルって難しいですよね
 
DevLOVE関西「勉強会勉強会」
DevLOVE関西「勉強会勉強会」DevLOVE関西「勉強会勉強会」
DevLOVE関西「勉強会勉強会」
 
LT38テーマ3-2
LT38テーマ3-2LT38テーマ3-2
LT38テーマ3-2
 
ユーザー事例紹介:ソフトウェア開発でのJIRA活用実践!
ユーザー事例紹介:ソフトウェア開発でのJIRA活用実践!ユーザー事例紹介:ソフトウェア開発でのJIRA活用実践!
ユーザー事例紹介:ソフトウェア開発でのJIRA活用実践!
 
201906 1on1実践をつうじて、わかってきたこと そしてやること
201906 1on1実践をつうじて、わかってきたこと そしてやること201906 1on1実践をつうじて、わかってきたこと そしてやること
201906 1on1実践をつうじて、わかってきたこと そしてやること
 
ごった煮じゃNight!vol.1
ごった煮じゃNight!vol.1ごった煮じゃNight!vol.1
ごった煮じゃNight!vol.1
 
Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016Scrum,Test,Metrics #sgt2016
Scrum,Test,Metrics #sgt2016
 
アジャイルマネジメントとマインドセット 〜ヒーローを待っていても世界は変わらない〜
アジャイルマネジメントとマインドセット 〜ヒーローを待っていても世界は変わらない〜アジャイルマネジメントとマインドセット 〜ヒーローを待っていても世界は変わらない〜
アジャイルマネジメントとマインドセット 〜ヒーローを待っていても世界は変わらない〜
 
Agilessamurai 20110825
Agilessamurai 20110825Agilessamurai 20110825
Agilessamurai 20110825
 
Quora Insincere Questions 10th Place Solution & 昔話
Quora Insincere Questions 10th Place Solution & 昔話Quora Insincere Questions 10th Place Solution & 昔話
Quora Insincere Questions 10th Place Solution & 昔話
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
 
地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め地図を捨ててコンパスを頼りに進め
地図を捨ててコンパスを頼りに進め
 
第8回脆弱性診断入門
第8回脆弱性診断入門第8回脆弱性診断入門
第8回脆弱性診断入門
 
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
やりたいことをプロダクトにねじ込む技術とねじ込んだ結果
 

我流ミドルウェア性能・障害試験の心得