SlideShare a Scribd company logo
1 of 10
Download to read offline
© 2010 Torry Harris Business Solutions. All rights reserved Page 1
TORRY HARRIS BUSINESS SOLUTIONS
Performance Analysis of
webMethods Integrations
using Apache JMeter
Information Guide for JMeter Adoption
Ganapathi Nanjappa
4/28/2010
© 2010 Torry Harris Business Solutions. All rights reserved Page 2
1 Table of Contents
1. Abstract .................................................................................................................................................3
2. Introduction...........................................................................................................................................3
3. JMeter Test Plan....................................................................................................................................3
4. Sample Web Service under Test............................................................................................................4
5. Web Service Test Scenarios...................................................................................................................5
5.1 Scenario 1......................................................................................................................................5
5.2 Scenario 2......................................................................................................................................7
6. Monitoring IS sessions during test execution .......................................................................................8
7. Limitations of JMeter when used with webMethods IS........................................................................9
8. Conclusion...........................................................................................................................................10
9. References...........................................................................................................................................10
© 2010 Torry Harris Business Solutions. All rights reserved Page 3
1. Abstract
Performance testing is an important activity of any Enterprise Application Integration (EAI) project to
ensure that the project delivered to the customer satisfies high load, availability and scalability
requirements. In addition to providing the response times of the system under varying loads,
performance tests also work as regression tests for the server and application code.
Performance analysis is a critical part of performance testing that addresses the several questions on
performance parameters such as server response time, maximum simultaneous users, duration of each
service invocation, interval and wait times, session usage and expiry, and memory usage. Performance
analysis makes sense of the performance testing results and helps to measure the data and interpret the
results.
This white paper presents a solution to test performance and analyze the results for web services that
are deployed on the webMethods Integration Server using Apache JMeter.
2. Introduction
Apache JMeter is a pure Java desktop application used widely for performance testing many different
server types and protocols – HTTP(S), SOAP, JMS, JDBC, and LDAP etc. It is used to load test functional
behavior and analyze the overall service performance under different load types. JMeter provides a
graphical user interface for defining the test plans along with various elements that make up a test plan.
webMethods Integration Server (IS) is the deployment container for all services built using webMethods
Developer/Designer. All deployed services execute within the IS virtual machine, the IS receives requests
from clients, invokes one or more services and returns a response to the client.
In addition to the tools provided by JMeter for analyzing the results, the IS Administrator console
provides a wealth of information that can be used to analyze real-time load patterns and fine tune the
service performance. This white paper details how JMeter and IS Administrator can be used for
analyzing the performance of web services deployed on webMethods IS.
3. JMeter Test Plan
Web services can be tested in JMeter using the “WebService (SOAP) Request” sampler for SOAP 1.1 and
“SOAP/XML-RPC Request” sampler for SOAP 1.2 specification. Apart from the web service sampler, the
following are required to complete the test plan:
• Thread Group to simulate users and the number of times to repeat the test
• HTTP Authorization Manager configuration element for IS authentication
• Graph Result listener to view the test results as a graph
• Spline Visualizer listener to represent the test result as a smooth curve
• View Results Tree listener to inspect the SOAP request, response and status
• Any other Aggregate/Summary Report listeners required for analyzing the results
© 2010 Torry Harris Business Solutions. All rights reserved Page 4
A sample JMeter test plan.
In addition to the above elements, in a normal scenario some assertions will need to be added to the
test plan to verify the results. Creating a JMeter specific IS user is recommended as this allows for easy
monitoring of the IS.
Note: To test web services using the SOAP 1.2 specification, a “HTTP Header Manager” needs to be
included in the test plan before the SOAP/XML-RPC Request sampler. A new header name/value pair
needs to be added to the header manager as shown:
Name: Content-Type, Value: application/soap+xml; charset=utf-8; type="text/xml"
The HTTP Header Manager configuration to test SOAP 1.2 web services.
Without the header manager, the SOAP 1.2 web service invocation from JMeter will result in an error.
4. Sample Web Service under Test
The underlying implementation of the web service under test is a flow service that retrieves connection
statistics for all the adapter connections that are defined and enabled on the IS for a specified adapter
type. The service accepts a single parameter “AdapterType” as input and retrieves the results. Example:
if the input is specified as “JDBCAdapter”, the flow service invokes the
‘pub.art.connection:listAdapterConnections’ and loops over the each of the connection to get the
connection statistics if the connection is enabled.
© 2010 Torry Harris Business Solutions. All rights reserved Page 5
The underlying implementation of the web service under test.
While the service under test is not a real business service, it is used for monitoring of adapter resources
from a custom portlet deployed on My WebMethods Server. It is selected here for performance testing
as it is dynamic (connection statistics keep changing every time an adapter service is invoked) and
doesn’t require any additional packages and external systems/resources to be available.
5. Web Service Test Scenarios
Two load scenarios were simulated using JMeter for analyzing the performance of the web service
under test. The objective of the first test is to show that the service does not perform for the selected
number of concurrent users within a specified time frame. The objective of the second test is to find an
acceptable and realistic time frame for the number of concurrent users.
5.1 Scenario 1
In this scenario, a load of 300 concurrent users (requests) is generated on the server in 5 seconds. This
means that a new request is received by the IS every 16.6 ms (5 seconds/300 users). The thread group
settings and the results are shown below:
JMeter ThreadGroup configuration – Scenario 1.
© 2010 Torry Harris Business Solutions. All rights reserved Page 6
The Graph Result for the selected ThreadGroup configuration.
With the load setting of 300 concurrent users in 5 seconds, the average response time of the service
under test increases with each invocation as shown in the above graph result. This shows that the
service under test is not scalable to a load of 300 concurrent users in 5 seconds.
The Spline Result for the selected ThreadGroup configuration.
The above Spline Visualizer shows a steep line to indicate the response times increasing with each
request, along with the average response time of 12153 ms for 300 requests.
© 2010 Torry Harris Business Solutions. All rights reserved Page 7
5.2 Scenario 2
In this scenario, a load of 300 concurrent users (requests) is generated on the server in 60 seconds. This
means that a new request is received by the IS every 200 ms (60 seconds/300 users). The thread group
settings and the results are shown below:
JMeter ThreadGroup configuration – Scenario 2.
The Graph Result for the selected ThreadGroup configuration.
With the load setting of 300 concurrent users in 60 seconds, the average response time of the service
under test remains constant (after the initial rise) with each invocation as shown in the above graph
© 2010 Torry Harris Business Solutions. All rights reserved Page 8
result. This shows that the service under test is works well for a load of 300 concurrent users in 60
seconds.
The Spline Result for the selected ThreadGroup configuration.
The above Spline Visualizer shows a smooth curve to indicate the response times varying for different
requests, along with the average response time of 1072 ms (compared to 12153 ms for scenario 1) for
300 requests.
By comparing the two scenarios, it can be noted that the load settings in the second scenario is a more
realistic expectation on the service performance. For the service under test to perform to the first
scenario load, more hardware needs to be added and/or the service needs to be refined for
performance.
6. Monitoring IS sessions during test execution
The webMethods Integration Server Administrator provides various statistics on sessions, service usage,
memory usage, service errors etc. that can be used to monitor the IS health during performance tests.
These statistics also help in performance analysis and understanding the server behavior under different
load patterns. Some of the statistics that are useful for analysis are described in this section.
Session Usage:
For every request received by the Integration Server from JMeter (or any other client), a new session is
created. This session remains active until the ‘disconnect’ command is issued from JMeter or the session
times out due to inactivity.
© 2010 Torry Harris Business Solutions. All rights reserved Page 9
Integration Server session usage during the test.
The above screen shot shows the 300 sessions opened by the 300 concurrent user load settings,
additional session information is displayed on clicking the link.
Service Usage:
Every time the underlying flow/java services of the web service under test is invoked, the service run
counter and the service invocation time is recorded in the service usage page in the IS administrator.
Integration Server service statistics for the underlying implementation.
The above screen shot shows the number of times the different services used by the service under test
are executed.
7. Limitations of JMeter when used with webMethods IS
Using JMeter for webMethods IS has the following limitations:
• JMeter does not generate the SOAP requests automatically from the WSDL provided. The
requested must be generated by external tools (SoapUI is a good example).
• When a web service is invoked on the IS, a session is created on the IS. There is no facility
available in JMeter to send a disconnect command to the IS.
o Due to this limitation, all the sessions created by JMeter will timeout on the IS after the
defined timeout interval. The IS default session timeout is 10 minutes, however based
on the tests conducted, it is recommended to reduce the timeout to 3 minutes for the
performance testing to free the unused sessions.
o There is also no facility in JMeter to reuse a IS session. The IS session seems to be
maintained only at the IS level and not at the client level.
© 2010 Torry Harris Business Solutions. All rights reserved Page 10
o The same limitation was observed for performance tests conducted with SoapUI as well.
• Even after a JMeter makes successful requests to the IS, the request count in the “Current
Sessions” IS administrator page shows the request count as 0.
o The request count seems to increase only for webMethods components such as
Administrator and Developer.
o However, the service usage count in the “Service Usage” IS administrator page displays
the count correctly.
8. Conclusion
JMeter provides an easy interface for setting up and executing performance tests. It also provides the
necessary tools for analyzing the performance data and results. When used with the webMethods
Integration Server, the resource usage on the webMethods Integration Server can be monitored in real-
time and this allows for modification of system parameters for performance optimization.
With a variety of listeners available out of the box, performance analysis becomes simpler and less time
consuming. JMeter can also be used for executing JUnit tests, regression tests and JMS testing, making it
a valuable asset in delivering quality code that is also highly scalable.
9. References
http://jakarta.apache.org/jmeter/usermanual/index.html
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html

More Related Content

Similar to EAI Performance Analysis Web-Methods | Torry Harris Whitepaper

Jmeter interviewquestions
Jmeter interviewquestionsJmeter interviewquestions
Jmeter interviewquestionsgirichinna27
 
Top 20 JMeter Interview Questions and Answers in 2023.pdf
Top 20 JMeter Interview Questions and Answers in 2023.pdfTop 20 JMeter Interview Questions and Answers in 2023.pdf
Top 20 JMeter Interview Questions and Answers in 2023.pdfAnanthReddy38
 
Top 20 JMeter Interview Questions and Answers in 2023.pptx
Top 20 JMeter Interview Questions and Answers in 2023.pptxTop 20 JMeter Interview Questions and Answers in 2023.pptx
Top 20 JMeter Interview Questions and Answers in 2023.pptxAnanthReddy38
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeterWira Santos
 
Joget Workflow Clustering and Performance Testing on Amazon Web Services (AWS)
Joget Workflow Clustering and Performance Testing on Amazon Web Services (AWS)Joget Workflow Clustering and Performance Testing on Amazon Web Services (AWS)
Joget Workflow Clustering and Performance Testing on Amazon Web Services (AWS)Joget Workflow
 
Basic of jMeter
Basic of jMeter Basic of jMeter
Basic of jMeter Shub
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introductionsilenceIT Inc.
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshopRohit Kelapure
 
Perfromane Test Tool jmeter
Perfromane Test Tool jmeterPerfromane Test Tool jmeter
Perfromane Test Tool jmeterNaga Mallala
 
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Nitish Bhardwaj
 
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...DiscoveredByte
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Atul Pant
 
Optimal multiserver configuration for profit maximization in cloud computing
Optimal multiserver configuration for profit maximization in cloud computingOptimal multiserver configuration for profit maximization in cloud computing
Optimal multiserver configuration for profit maximization in cloud computingJPINFOTECH JAYAPRAKASH
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meterPurna Chandar
 
Software testing
Software testingSoftware testing
Software testingnil65
 
Quick guide to plan and execute a load test
Quick guide to plan and execute a load testQuick guide to plan and execute a load test
Quick guide to plan and execute a load testduke.kalra
 
Server Performance by Tonny
Server Performance by TonnyServer Performance by Tonny
Server Performance by TonnyAgate Studio
 
Scale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceScale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceIRJET Journal
 

Similar to EAI Performance Analysis Web-Methods | Torry Harris Whitepaper (20)

Jmeter interviewquestions
Jmeter interviewquestionsJmeter interviewquestions
Jmeter interviewquestions
 
Top 20 JMeter Interview Questions and Answers in 2023.pdf
Top 20 JMeter Interview Questions and Answers in 2023.pdfTop 20 JMeter Interview Questions and Answers in 2023.pdf
Top 20 JMeter Interview Questions and Answers in 2023.pdf
 
Top 20 JMeter Interview Questions and Answers in 2023.pptx
Top 20 JMeter Interview Questions and Answers in 2023.pptxTop 20 JMeter Interview Questions and Answers in 2023.pptx
Top 20 JMeter Interview Questions and Answers in 2023.pptx
 
Automation - Apache JMeter
Automation - Apache JMeterAutomation - Apache JMeter
Automation - Apache JMeter
 
Joget Workflow Clustering and Performance Testing on Amazon Web Services (AWS)
Joget Workflow Clustering and Performance Testing on Amazon Web Services (AWS)Joget Workflow Clustering and Performance Testing on Amazon Web Services (AWS)
Joget Workflow Clustering and Performance Testing on Amazon Web Services (AWS)
 
Basic of jMeter
Basic of jMeter Basic of jMeter
Basic of jMeter
 
Apache JMeter - A brief introduction
Apache JMeter - A brief introductionApache JMeter - A brief introduction
Apache JMeter - A brief introduction
 
Web sphere application server performance tuning workshop
Web sphere application server performance tuning workshopWeb sphere application server performance tuning workshop
Web sphere application server performance tuning workshop
 
Perfromane Test Tool jmeter
Perfromane Test Tool jmeterPerfromane Test Tool jmeter
Perfromane Test Tool jmeter
 
Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02Performancetestingjmeter 131210111657-phpapp02
Performancetestingjmeter 131210111657-phpapp02
 
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...
DiscoveredByte - Java Performance Monitoring, Tuning and Optimization - Key P...
 
QSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load RunnerQSpiders - Installation and Brief Dose of Load Runner
QSpiders - Installation and Brief Dose of Load Runner
 
Performance Test Plan - Sample 1
Performance Test Plan - Sample 1Performance Test Plan - Sample 1
Performance Test Plan - Sample 1
 
Optimal multiserver configuration for profit maximization in cloud computing
Optimal multiserver configuration for profit maximization in cloud computingOptimal multiserver configuration for profit maximization in cloud computing
Optimal multiserver configuration for profit maximization in cloud computing
 
Performance testing and j meter
Performance testing and j meterPerformance testing and j meter
Performance testing and j meter
 
Software testing
Software testingSoftware testing
Software testing
 
Quick guide to plan and execute a load test
Quick guide to plan and execute a load testQuick guide to plan and execute a load test
Quick guide to plan and execute a load test
 
Server Performance by Tonny
Server Performance by TonnyServer Performance by Tonny
Server Performance by Tonny
 
Scale and Load Testing of Micro-Service
Scale and Load Testing of Micro-ServiceScale and Load Testing of Micro-Service
Scale and Load Testing of Micro-Service
 
Performance Testing
Performance Testing Performance Testing
Performance Testing
 

More from Torry Harris Business Solutions

Application Oriented Networks: An SOA Perspective | Torry Harris Whitepaper
Application Oriented Networks: An SOA Perspective | Torry Harris WhitepaperApplication Oriented Networks: An SOA Perspective | Torry Harris Whitepaper
Application Oriented Networks: An SOA Perspective | Torry Harris WhitepaperTorry Harris Business Solutions
 
Outsourcing SOA Implementation | Torry Harris Whitepaper
Outsourcing SOA Implementation | Torry Harris WhitepaperOutsourcing SOA Implementation | Torry Harris Whitepaper
Outsourcing SOA Implementation | Torry Harris WhitepaperTorry Harris Business Solutions
 
SOA Offshore Onsite Delivery Model | Torry Harris Whitepaper
SOA Offshore Onsite Delivery Model | Torry Harris WhitepaperSOA Offshore Onsite Delivery Model | Torry Harris Whitepaper
SOA Offshore Onsite Delivery Model | Torry Harris WhitepaperTorry Harris Business Solutions
 
SOA Open Source Implementation | Torry Harris Whitepaper
SOA Open Source Implementation | Torry Harris WhitepaperSOA Open Source Implementation | Torry Harris Whitepaper
SOA Open Source Implementation | Torry Harris WhitepaperTorry Harris Business Solutions
 
Comparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris WhitepaperComparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris WhitepaperTorry Harris Business Solutions
 
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris Whitepaper
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris WhitepaperEucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris Whitepaper
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris WhitepaperTorry Harris Business Solutions
 
BPM - The Soft Science of Change | Torry Harris Whitepaper
BPM - The Soft Science of Change | Torry Harris WhitepaperBPM - The Soft Science of Change | Torry Harris Whitepaper
BPM - The Soft Science of Change | Torry Harris WhitepaperTorry Harris Business Solutions
 

More from Torry Harris Business Solutions (20)

Application Rationalization | Torry Harris Whitepaper
Application Rationalization | Torry Harris WhitepaperApplication Rationalization | Torry Harris Whitepaper
Application Rationalization | Torry Harris Whitepaper
 
Application Oriented Networks: An SOA Perspective | Torry Harris Whitepaper
Application Oriented Networks: An SOA Perspective | Torry Harris WhitepaperApplication Oriented Networks: An SOA Perspective | Torry Harris Whitepaper
Application Oriented Networks: An SOA Perspective | Torry Harris Whitepaper
 
Outsourcing SOA Implementation | Torry Harris Whitepaper
Outsourcing SOA Implementation | Torry Harris WhitepaperOutsourcing SOA Implementation | Torry Harris Whitepaper
Outsourcing SOA Implementation | Torry Harris Whitepaper
 
SOA Migration Services | Torry Harris
SOA Migration Services | Torry HarrisSOA Migration Services | Torry Harris
SOA Migration Services | Torry Harris
 
SOA Roadmap and Education | Torry Harris
SOA Roadmap and Education | Torry HarrisSOA Roadmap and Education | Torry Harris
SOA Roadmap and Education | Torry Harris
 
SOA Offshore Onsite Delivery Model | Torry Harris Whitepaper
SOA Offshore Onsite Delivery Model | Torry Harris WhitepaperSOA Offshore Onsite Delivery Model | Torry Harris Whitepaper
SOA Offshore Onsite Delivery Model | Torry Harris Whitepaper
 
SOA Test Methodology | Torry Harris Whitepaper
SOA Test Methodology | Torry Harris WhitepaperSOA Test Methodology | Torry Harris Whitepaper
SOA Test Methodology | Torry Harris Whitepaper
 
SOA for Retail | Torry Harris Whitepaper
SOA for Retail | Torry Harris WhitepaperSOA for Retail | Torry Harris Whitepaper
SOA for Retail | Torry Harris Whitepaper
 
SOA for Telecom | Torry Harris Whitepaper
SOA for Telecom | Torry Harris WhitepaperSOA for Telecom | Torry Harris Whitepaper
SOA for Telecom | Torry Harris Whitepaper
 
A Guide to SOA Governance | Torry Harris Whitepaper
A Guide to SOA Governance | Torry Harris WhitepaperA Guide to SOA Governance | Torry Harris Whitepaper
A Guide to SOA Governance | Torry Harris Whitepaper
 
SOA Maturity Model | Torry Harris Whitepaper
SOA Maturity Model | Torry Harris WhitepaperSOA Maturity Model | Torry Harris Whitepaper
SOA Maturity Model | Torry Harris Whitepaper
 
SOA Open Source Implementation | Torry Harris Whitepaper
SOA Open Source Implementation | Torry Harris WhitepaperSOA Open Source Implementation | Torry Harris Whitepaper
SOA Open Source Implementation | Torry Harris Whitepaper
 
Migration and Security in SOA | Torry Harris Whitepaper
Migration and Security in SOA | Torry Harris WhitepaperMigration and Security in SOA | Torry Harris Whitepaper
Migration and Security in SOA | Torry Harris Whitepaper
 
Web Services in SOA | Torry Harris
Web Services in SOA | Torry HarrisWeb Services in SOA | Torry Harris
Web Services in SOA | Torry Harris
 
Cloud Catalyst Programme | Torry Harris Whitepaper
Cloud Catalyst Programme | Torry Harris WhitepaperCloud Catalyst Programme | Torry Harris Whitepaper
Cloud Catalyst Programme | Torry Harris Whitepaper
 
Cloud Computing Overview | Torry Harris Whitepaper
Cloud Computing Overview | Torry Harris WhitepaperCloud Computing Overview | Torry Harris Whitepaper
Cloud Computing Overview | Torry Harris Whitepaper
 
Comparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris WhitepaperComparison of Cloud Computing Services | Torry Harris Whitepaper
Comparison of Cloud Computing Services | Torry Harris Whitepaper
 
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris Whitepaper
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris WhitepaperEucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris Whitepaper
Eucalyptus on Xen - Build Enterprise Private Cloud | Torry Harris Whitepaper
 
BPM - The Soft Science of Change | Torry Harris Whitepaper
BPM - The Soft Science of Change | Torry Harris WhitepaperBPM - The Soft Science of Change | Torry Harris Whitepaper
BPM - The Soft Science of Change | Torry Harris Whitepaper
 
Web Service Extensions | Torry Harris Whitepaper
Web Service Extensions | Torry Harris WhitepaperWeb Service Extensions | Torry Harris Whitepaper
Web Service Extensions | Torry Harris Whitepaper
 

Recently uploaded

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 

Recently uploaded (20)

IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 

EAI Performance Analysis Web-Methods | Torry Harris Whitepaper

  • 1. © 2010 Torry Harris Business Solutions. All rights reserved Page 1 TORRY HARRIS BUSINESS SOLUTIONS Performance Analysis of webMethods Integrations using Apache JMeter Information Guide for JMeter Adoption Ganapathi Nanjappa 4/28/2010
  • 2. © 2010 Torry Harris Business Solutions. All rights reserved Page 2 1 Table of Contents 1. Abstract .................................................................................................................................................3 2. Introduction...........................................................................................................................................3 3. JMeter Test Plan....................................................................................................................................3 4. Sample Web Service under Test............................................................................................................4 5. Web Service Test Scenarios...................................................................................................................5 5.1 Scenario 1......................................................................................................................................5 5.2 Scenario 2......................................................................................................................................7 6. Monitoring IS sessions during test execution .......................................................................................8 7. Limitations of JMeter when used with webMethods IS........................................................................9 8. Conclusion...........................................................................................................................................10 9. References...........................................................................................................................................10
  • 3. © 2010 Torry Harris Business Solutions. All rights reserved Page 3 1. Abstract Performance testing is an important activity of any Enterprise Application Integration (EAI) project to ensure that the project delivered to the customer satisfies high load, availability and scalability requirements. In addition to providing the response times of the system under varying loads, performance tests also work as regression tests for the server and application code. Performance analysis is a critical part of performance testing that addresses the several questions on performance parameters such as server response time, maximum simultaneous users, duration of each service invocation, interval and wait times, session usage and expiry, and memory usage. Performance analysis makes sense of the performance testing results and helps to measure the data and interpret the results. This white paper presents a solution to test performance and analyze the results for web services that are deployed on the webMethods Integration Server using Apache JMeter. 2. Introduction Apache JMeter is a pure Java desktop application used widely for performance testing many different server types and protocols – HTTP(S), SOAP, JMS, JDBC, and LDAP etc. It is used to load test functional behavior and analyze the overall service performance under different load types. JMeter provides a graphical user interface for defining the test plans along with various elements that make up a test plan. webMethods Integration Server (IS) is the deployment container for all services built using webMethods Developer/Designer. All deployed services execute within the IS virtual machine, the IS receives requests from clients, invokes one or more services and returns a response to the client. In addition to the tools provided by JMeter for analyzing the results, the IS Administrator console provides a wealth of information that can be used to analyze real-time load patterns and fine tune the service performance. This white paper details how JMeter and IS Administrator can be used for analyzing the performance of web services deployed on webMethods IS. 3. JMeter Test Plan Web services can be tested in JMeter using the “WebService (SOAP) Request” sampler for SOAP 1.1 and “SOAP/XML-RPC Request” sampler for SOAP 1.2 specification. Apart from the web service sampler, the following are required to complete the test plan: • Thread Group to simulate users and the number of times to repeat the test • HTTP Authorization Manager configuration element for IS authentication • Graph Result listener to view the test results as a graph • Spline Visualizer listener to represent the test result as a smooth curve • View Results Tree listener to inspect the SOAP request, response and status • Any other Aggregate/Summary Report listeners required for analyzing the results
  • 4. © 2010 Torry Harris Business Solutions. All rights reserved Page 4 A sample JMeter test plan. In addition to the above elements, in a normal scenario some assertions will need to be added to the test plan to verify the results. Creating a JMeter specific IS user is recommended as this allows for easy monitoring of the IS. Note: To test web services using the SOAP 1.2 specification, a “HTTP Header Manager” needs to be included in the test plan before the SOAP/XML-RPC Request sampler. A new header name/value pair needs to be added to the header manager as shown: Name: Content-Type, Value: application/soap+xml; charset=utf-8; type="text/xml" The HTTP Header Manager configuration to test SOAP 1.2 web services. Without the header manager, the SOAP 1.2 web service invocation from JMeter will result in an error. 4. Sample Web Service under Test The underlying implementation of the web service under test is a flow service that retrieves connection statistics for all the adapter connections that are defined and enabled on the IS for a specified adapter type. The service accepts a single parameter “AdapterType” as input and retrieves the results. Example: if the input is specified as “JDBCAdapter”, the flow service invokes the ‘pub.art.connection:listAdapterConnections’ and loops over the each of the connection to get the connection statistics if the connection is enabled.
  • 5. © 2010 Torry Harris Business Solutions. All rights reserved Page 5 The underlying implementation of the web service under test. While the service under test is not a real business service, it is used for monitoring of adapter resources from a custom portlet deployed on My WebMethods Server. It is selected here for performance testing as it is dynamic (connection statistics keep changing every time an adapter service is invoked) and doesn’t require any additional packages and external systems/resources to be available. 5. Web Service Test Scenarios Two load scenarios were simulated using JMeter for analyzing the performance of the web service under test. The objective of the first test is to show that the service does not perform for the selected number of concurrent users within a specified time frame. The objective of the second test is to find an acceptable and realistic time frame for the number of concurrent users. 5.1 Scenario 1 In this scenario, a load of 300 concurrent users (requests) is generated on the server in 5 seconds. This means that a new request is received by the IS every 16.6 ms (5 seconds/300 users). The thread group settings and the results are shown below: JMeter ThreadGroup configuration – Scenario 1.
  • 6. © 2010 Torry Harris Business Solutions. All rights reserved Page 6 The Graph Result for the selected ThreadGroup configuration. With the load setting of 300 concurrent users in 5 seconds, the average response time of the service under test increases with each invocation as shown in the above graph result. This shows that the service under test is not scalable to a load of 300 concurrent users in 5 seconds. The Spline Result for the selected ThreadGroup configuration. The above Spline Visualizer shows a steep line to indicate the response times increasing with each request, along with the average response time of 12153 ms for 300 requests.
  • 7. © 2010 Torry Harris Business Solutions. All rights reserved Page 7 5.2 Scenario 2 In this scenario, a load of 300 concurrent users (requests) is generated on the server in 60 seconds. This means that a new request is received by the IS every 200 ms (60 seconds/300 users). The thread group settings and the results are shown below: JMeter ThreadGroup configuration – Scenario 2. The Graph Result for the selected ThreadGroup configuration. With the load setting of 300 concurrent users in 60 seconds, the average response time of the service under test remains constant (after the initial rise) with each invocation as shown in the above graph
  • 8. © 2010 Torry Harris Business Solutions. All rights reserved Page 8 result. This shows that the service under test is works well for a load of 300 concurrent users in 60 seconds. The Spline Result for the selected ThreadGroup configuration. The above Spline Visualizer shows a smooth curve to indicate the response times varying for different requests, along with the average response time of 1072 ms (compared to 12153 ms for scenario 1) for 300 requests. By comparing the two scenarios, it can be noted that the load settings in the second scenario is a more realistic expectation on the service performance. For the service under test to perform to the first scenario load, more hardware needs to be added and/or the service needs to be refined for performance. 6. Monitoring IS sessions during test execution The webMethods Integration Server Administrator provides various statistics on sessions, service usage, memory usage, service errors etc. that can be used to monitor the IS health during performance tests. These statistics also help in performance analysis and understanding the server behavior under different load patterns. Some of the statistics that are useful for analysis are described in this section. Session Usage: For every request received by the Integration Server from JMeter (or any other client), a new session is created. This session remains active until the ‘disconnect’ command is issued from JMeter or the session times out due to inactivity.
  • 9. © 2010 Torry Harris Business Solutions. All rights reserved Page 9 Integration Server session usage during the test. The above screen shot shows the 300 sessions opened by the 300 concurrent user load settings, additional session information is displayed on clicking the link. Service Usage: Every time the underlying flow/java services of the web service under test is invoked, the service run counter and the service invocation time is recorded in the service usage page in the IS administrator. Integration Server service statistics for the underlying implementation. The above screen shot shows the number of times the different services used by the service under test are executed. 7. Limitations of JMeter when used with webMethods IS Using JMeter for webMethods IS has the following limitations: • JMeter does not generate the SOAP requests automatically from the WSDL provided. The requested must be generated by external tools (SoapUI is a good example). • When a web service is invoked on the IS, a session is created on the IS. There is no facility available in JMeter to send a disconnect command to the IS. o Due to this limitation, all the sessions created by JMeter will timeout on the IS after the defined timeout interval. The IS default session timeout is 10 minutes, however based on the tests conducted, it is recommended to reduce the timeout to 3 minutes for the performance testing to free the unused sessions. o There is also no facility in JMeter to reuse a IS session. The IS session seems to be maintained only at the IS level and not at the client level.
  • 10. © 2010 Torry Harris Business Solutions. All rights reserved Page 10 o The same limitation was observed for performance tests conducted with SoapUI as well. • Even after a JMeter makes successful requests to the IS, the request count in the “Current Sessions” IS administrator page shows the request count as 0. o The request count seems to increase only for webMethods components such as Administrator and Developer. o However, the service usage count in the “Service Usage” IS administrator page displays the count correctly. 8. Conclusion JMeter provides an easy interface for setting up and executing performance tests. It also provides the necessary tools for analyzing the performance data and results. When used with the webMethods Integration Server, the resource usage on the webMethods Integration Server can be monitored in real- time and this allows for modification of system parameters for performance optimization. With a variety of listeners available out of the box, performance analysis becomes simpler and less time consuming. JMeter can also be used for executing JUnit tests, regression tests and JMS testing, making it a valuable asset in delivering quality code that is also highly scalable. 9. References http://jakarta.apache.org/jmeter/usermanual/index.html http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html