ngrinder3 : だれもが簡単にできる性能テスト
TRANSCRIPT
nGrinder 3.0 だれもが簡単にできる性能テスト
グローバルプラットフォーム開発中国プラットフォーム開発センター
2 / nGrinder
nGrinderSince 2011
1
自分のサーバーの TPS を把握する必要がある場合は?負荷を加えた状態で性能を最適化する必要がある場合は?
3 / nGrinder
nGrinderSince 2011
1
컨트롤러
エージェント
エージェント
エージェント
エージェント
nGrinder ファーム
PYTHON
4 / nGrinder
メンブレ状態でも使える性能テスト
困難な状況2
Performance Center や nGrinder は事前に予約が必要。いつでも必要な負荷を加えることができれば…
明日リリースなのに、予約してないからテストできないらしい。T . T
初めてのユーザーでも簡単に使えれば…
一日だけのテストのために、教育受けないといけないの ?
*メンブレ:メンタルブレイク(精神崩壊)
5 / nGrinder
nGrinder 3.0Since 2012.11 – 生まれ変わりました。
2
性能テスト
検索タグ 検索 完了したものだけ検索 テスト作成 選択したテストを削除
状態 テスト名 スクリプト名 作成者 開始時間 実行時間 エラー合計仮想ユーザー 作業
スクリプト
0 名のユーザーがテスト実行中です。
6 / nGrinder
nGrinder 3.0何が変わったのか ?
3
予約? NO!! いつでもテストできます。エージェント 5 本までは無料!可用性
에이전트 더 쓰고 싶어요 ? 쓰고 싶으면 500 원
急ぎのテストをするのに最適ですよ。
余っているサーバーにエージェントをインストールしてください !
7 / nGrinder
nGrinder 3.0何が変わったのか?
3
非常に簡単です。フィールド 5 個をさっと入力!ユーザビリ
ティ
予約? NO!! いつでもテストできます。エージェント 5 本までは無料!可用性
1 分以内にテストが実行できる!
誰かに使ってほしくなる UI ですね。
8 / nGrinder
nGrinder 3.0何が変わったのか?
3
非常に簡単です。フィールド 5 個をさっと入力!ユーザビリ
ティ
予約? NO!! いつでもテストできます。エージェント 5 本までは無料!可用性
好きな IDE ですぐ編集し、そのまま SVN コミットしてください。
ユーザビリティ
9 / nGrinder
nGrinder 3.0何が変わったのか?
3
自分でインストールするの難しかったでしょ?ダウンロードしたら、実行するだけ。
インストールの容易性
設定不要のインストールrun_agent.bat controller_ip
非常に簡単です。フィールド 5 個をさっと入力!ユーザビリ
ティ
予約? NO!! いつでもテストできます。エージェント 5 本までは無料!可用性
好きな IDE ですぐ編集し、そのまま SVN コミットしてください。
ユーザビリティ
10 / nGrinder
nGrinder 3.0何が変わったのか?
3
The best Quality Controlamong all previous versions.
自分でインストールするの難しかったでしょ?ダウンロードしたら、実行するだけ。
インストールの容易性
非常に簡単です。フィールド 5 個をさっと入力!ユーザビリ
ティ
予約? NO!! いつでもテストできます。エージェント 5 本までは無料!可用性
好きな IDE ですぐ編集し、そのまま SVN コミットしてください。
ユーザビリティ
バグは?これまで以上に改善されてます !! ^^安定性
11 / nGrinder
nGrinder 3.0何が変わったのか?
3
百聞は一見にしかず !! GOOGLE に攻撃を !!
自分でインストールするの難しかったでしょ?ダウンロードしたら、実行するだけ。
インストールの容易性
非常に簡単です。フィールド 5 個をさっと入力!ユーザビリ
ティ
予約? NO!! いつでもテストできます。エージェント 5 本までは無料!可用性
好きな IDE ですぐ編集し、そのまま SVN コミットしてください。
ユーザビリティ
バグは?これまで以上に改善されてます !! ^^安定性
12 / nGrinder
Demo4
スクリプトの作成
テスト実行結果レポート
テスト設定 (vuser の個数など )詳細結果を確認
13 / nGrinder
Future Works
3.1 (12 月末 ) nCloud でも使用可能。 IDC 別に異なるアクセスルート一つになったアクセス
ルート ユーザー同士でテストやスクリプトを共有。
3.2 (2013, 1Q) スクリプト対応言語は JavaScript 。 スクリプトレコーディング機能対応。
5
14
VISIT http://devcafe.nhncorp.com/nGrinder
問い合わせ : チョ・ジウォン、ユン・ジュンホ
15 / nGrinder
nGrinder のサンプルスクリプト
# -*- coding:utf-8 -*-
from net.grinder.script.Grinder import grinder
from net.grinder.script import Test
from net.grinder.plugin.http import HTTPPluginControl, HTTPRequest
from HTTPClient import NVPair
url = "http://beta.api.camera.line.naver.jp"
header = (NVPair('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.8.0.1) Gecko/20060111 Firefox/1.5.0.1'),)
test1 = Test(1, "Test1")
def page():
result1 = HTTPRequest(url=url, headers=header).GET("/stamp/overview")
result2 = HTTPRequest(url=url, headers=header).GET("/stamp/log/pick/CV/myDeviceId/101")
result3 = HTTPRequest(url=url, headers=header).GET("/stamp/section/36")
result4 = HTTPRequest(url=url, headers=header).GET("/stamp/log/pick/CV/myDeviceId/101")
assert result1.getText().find("SPONSOR") != -1
assert result2.getText().find("error") == -1
assert result3.getText().find("Beads") != -1
assert result4.getText().find("error") == -1
page = test1.wrap(Page)
class TestRunner:
def __call__(self):
page()
A1
16 / nGrinder
nGrinder: ArchitectureA2