9
使JMeter测试DNA平台(1) nodectl+jsonRPC接测试 Updated 08/10 2017 DNA version = v0.6beta Commit 120fa45 本主要介绍如何JMeter测试DNA平台,集成nodectl进接测试,包括查看节 点络状态,注册发资产,以及查看交,可以的检查DNA平台是否正常运 ,同时也可以使Jmeter来进压测试。 1. Jmeter简介 官主 Apache JMeter™ 是个Java编写的测试具,可以来进功能和压测试, 本是来测试web应的,但是现在也可以在其他的测试场景下。 Jmeter可以测 试下同类型的应和协议: Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, …) SOAP / REST Webservices FTP Database via JDBC LDAP Message-oriented middleware (MOM) via JMS Mail - SMTP(S), POP3(S) and IMAP(S) Native commands or shell scripts TCP Java Objects 本主要介绍Jmeternodectl来测试DNA法,这些法也可以脚本来实 现,但是使Jmeter会简单和直观。 2. 搭建测试环境 DNA平台 详情

使 JMeter测试DNA平台(1) nodectl+jsonRPC接测试 · 使 JMeter测试DNA平台(1) nodectl+jsonRPC接测试 Updated 08/10 2017 DNA version = v0.6beta Commit 120fa45 本主要介绍如何

Embed Size (px)

Citation preview

  • JMeterDNA(1)nodectl+jsonRPC

    Updated 08/10 2017 DNA version = v0.6beta Commit 120fa45

    JMeterDNAnodectlDNAJmeter

    1. Jmeter

    Apache JMeter Java, web Jmeter:

    Web - HTTP, HTTPS (Java, NodeJS, PHP, ASP.NET, )

    SOAP / REST Webservices

    FTP

    Database via JDBC

    LDAP

    Message-oriented middleware (MOM) via JMS

    Mail - SMTP(S), POP3(S) and IMAP(S)

    Native commands or shell scripts

    TCP

    Java Objects

    JmeternodectlDNAJmeter

    2.

    DNA

    http://jmeter.apache.org/http://asp.net/https://github.com/DNAProject/DNA

  • Jmeter latest version3.3 Requires Java 8 Java 9

    Jmeter

    cd PATH_TO_JMETER/bin

    ./jmeter

    Jmeter GUI

    task

    task:

    nodectl : cliJsonRPC

    config.json : DNA

    nodes.list : CVS IP,PORT

    OK,

    3.

  • Test PlanThread GroupCSV Data Set ConfigAggregate ReportView ResultsTreeAggregate Graph

    Thread GroupThread GroupTestPlanThread GroupLogic Controller,Config Element, Timer, PerProcessors,Sampler,Post Processors,Assertion,Listener

    CSV Data Set ConfigCSVListenerTest PlanThread Group

    Aggregate ReportView Results TreeAggregate GraphListener

    WorkBench

    1. Test Plan->Add->Thread->Thread Groupasset register

    2. Test Plan->Add->Config Element->CSV Data Set ConfigCSVIPThread GroupTest PlanThread Group

  • 3. asset registerAdd->Config Element->User Defined Variables

    ${Variables}

    4. asset registerAdd->Sampler->OS Process Samplerregister assetcommand./nodectlWorking directory${dir}/${taskname}Test PlanUser Defined Variablescommand parametersclireturn code0Timeoput5000ms

  • 5. asset registerAdd->Post Processors->Regular ExpressionExtractorAsset Id ExtractorIDIDThreadGroup"result": "(.+?)"resultclijsonresultIDjson

    6. asset registerAdd->Assertions->Response Assertion

  • error

    7. Test Plan->Add->Listener->View Results Tree,

  • Aggregate Reportfilename

    UIstartView Results TreeAggregate Reportreport

    4.

    Thread Group

    Number of Threads(users):

    Ramp-Up Period:

    Loop Count:

  • 101010Ramp-Up PeriodThread Group1001010Sampler errorContinue

    5. NON GUI Mode Dashboard

    Jmeter

    Don't use GUI mode for load testing, only for Test creation and Testdebugging !

    For load testing, use NON GUI Mode: jmeter -n -t [jmx file] -l [results file] -e-o [Path to output folder]

    GUIGUI

    jmeter -n -t [jmx file] -l [results file] -e -o [Path to output folder]outputindex.htmlDashboardUI