Submit Search
Upload
JenkinsとjMeterで負荷テストの自動化
•
18 likes
•
10,512 views
Satoshi Akama
Follow
RejectTokyoRubyKaigi10で発表してきました
Read less
Read more
Technology
Report
Share
Report
Share
1 of 13
Download now
Download to read offline
Recommended
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみた
KeijiUehata1
例外設計における大罪
例外設計における大罪
Takuto Wada
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
Recommended
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Kohei Tokunaga
Python製BDDツールで自動化してみた
Python製BDDツールで自動化してみた
KeijiUehata1
例外設計における大罪
例外設計における大罪
Takuto Wada
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
Yahoo!デベロッパーネットワーク
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
Masahito Zembutsu
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
AdvancedTechNight
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
Hirotaka Sato
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Railsで作るBFFの功罪
Railsで作るBFFの功罪
Recruit Lifestyle Co., Ltd.
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
テストコードの DRY と DAMP
テストコードの DRY と DAMP
Yusuke Kagata
自宅k8s/vSphere入門
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
finoue
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN
kamiyam .
More Related Content
What's hot
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
Akihiro Suda
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
Yasuhiro Mawarimichi
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
Hirotaka Sato
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
kwatch
DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Toru Makabe
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
sairoutine
Docker Compose 徹底解説
Docker Compose 徹底解説
Masahito Zembutsu
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Gosuke Miyashita
Railsで作るBFFの功罪
Railsで作るBFFの功罪
Recruit Lifestyle Co., Ltd.
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Takafumi ONAKA
Redisの特徴と活用方法について
Redisの特徴と活用方法について
Yuji Otani
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
onozaty
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
NTT DATA Technology & Innovation
テストコードの DRY と DAMP
テストコードの DRY と DAMP
Yusuke Kagata
自宅k8s/vSphere入門
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
What's hot
(20)
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
Dockerからcontainerdへの移行
Dockerからcontainerdへの移行
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
WebSocket / WebRTCの技術紹介
WebSocket / WebRTCの技術紹介
「おうちクラウド」が今熱い!
「おうちクラウド」が今熱い!
DBスキーマもバージョン管理したい!
DBスキーマもバージョン管理したい!
DockerとPodmanの比較
DockerとPodmanの比較
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
Kubernetesのしくみ やさしく学ぶ 内部構造とアーキテクチャー
ゲームエンジニアのためのデータベース設計
ゲームエンジニアのためのデータベース設計
Docker Compose 徹底解説
Docker Compose 徹底解説
イベント駆動プログラミングとI/O多重化
イベント駆動プログラミングとI/O多重化
Railsで作るBFFの功罪
Railsで作るBFFの功罪
エンジニアの個人ブランディングと技術組織
エンジニアの個人ブランディングと技術組織
Redisの特徴と活用方法について
Redisの特徴と活用方法について
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
9/14にリリースされたばかりの新LTS版Java 17、ここ3年間のJavaの変化を知ろう!(Open Source Conference 2021 O...
テストコードの DRY と DAMP
テストコードの DRY と DAMP
自宅k8s/vSphere入門
自宅k8s/vSphere入門
Similar to JenkinsとjMeterで負荷テストの自動化
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
finoue
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN
kamiyam .
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
Takeshi Kondo
JUC2012
JUC2012
Kiyotaka Oku
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
Tomohiro Ohtake
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
Yu Nobuoka
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Tsutomu Chikuba
Trac Plugin Developement with Jenkins
Trac Plugin Developement with Jenkins
Takahisa Wada
第12回CloudStackユーザ会_ApacheCloudStack最新情報
第12回CloudStackユーザ会_ApacheCloudStack最新情報
Midori Oge
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
Kiyokazu Kaba
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
Akio Katayama
「今そこにある危機」を捉える ~ pg_stat_statements revisited
「今そこにある危機」を捉える ~ pg_stat_statements revisited
Uptime Technologies LLC (JP)
Selenium
Selenium
takeuchi-tk
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Yuta Kawadai
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
VOYAGE GROUP
JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所
Koji Nakamura
Cibc work kokawa
Cibc work kokawa
Takashi Kokawa
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Kenta Suzuki
Play jjug2012spring
Play jjug2012spring
Takafumi Ikeda
恋するJenkins
恋するJenkins
Hiroshi Nakao
Similar to JenkinsとjMeterで負荷テストの自動化
(20)
Awsで実現するseleniumテスト高速術
Awsで実現するseleniumテスト高速術
WEBアプリケーションビルド・ テストツール YEOMAN
WEBアプリケーションビルド・ テストツール YEOMAN
JenkinsとSeleniumの活用事例
JenkinsとSeleniumの活用事例
JUC2012
JUC2012
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
毎日が憧れの新築、反復可能なデリバリーによる常時新築システム
はてなにおける継続的デプロイメントの現状と Docker の導入
はてなにおける継続的デプロイメントの現状と Docker の導入
ビジネス的に高価値なアジャイルテスト
ビジネス的に高価値なアジャイルテスト
Trac Plugin Developement with Jenkins
Trac Plugin Developement with Jenkins
第12回CloudStackユーザ会_ApacheCloudStack最新情報
第12回CloudStackユーザ会_ApacheCloudStack最新情報
誰にでもできるパフォーマンスチューニング
誰にでもできるパフォーマンスチューニング
SDLoader SeasarCon 2009 Whire
SDLoader SeasarCon 2009 Whire
「今そこにある危機」を捉える ~ pg_stat_statements revisited
「今そこにある危機」を捉える ~ pg_stat_statements revisited
Selenium
Selenium
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
JS開発におけるTDDと自動テストツール利用の勘所
JS開発におけるTDDと自動テストツール利用の勘所
Cibc work kokawa
Cibc work kokawa
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Jenkinsとhadoopを利用した継続的データ解析環境の構築
Play jjug2012spring
Play jjug2012spring
恋するJenkins
恋するJenkins
JenkinsとjMeterで負荷テストの自動化
1.
Jenkins JMeterで
負荷テスト自動化 @oreradio 12年12月8日土曜日
2.
アジェンダ
• 前提条件 • JenkinsにJMeter載せて負荷テスト • システム構成 • JMeter ←Java • Chefを使ったサーバセットアップ ←Ruby • Jenkinsプラグイン作った ←Java • Jenkinsプラグイン作った その2 ←Java • Jenkinsプラグインの作り方 ←Java 12年12月8日土曜日
3.
前提条件
• 基本となるパッケージがあって、各プロジェクトでカスタマイズが入るような開発 • 基本パッケージ開発段階でとんでもSQLを発行するコードが紛れ込む • Webサービス等だとアプローチが異なると思います 顧客n万件で 負荷を全く考慮しないSQLの混入 検索が死亡 例:多段サブクエリ 案件1 カスタマイズ 基本パッケージ 案件2 カスタマイズ 12年12月8日土曜日
4.
JenkinsにJMeter載せて負荷テスト
• 開発初期段階で実際の環境に近い環境で負荷テストを行うのが望ましい • 毎回手動で実行するのは面倒なのでJenkinsに載せた • O ReillyのJenkins本にも「JMeterを使った自動パフォーマンステスト」の項目が ある O Reilly「Jenkins」6.8 JMeter を使った自動パフォーマンステスト パフォーマンステスティングは、一度きりでの非定型的な処理とされ、プロ ジェクトの最後や、何か問題が生じ始めたときにだけ行われるということが よくあります。とはいえ、パフォーマンスの問題は、他の種類のバグと同じ ようなものです。開発プロセスの後の方で検出されるほど、修正にコストが かかることになります。したがって、こういったパフォーマンス及び負荷テ ストを自動化し、あらゆる種類のパフォーマンスの低下を、世に出てしまう 前に検出できるようにすることは、非常に理にかなっているのです。 12年12月8日土曜日
5.
システム構成
対象サーバ HTTP Request HTTP Response Cookbook 12年12月8日土曜日
6.
JMeter ・テストシナリオを作成してそれを元にHTTP
Requestを対象サーバに送信 ・Apache Benchは管理画面等の認証を突破できないのでJMeterにした ・Master/Slave構成取れるのでスケールする ・テストシナリオ作成 JMeterをproxyとして動作させてブラウザ操作を記録することが可能 →余計な画像等も拾ってしまいフィルタリングが面倒なので WindowsのBadboyというアプリでシナリオ作成している 12年12月8日土曜日
7.
Chef サーバセットアップ自動化ツール
PuppetやPython界隈で使われるFabricと同じようなもの Chefは内部DSLとしてRubyを使用する テンプレートはerb 個人的にはFabricは自由すぎる(普通にPythonスクリプト)と思う。 スクリプト毎に構成が違いすぎるのでCookbookという単位で縛れるChefの方が好き。 Github上で公開されているopscode-cookbooks cookbooks をベースにアプリ部分のcookbookを足した apache2 openssl mysql myapp 12年12月8日土曜日
8.
Chef/knife-ec2 ・ChefからAWS(Amazon
Web Service)のEC2インスタンスの制御ができる ・ELB(Elastic Load Balancing)の制御はできない →AmazonのELB向けAPI直接叩く ・knife-ec2使うとRubyやChef Clientのインストールをインスタンス立ち上げ時に 面倒見てくれる gem install knife-ec2 12年12月8日土曜日
9.
Jenkinsプラグイン作った Performance Analysis
Plugin for Jenkins JMeterで送信したリクエストのレスポンスについては既存のPerformance Pluginというやつで見る ことができるが、Apacheの数値だけではなくMySQLの状態についても見たい Slow Query LogのサマリーをJenkins上で見られるようにした MySQLの便利ツール集「Percona-Toolkit」に用意されているpt-query-digest --explainコマンドで 得られる テキストベースのサマリー結果をパース&整形してJenkins上で表示する ソースは公開してますが、公式プラグインではない 12年12月8日土曜日
10.
Jenkinsプラグイン作った その2 Cloud Management
Plugin for Jenkins AWSのEC2インスタンス立ち上げをJenkins上から行える 既存のプラグインにも類似のものはあるが、こちらは任意の構成で任意の数のインスタンスを 立ち上げられるようにしている →EC2使わないことになったので開発休止中。 年末頑張れたら頑張る 12年12月8日土曜日
11.
Jenkinsプラグインの作り方
mvn hpi:create #雛形作成 mvn package #パッケージ作成 mvn hpi:run #デバッグ Jenkinsで用意されている拡張ポイントを継承して書いていく Builder←プロジェクト管理画面の「ビルド」のプルダウンに出る Publisher←プロジェクト管理画面の「ビルド後の処理」のプルダウンに出る Aaction←レポート画面等 迷ったらJenkins CIのGithubにある既存のプラグインのコード覗く https://github.com/jenkinsci 12年12月8日土曜日
12.
JRubyでもJenkinsプラグインが書ける
• JavaでJenkinsプラグイン書く場合、Jellyテンプレートの書式が結構めんどい • ifはあってもelseがない • プルダウンメニューのデフォルト選択が上手くいかないetc • テンプレートがerbっていうだけでだいぶ楽。 • さっきJenkins本書いた方がいらっしゃったような... 12年12月8日土曜日
13.
END 12年12月8日土曜日
Download now