SlideShare a Scribd company logo
1 of 39
Download to read offline
IBM European WebSphere
Technical Conference
14 – 18 November 2008, Barcelona, Spain
© 2008 IBM Corporation
Conference materials may not be reproduced in whole or in part without the prior written permission of IBM.
WebSphere Performance FundamentalsWebSphere Performance Fundamentals
Session Number: WSI32Session Number: WSI32 Hendrik van RunHendrik van Run –– hvanrun@uk.ibm.comhvanrun@uk.ibm.com
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
2
What is Performance?What is Performance?
Performance is defined as a non-functional requirement (NFR)
Defines an operational capability of the application and system
Integrating performance requirements into a project requires balance
Too much functional emphasis leads to poor operational behavior
Too much performance emphasis may inhibit fundamental utility
Performance requires lifecycle attention and specialized verification
Requires consideration, management, and tracking through all phases
Functional and integration verification cannot predict operational performance
Performance EmphasisFunctional Emphasis
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
3
Performance LifecyclePerformance Lifecycle
Capacity Planning
Project Planning
Architecture and Design
Development
Verification
Operations
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
4
Capacity PlanningCapacity Planning
Defining Performance RequirementsDefining Performance Requirements
Response Time
Time required to process a request
Typically more critical for systems supporting direct user interaction
Throughput
How many things (requests, messages, etc.) the system can produce in a unit of time
Often the key metric expressed for message-based systems
Throughput is interdependent with response time for systems supporting end users
• These systems may run under their maximum throughput in order to meet responsiveness
goals
Users
A metric for systems supporting direct user interaction, such as web sites
Users often imply a memory footprint requirement for tasteful systems
In some cases, the only metric available
• Throughput and response time must be interpolated from desired user traffic
• Metrics based on understanding of system flow
All these requirements are typically included in Service Level Agreements (Slaps)
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
5
Capacity PlanningCapacity Planning
Determining Load and Response Time TargetsDetermining Load and Response Time Targets
Always develop requirements around peak load
If the system doesn’t support peak, it does not function
Often a significant difference between “peak” and “average” loading
Web Site Traffic Arrival
0
20
40
60
80
100
Time
Requests/Second
Average
Peak
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
6
Capacity PlanningCapacity Planning
Availability and Recovery RequirementsAvailability and Recovery Requirements
High availability and recovery requirements represent another class of
non-functional requirements (NFRs)
Define criteria for resiliency to various failures
This includes the user’s experience during certain classes of failures
Also the timeframe for recovery (seconds? Minutes? Hours? Days?)
Results in requirements that impact all areas of the system
Software, hardware, physical locale, personnel, etc.
Important to identify core needs before writing requirements
Traffic patterns and existing maintenance cycles may make extreme requirements unnecessary
In many cases, doing nothing is often a viable and reasonable option
Address availability and recovery their own initiatives
Integrated with the overall project plan, of course
Usually ongoing after the delivery of the initial software system
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
7
Capacity PlanningCapacity Planning
Building an Initial Capacity Plan for the WebSphere TierBuilding an Initial Capacity Plan for the WebSphere Tier
Obtain an initial capacity estimate during contract phase
Revisit the estimate during the design phase
Are the initial assumptions still applicable?
Is there a fundamental change in assumptions that could impact
the capacity required?
Plan for the capacity required for the purchase lifecycle of the systems
Growth projections
Failover requirements
Include test environments as well as the production systems
Minimum 25-50% of production infrastructure for performance verification
Other systems for function and integration testing
Remember the estimate is only as good as the data provided!
Also, remember to validate any estimates with testing prior to deployment
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
8
Capacity PlanningCapacity Planning
IBM Techline Sizing SupportIBM Techline Sizing Support
Techline provides software and server sizing recommendations
Across the entire IBM brand* portfolio
Covering a full range of server platforms
SOA Sizing Methodology and support developed by Techline with an Express
offering for SMB customers
Techline may be engaged by IBM Field Specialists and Business Partners to
provide remote Client support that includes:
Consultation throughout the sizing process
Detailed Client deliverable with projected resource requirements
Review of final recommendations
Techline provides leadership to the IBM Sizing Board and is an advocate in
driving sizing tool requirements
* Pending tooling for Rational Sizing
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
9
Performance LifecyclePerformance Lifecycle
Capacity Planning
Project Planning
Architecture and Design
Development
Verification
Operations
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
10
Performance is not a point-in-time activity at end of project
Many project plans limit performance activities to end of cycle
Significant performance requirements unmanaged for the bulk of the product lifecycle
Successful projects manage performance throughout
Performance “swim-lane” added to project plans
• Coordinates performance with early phase activities
• Keeps performance visible on the project plan throughout
Performance design and implementation expertise engaged throughout
Regular activities to:
• Track key metrics against targets
• Prepare for verification phase(s) of the projects
• Develop resources, skills and processes for management of code, environments and
content
Validate performance criteria at each phase of the project
A performance test effort alone does not guarantee meeting Service Level Agreements
(Slaps)!
Project PlanningProject Planning
Managing for PerformanceManaging for Performance
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
11
Project PlanningProject Planning
Example of Lifecycle Performance ActivitiesExample of Lifecycle Performance Activities
Performance Activities
During Design
Performance Activities During
Coding and Unit Testing
Design
Development
Verification
Delivery
Performance Testing
Review and validate NFRs
with IT and Business
Assist with application
flow design
Performance Education
for Developers
Component design
reviews focused on
performance
System maintenance
strategies
Phase 1 of Performance
Validation begins: Developer
performed application
profiling
Identify initial cache strategy
Implementation of system
maintenance strategies
Build performance
verification environment
(including data)
Finalize Performance
Testing Plan
Prioritization and risk
mitigation planning with
Business
Performance Test Prep Steps:
Script creation, test data
creation, environment
validation, etc
Multiple phased test approach
applied
Single system and scale-up
testing
Endurance runs
Availability testing at end of
this phase
Prioritization and risk
mitigation planning with
Business
Launch and Post-
Launch Performance
Activities
Migration of tuned
settings to production
Production system
monitoring &
troubleshooting
Analysis of production
access logs >> advise
on script rework
Performance testing of
initial round of post-
launch fixes
On-going interlock with
Business to understand
future plans
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
12
Project PlanningProject Planning
Key Performance RolesKey Performance Roles
Develops & Maintains
Workload
Scripts
Test data reporting
Code profiling analysis &
recommendations
Analysis of results, debug &
tuning of middleware
applications
Guidance on performance
test design
Leader for Performance team
Overall leadership in performance aspects of
solution architecture & design
Ownership of Performance Related NFRs
Leads Performance Verification Activities
Performance Analysis &
Recommendations for:
SQL queries
Database indexes
Database configuration
Etc.
Overall coordination of performance engagement
activities
Reporting of results
Drives issue resolution
Links performance with PM for overall project
Cache Design &
Implementation
Performance Architect Project Manager
Performance Specialist --
Test & Script
Performance Specialist –
Middleware performance
Performance Specialist --
Database
Performance Specialist --
Caching (optional)
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
13
Engaged throughout project lifecycle
Engaged during the Verification phase
Project PlanningProject Planning
Performance StaffingPerformance Staffing
1. Design
2.Development
3. Verification
4.Delivery
Product
SMEs
Performance
Lead
Senior Project
Architect
Performance
Analysis
Script
Development
Test Execution &
Data Collection
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
14
Project PlanningProject Planning
Performance and Iterative DevelopmentPerformance and Iterative Development
Agile and other iterative models
Deep slices of functionality delivered at frequent intervals
Stakeholder approval sought at each delivery point
Include performance criteria as part of approval process
Delivery not final until functionality proven to perform
Exercising iterative model requires:
Building a test environment early in anticipation of early deliveries
Bringing scripter's and other performance staff on-board early
Regression coverage between iterations
Maintaining development coverage until final testing complete
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
15
Performance LifecyclePerformance Lifecycle
Capacity Planning
Project Planning
Architecture and Design
Development
Verification
Operations
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
16
Architecture and DesignArchitecture and Design
Performance ConsiderationsPerformance Considerations
Providing functionality while meeting operational objectives
Application considerations
Efficient implementation of use cases
Identifying potential caching opportunities for future exploitation
Selecting technologies appropriate to the requirements
Topology considerations
Balancing “enterprise flexibility” with deployment reality
Identifying potential dataflow bottlenecks
Resiliency considerations
Streamlining core function
Isolating areas of instability or potential unreliability
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
17
Performance LifecyclePerformance Lifecycle
Capacity Planning
Project Planning
Architecture and Design
Development
Verification
Operations
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
18
DevelopmentDevelopment
Common Application IssuesCommon Application Issues
Concurrency/Throughput Prohibitors
Coding techniques may keep the system from full concurrency
• Synchronized code blocks
− Note that Java libraries can contain synchronised code blocks too!
• Long code paths
• Build log messages only if logging is enabled
Efficiency Issues
Often tied to interaction with remote systems and database
• Consider using Prepared Statements instead of Statements when using JDBC for database
access
• Keep the size of the ResultSet as small as possible
− Only return the data you need from the database!
• Work with Database Administrators to ensure well formed SQL statements
Memory Issues
Memory budget for each transaction/user extremely high
Only create HttpSessions when you need them
Handling XML documents in Java can require a lot of memory
• XML parsing and applying XSL Transformations can be expensive in Java
• Consider using an XML appliance such as IBM DataPower for XSL Transformations
− In some cases the browser can be used to handle XSL Transformations
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
19
DevelopmentDevelopment
HttpSession ManagementHttpSession Management
HttpSession objects hold a user’s state information between visits
Session data is stored in the Java heap, together with application objects
Large HttpSessions impact scalability
Require more Java heap and potentially a larger heap size
• Result in more complex and expensive deployments (clustering and tuning)
Impact on HttpSession persistence
• Serialisation overhead increases with the size of the session object
Best Practices
Keep session data minimal per user
Proactively manage sessions
• Remove data as it becomes unneeded
• Use the session.invalidate() method to remove HttpSessions after logouts, etc.
Use transient keyword to mark data you do not need to persist
Only return updated data values to the session
Avoid using cyclic data graphs and non-serialisable items for persistent sessions
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
20
DevelopmentDevelopment
EJBsEJBs
Use the façade bean pattern
Stateless Session Bean to interact with Entity Beans
Results in a single transaction when the beans are running in the same application
server
Avoid extremely fine-grained EJB models
Extreme scenarios with hundreds of EJBs created for each request
Redesign this layer to accommodate a more granular model
• Use tooling to build a reasonable model
Proactively manage Stateful Session Beans
Use the ejb.remove() method when no longer needed
Avoid passivation
Memory implications across the cluster with new failover feature
• Similar to managing HttpSessions
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
21
DevelopmentDevelopment
JMSJMS
JMS messaging runs in-process in WebSphere 6.0 and higher
Reduces messaging overhead for light-weight messaging
Non-persistent messaging requires no external process interaction
• Reduces overhead as Java objects do not have to be serialised
Correctness always the most important consideration
• Use transactional support for multiple, inter-dependent messages
• Otherwise, non-transactional messaging (default) more efficient
Use light-weight acknowledgement, if possible
• DUPS_OK_ACKNOWLEDGE least expensive/greatest risk of re-delivery,
duplicates
• AUTO_ACKNOWLEDGE most expensive/no duplicate messages
Cache JMS objects that are thread-safe
Queue, QueueConnection, QueueConnectionFactory
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
22
DevelopmentDevelopment
Web ServicesWeb Services
Enables communication between heterogeneous applications
For example integrating IBM WebShere with Microsoft ASP.NET
Not a communication mechanism for application layers within a JVM
Use normal application protocols for better performance, fewer objects
Add distributed communications logic only if you distribute
General Web Services tips
Keep documents small and simple
• Large, complex documents increase parsing and serialization
• Also, avoid deeply nested payloads
Keep metadata vs. data ratio small
RMI/IIOP vs. Web Services
Performance of some Web Services payloads approaches RMI/IIOP performance
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
23
DevelopmentDevelopment
WebSphere Dynamic Cache ServiceWebSphere Dynamic Cache Service
Consider using the WebSphere Dynamic Cache Service (DCS) during application design
Part of design rather than retrofitting later
Organize page layout and design for DCS policy based caching
Servlet/JSP caching to hold repetitive, expensive page elements
Stateful elements vs. general use elements
Consider using DCS API based caching
Leverage DCS within the application
Distributed Map API usually most obvious choice
Leverage new caching structure
Multiple internal caches now supported
Split objects into different caches to more efficiently distribute cache data
Consider WebSphere Extreme Scale for applications that make extensive use of caching
Can provide significant benefit over DCS for certain scenarios
More details in WSI35 - WebSphere Extreme Scale Customer Scenarios and Use Cases
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
24
Performance LifecyclePerformance Lifecycle
Capacity Planning
Project Planning
Architecture and Design
Development
Verification
Operations
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
25
VerificationVerification
Four Phases of Performance TestingFour Phases of Performance Testing
Phase 1
Single User
Testing
• Detailed code analysis
• Pathlength
• Memory footprint
• Basic SQL structure
• Application architecture
Phase 2
Single System
Concurrency
Testing
• Single system
• Drive full workload mix
• Iterative test and fix/tune
• Establish tuned reference
Phase 3
Incremental
Scale
Testing
• Incrementally grow farm
• Apply single sys. Tuning
• Iterative fix/tune
• Failover
• Long runs
Phase 4
Stability
Testing
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
26
VerificationVerification
Phase 1Phase 1 –– Single User TestingSingle User Testing
Pathlength Analysis
Limited runtime view of the application
IBM Rational Application Developer or other code profiling tool
Useful for:
• Identifying inefficiencies, some locking and memory problems
Not useful for:
• Subtle locking and memory problems, resource consumption issues, etc.
Static Analysis
Code reviews, performance “lint” tools, pattern identifiers, etc.
Static view of code
Useful for:
• Identifying anti-patterns, poor programming practices
Not good for:
• Identifying concurrency issues, memory issues, etc.
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
27
VerificationVerification
Phase 2Phase 2 –– Iterative Testing and TuningIterative Testing and Tuning
Concurrency testing
Testing under representative
loading
Custom-crafted using load testing
tool
Essential for understanding
application behavior during
production
Useful for finding:
• Subtle, large-scale problems
and concurrency/resource
issues
Establish maximum throughput
Maximum throughput typically
reaches a plateau before falling
Response times and number of
users should be captured as well
Throughput(tr/s) Concurrent Users
Throughput plateau
Light Load Zone Heavy Load Zone Buckle Zone
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
28
VerificationVerification
Phase 2Phase 2 –– Iterative Testing and TuningIterative Testing and Tuning
1. Test
Sufficient duration
Measure at steady-state
2. Observe
Look at all systems, logs, etc
Record results!
3. Minimal adjustment
Plan for next test and make adjustments
Limit change between runs!
1. Test
2.Observe
3.A
djust
First establish a baseline
What the system does now
Essential for measuring improvement
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
29
VerificationVerification
Entrance CriteriaEntrance Criteria
Align functional testing exit criteria with performance entrance criteria
Criteria to consider:
No outstanding high-severity problems
Modest quantity of mid-severity problems
Decreasing rate of new problem discovery
• Also an overall metric of stability
• Discourages developers from re-categorizing severities to meet a deadline
Impact to performance scripts from flow/layout changes understood
Clean, production-level logs
Develop a regression test for iterative drops/bug fixes
Drops should not break existing functionality
New code should operate near the performance of old code
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
30
VerificationVerification
Exit CriteriaExit Criteria
Performance requirements satisfied
Solution meets non-functional requirements (NFRs)
Infrastructure demonstrates scalability
Hardware scales to capacity plan
• Predicted loads execute within CPU budget
• System can make full use of CPU available
• Applications operate within memory budget
Bottlenecks identified and understood
System is stable
Repeatable, predictable behavior
No pathological indicators (paging, etc.)
System sustains performance over operational period
Clean logs
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
31
Performance LifecyclePerformance Lifecycle
Capacity Planning
Project Planning
Architecture and Design
Development
Verification
Operations
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
32
OperationsOperations
Crossing Organisation SilosCrossing Organisation Silos
Systems Networks Software
Data
Management
Custom
Application
Performance VerificatiPerformance Verification/Testing/Tuning/Analon/Testing/Tuning/Analysisysis
System management
Crosses traditional I/T silos
More difficult to manage/support
Help team manage and identify
Manage areas under their control
Identify issues in components outside their control
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
33
OperationsOperations
Moving to DeploymentMoving to Deployment
Move tuning settings to production
Apply optimal settings to the production environment
• WebSphere/J2EE configuration settings
• Tuned application
• OS settings
• Updates to other systems (databases, WebSphere MQ, etc)
Implies compatibility between test and production
• Hardware and software versions
Use test “normals” for initial monitoring settings
CPU, I/O, network traffic, logs, etc.
Use metrics to describe abnormal situations for monitoring
Iterative process
• Re-evaluate after first weeks of live deployment
• Develop more accurate monitoring settings based on live traffic patterns
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
34
OperationsOperations
Other ConsiderationsOther Considerations
Limited rollout
Reduces risk for new sites
Validate assumptions about use cases and workload mix
Difficult to setup for public sites
Performance Test Environment
After deployment, maintain a test environment for the site
Similar in hardware and design as the production site
Useful for
• Testing updates, fixes, and new application releases/features
• Recreating production problems and troubleshooting
Troubleshooting in the live site problematic
• Tracing and iterative debug often intrusive
• Test environment supports debug without impacting user experience
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
35
SummarySummary
Successful projects focus on performance early and continuously
Designed, written, and tested for performance
Optimizations considered and exploited throughout the lifecycle
Cross-organizational approach taken
Verification requires planning, skill, and time
Just two weeks at the end of a major project is insufficient to ensure successful
launch
Larger projects require more testing
• Scale up testing
• Validation of backend components
Team must cross organisational silos
• Tuning not only for web and application tier, but also for other systems
Use historical information to predict new site behavior
Confirm with testing and limited roll-out, if possible
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
36
ReferencesReferences
Kyle Brown and Keys Botzum: Improving HttpSession Performance with Smart
Serialization
http://www.ibm.com/developerworks/websphere/library/bestpractices/httpsession_perfor
mance_serialization.html
Many thanks to Stacy Joines for her contributions to this presentation.
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
37
Other SessionsOther Sessions
WSI33 – Advanced Performance Tactics for IBM WebSphere Application Server
WSI35 – WebSphere Extreme Scale Customer Scenarios and Use Cases
WebSphere Technical Conference and Transaction & Messaging Technical Conference
© 2008 IBM Corporation
38
Further ReadingFurther Reading
Performance Analysis for Java Web Sites
Joines, Willenborg, Hygh
IBM WebSphere Deployment and Advanced Configuration
Barcia, et al
IBM Web Sphere System Administration
Williamson, et al
WebSphere Application Server: Step by Step
Turaga, et al
Persistence in the Enterprise
Barcia, Hambrick, et al
IBM European WebSphere
Technical Conference
14 – 18 November 2008, Barcelona, Spain
© 2008 IBM Corporation
Conference materials may not be reproduced in whole or in part without the prior written permission of IBM.
Questions ?Questions ?
Thank you for attending! Please complete your session evaluationThank you for attending! Please complete your session evaluation, s, session number is WSI32ession number is WSI32..

More Related Content

What's hot

Asha Jacob_Resume
Asha Jacob_ResumeAsha Jacob_Resume
Asha Jacob_ResumeAsha Jacob
 
Business Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationBusiness Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationMichael zur Muehlen
 
HP ALM; HP ALI 2.5
HP ALM; HP ALI 2.5HP ALM; HP ALI 2.5
HP ALM; HP ALI 2.5Ronit Soen
 
Architecture solution architecture method
Architecture solution architecture methodArchitecture solution architecture method
Architecture solution architecture methodChris Eaton
 
Agile Development using HP Agile Manager and HP Quality Center / ALM
Agile Development using HP Agile Manager and HP Quality Center / ALMAgile Development using HP Agile Manager and HP Quality Center / ALM
Agile Development using HP Agile Manager and HP Quality Center / ALMpd7.group
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration ManagementChandan Chaurasia
 
4 agile developement_using_ccrc-sujeet_mishra
4 agile developement_using_ccrc-sujeet_mishra4 agile developement_using_ccrc-sujeet_mishra
4 agile developement_using_ccrc-sujeet_mishraIBM
 
Understanding change impact across the electronics software, hardware, and fi...
Understanding change impact across the electronics software, hardware, and fi...Understanding change impact across the electronics software, hardware, and fi...
Understanding change impact across the electronics software, hardware, and fi...Ad Ghauri
 
Thota Venkata Phanindra_IT_Design Engineer – Process Automation_9years_CV_
Thota Venkata Phanindra_IT_Design Engineer – Process Automation_9years_CV_Thota Venkata Phanindra_IT_Design Engineer – Process Automation_9years_CV_
Thota Venkata Phanindra_IT_Design Engineer – Process Automation_9years_CV_Thota Venkata Phanindra
 
SAP PLM BOM (Bill of Material) Redlining
SAP PLM BOM (Bill of Material) RedliningSAP PLM BOM (Bill of Material) Redlining
SAP PLM BOM (Bill of Material) RedliningEric Stajda
 
Maintenance & Re-Engineering of Software
Maintenance & Re-Engineering of SoftwareMaintenance & Re-Engineering of Software
Maintenance & Re-Engineering of SoftwareAdeel Riaz
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration ManagementRajesh Kumar
 
Overview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesOverview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesAd Ghauri
 
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps IBM UrbanCode Products
 
Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIDevOps for Enterprise Systems
 
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...IBM Rational software
 
Driving business-agility-with-business-process-management-slide
Driving business-agility-with-business-process-management-slideDriving business-agility-with-business-process-management-slide
Driving business-agility-with-business-process-management-slideAericon
 
Flevy.com - Feasibility Study Template for Electronic Software Distribution
Flevy.com - Feasibility Study Template for Electronic Software DistributionFlevy.com - Feasibility Study Template for Electronic Software Distribution
Flevy.com - Feasibility Study Template for Electronic Software DistributionDavid Tracy
 

What's hot (20)

Asha Jacob_Resume
Asha Jacob_ResumeAsha Jacob_Resume
Asha Jacob_Resume
 
Business Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process InnovationBusiness Process Management - From Market Consolidation to Process Innovation
Business Process Management - From Market Consolidation to Process Innovation
 
HP ALM; HP ALI 2.5
HP ALM; HP ALI 2.5HP ALM; HP ALI 2.5
HP ALM; HP ALI 2.5
 
Architecture solution architecture method
Architecture solution architecture methodArchitecture solution architecture method
Architecture solution architecture method
 
Agile Development using HP Agile Manager and HP Quality Center / ALM
Agile Development using HP Agile Manager and HP Quality Center / ALMAgile Development using HP Agile Manager and HP Quality Center / ALM
Agile Development using HP Agile Manager and HP Quality Center / ALM
 
Software Configuration Management
Software Configuration ManagementSoftware Configuration Management
Software Configuration Management
 
4 agile developement_using_ccrc-sujeet_mishra
4 agile developement_using_ccrc-sujeet_mishra4 agile developement_using_ccrc-sujeet_mishra
4 agile developement_using_ccrc-sujeet_mishra
 
Understanding change impact across the electronics software, hardware, and fi...
Understanding change impact across the electronics software, hardware, and fi...Understanding change impact across the electronics software, hardware, and fi...
Understanding change impact across the electronics software, hardware, and fi...
 
Thota Venkata Phanindra_IT_Design Engineer – Process Automation_9years_CV_
Thota Venkata Phanindra_IT_Design Engineer – Process Automation_9years_CV_Thota Venkata Phanindra_IT_Design Engineer – Process Automation_9years_CV_
Thota Venkata Phanindra_IT_Design Engineer – Process Automation_9years_CV_
 
SAP PLM BOM (Bill of Material) Redlining
SAP PLM BOM (Bill of Material) RedliningSAP PLM BOM (Bill of Material) Redlining
SAP PLM BOM (Bill of Material) Redlining
 
Maintenance & Re-Engineering of Software
Maintenance & Re-Engineering of SoftwareMaintenance & Re-Engineering of Software
Maintenance & Re-Engineering of Software
 
Configuration Management
Configuration ManagementConfiguration Management
Configuration Management
 
Overview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware FilesOverview&Framework 1-Manage Software and Firmware Files
Overview&Framework 1-Manage Software and Firmware Files
 
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
Mobile to mainframe - The Challenges and Best Practices of Enterprise DevOps
 
Soumyajit_Banerjee_CV
Soumyajit_Banerjee_CVSoumyajit_Banerjee_CV
Soumyajit_Banerjee_CV
 
Quantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROIQuantifying DevOps Adoption Empirically for Demonstrable ROI
Quantifying DevOps Adoption Empirically for Demonstrable ROI
 
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
Dmt 5899 workshop - Learn to Collaborate, Trace, Review and Reuse Your Requir...
 
Oracle Aim Methodology
Oracle Aim MethodologyOracle Aim Methodology
Oracle Aim Methodology
 
Driving business-agility-with-business-process-management-slide
Driving business-agility-with-business-process-management-slideDriving business-agility-with-business-process-management-slide
Driving business-agility-with-business-process-management-slide
 
Flevy.com - Feasibility Study Template for Electronic Software Distribution
Flevy.com - Feasibility Study Template for Electronic Software DistributionFlevy.com - Feasibility Study Template for Electronic Software Distribution
Flevy.com - Feasibility Study Template for Electronic Software Distribution
 

Similar to WSI32 - IBM WebSphere Performance Fundamentals

T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellenceveehikle
 
IBM: Inteligentný manažment testovacích a vývojových prostredí
IBM: Inteligentný manažment testovacích a vývojových prostredí IBM: Inteligentný manažment testovacích a vývojových prostredí
IBM: Inteligentný manažment testovacích a vývojových prostredí ASBIS SK
 
Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)Felipe Freire
 
What is performance_engineering_v0.2
What is performance_engineering_v0.2What is performance_engineering_v0.2
What is performance_engineering_v0.2Trevor Warren
 
Managing IT as A Service with System Center
Managing IT as A Service with System CenterManaging IT as A Service with System Center
Managing IT as A Service with System CenterLai Yoong Seng
 
DevOps for Enterprise Systems Overview
DevOps for Enterprise Systems OverviewDevOps for Enterprise Systems Overview
DevOps for Enterprise Systems OverviewRosalind Radcliffe
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Rosalind Radcliffe
 
Using Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A SimplifiedUsing Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A Simplifiedcbb010
 
Dops 1033 dev-ops_review_final
Dops 1033 dev-ops_review_finalDops 1033 dev-ops_review_final
Dops 1033 dev-ops_review_finalDaniel Berg
 
Kovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair
 
Resume_Atanu_Ganguly
Resume_Atanu_GangulyResume_Atanu_Ganguly
Resume_Atanu_GangulyAtanu Ganguly
 
Keyword Driven Automation
Keyword Driven AutomationKeyword Driven Automation
Keyword Driven AutomationPankaj Goel
 
DevOps in the Hybrid Cloud
DevOps in the Hybrid CloudDevOps in the Hybrid Cloud
DevOps in the Hybrid CloudRichard Irving
 

Similar to WSI32 - IBM WebSphere Performance Fundamentals (20)

T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellence
 
IBM: Inteligentný manažment testovacích a vývojových prostredí
IBM: Inteligentný manažment testovacích a vývojových prostredí IBM: Inteligentný manažment testovacích a vývojových prostredí
IBM: Inteligentný manažment testovacích a vývojových prostredí
 
Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)Webcast Automação Implantação de Aplicações (DevOps)
Webcast Automação Implantação de Aplicações (DevOps)
 
What is performance_engineering_v0.2
What is performance_engineering_v0.2What is performance_engineering_v0.2
What is performance_engineering_v0.2
 
Managing IT as A Service with System Center
Managing IT as A Service with System CenterManaging IT as A Service with System Center
Managing IT as A Service with System Center
 
Harish Srivastava -Resume
Harish Srivastava -ResumeHarish Srivastava -Resume
Harish Srivastava -Resume
 
Shirish Sonawane_CV
Shirish Sonawane_CVShirish Sonawane_CV
Shirish Sonawane_CV
 
DevOps for Enterprise Systems Overview
DevOps for Enterprise Systems OverviewDevOps for Enterprise Systems Overview
DevOps for Enterprise Systems Overview
 
Ravi_Nelluri_QA
Ravi_Nelluri_QARavi_Nelluri_QA
Ravi_Nelluri_QA
 
Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402Dev ops for mainframe innovate session 2402
Dev ops for mainframe innovate session 2402
 
Using Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A SimplifiedUsing Doors® And Taug2® To Support A Simplified
Using Doors® And Taug2® To Support A Simplified
 
Dops 1033 dev-ops_review_final
Dops 1033 dev-ops_review_finalDops 1033 dev-ops_review_final
Dops 1033 dev-ops_review_final
 
Rajesh_Dhanuskodi
Rajesh_DhanuskodiRajesh_Dhanuskodi
Rajesh_Dhanuskodi
 
Sdlc
SdlcSdlc
Sdlc
 
Kovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor ToolsKovair Omnibus Integration with Multi Vendor Tools
Kovair Omnibus Integration with Multi Vendor Tools
 
Resume_Atanu_Ganguly
Resume_Atanu_GangulyResume_Atanu_Ganguly
Resume_Atanu_Ganguly
 
Nandini-CV
Nandini-CVNandini-CV
Nandini-CV
 
Keyword Driven Automation
Keyword Driven AutomationKeyword Driven Automation
Keyword Driven Automation
 
Mohamed Tawila CV
Mohamed Tawila CVMohamed Tawila CV
Mohamed Tawila CV
 
DevOps in the Hybrid Cloud
DevOps in the Hybrid CloudDevOps in the Hybrid Cloud
DevOps in the Hybrid Cloud
 

More from Hendrik van Run

Open shift deployment review getting ready for day 2 operations
Open shift deployment review   getting ready for day 2 operationsOpen shift deployment review   getting ready for day 2 operations
Open shift deployment review getting ready for day 2 operationsHendrik van Run
 
WSI35 - WebSphere Extreme Scale Customer Scenarios and Use Cases
WSI35 - WebSphere Extreme Scale Customer Scenarios and Use CasesWSI35 - WebSphere Extreme Scale Customer Scenarios and Use Cases
WSI35 - WebSphere Extreme Scale Customer Scenarios and Use CasesHendrik van Run
 
WSI33 - Advanced Performance Tactics for IBM WebSphere Application Server
WSI33 - Advanced Performance Tactics for IBM WebSphere Application ServerWSI33 - Advanced Performance Tactics for IBM WebSphere Application Server
WSI33 - Advanced Performance Tactics for IBM WebSphere Application ServerHendrik van Run
 
W23 - Advanced Performance Tactics for WebSphere Performance
W23 - Advanced Performance Tactics for WebSphere PerformanceW23 - Advanced Performance Tactics for WebSphere Performance
W23 - Advanced Performance Tactics for WebSphere PerformanceHendrik van Run
 
W22 - WebSphere Performance for Multicore and Virtualised Platforms
W22 - WebSphere Performance for Multicore and Virtualised PlatformsW22 - WebSphere Performance for Multicore and Virtualised Platforms
W22 - WebSphere Performance for Multicore and Virtualised PlatformsHendrik van Run
 
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...Hendrik van Run
 
2596 - Integrating PureApplication System Into Your Network
2596 - Integrating PureApplication System Into Your Network2596 - Integrating PureApplication System Into Your Network
2596 - Integrating PureApplication System Into Your NetworkHendrik van Run
 
1457 - Reviewing Experiences from the PureExperience Program
1457 - Reviewing Experiences from the PureExperience Program1457 - Reviewing Experiences from the PureExperience Program
1457 - Reviewing Experiences from the PureExperience ProgramHendrik van Run
 
CSD-2881 - Achieving System Production Readiness for IBM PureApplication System
CSD-2881 - Achieving System Production Readiness for IBM PureApplication SystemCSD-2881 - Achieving System Production Readiness for IBM PureApplication System
CSD-2881 - Achieving System Production Readiness for IBM PureApplication SystemHendrik van Run
 
ACU-1445 - Bringing workloads into production on PureApplication System
ACU-1445 - Bringing workloads into production on PureApplication SystemACU-1445 - Bringing workloads into production on PureApplication System
ACU-1445 - Bringing workloads into production on PureApplication SystemHendrik van Run
 
CIT-2697 - Customer Success Stories with IBM PureApplication System
CIT-2697 - Customer Success Stories with IBM PureApplication SystemCIT-2697 - Customer Success Stories with IBM PureApplication System
CIT-2697 - Customer Success Stories with IBM PureApplication SystemHendrik van Run
 
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...Hendrik van Run
 
IC6284A - The Art of Choosing the Best Cloud Solution
IC6284A - The Art of Choosing the Best Cloud SolutionIC6284A - The Art of Choosing the Best Cloud Solution
IC6284A - The Art of Choosing the Best Cloud SolutionHendrik van Run
 
C219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherC219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherHendrik van Run
 
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...Hendrik van Run
 
C418 - Build, Deploy and Manage Your First Open Pattern with PureApplication ...
C418 - Build, Deploy and Manage Your First Open Pattern with PureApplication ...C418 - Build, Deploy and Manage Your First Open Pattern with PureApplication ...
C418 - Build, Deploy and Manage Your First Open Pattern with PureApplication ...Hendrik van Run
 
7450A - CRONOS helping ENGIE adopting Private Cloud with Bluemix Local System
7450A - CRONOS helping ENGIE adopting Private Cloud with Bluemix Local System7450A - CRONOS helping ENGIE adopting Private Cloud with Bluemix Local System
7450A - CRONOS helping ENGIE adopting Private Cloud with Bluemix Local SystemHendrik van Run
 
IBM Cloud University 2017 session BLUE010 - How Dutch Tax Built Their Core Bu...
IBM Cloud University 2017 session BLUE010 - How Dutch Tax Built Their Core Bu...IBM Cloud University 2017 session BLUE010 - How Dutch Tax Built Their Core Bu...
IBM Cloud University 2017 session BLUE010 - How Dutch Tax Built Their Core Bu...Hendrik van Run
 
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...Hendrik van Run
 

More from Hendrik van Run (19)

Open shift deployment review getting ready for day 2 operations
Open shift deployment review   getting ready for day 2 operationsOpen shift deployment review   getting ready for day 2 operations
Open shift deployment review getting ready for day 2 operations
 
WSI35 - WebSphere Extreme Scale Customer Scenarios and Use Cases
WSI35 - WebSphere Extreme Scale Customer Scenarios and Use CasesWSI35 - WebSphere Extreme Scale Customer Scenarios and Use Cases
WSI35 - WebSphere Extreme Scale Customer Scenarios and Use Cases
 
WSI33 - Advanced Performance Tactics for IBM WebSphere Application Server
WSI33 - Advanced Performance Tactics for IBM WebSphere Application ServerWSI33 - Advanced Performance Tactics for IBM WebSphere Application Server
WSI33 - Advanced Performance Tactics for IBM WebSphere Application Server
 
W23 - Advanced Performance Tactics for WebSphere Performance
W23 - Advanced Performance Tactics for WebSphere PerformanceW23 - Advanced Performance Tactics for WebSphere Performance
W23 - Advanced Performance Tactics for WebSphere Performance
 
W22 - WebSphere Performance for Multicore and Virtualised Platforms
W22 - WebSphere Performance for Multicore and Virtualised PlatformsW22 - WebSphere Performance for Multicore and Virtualised Platforms
W22 - WebSphere Performance for Multicore and Virtualised Platforms
 
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
2689 - Exploring IBM PureApplication System and IBM Workload Deployer Best Pr...
 
2596 - Integrating PureApplication System Into Your Network
2596 - Integrating PureApplication System Into Your Network2596 - Integrating PureApplication System Into Your Network
2596 - Integrating PureApplication System Into Your Network
 
1457 - Reviewing Experiences from the PureExperience Program
1457 - Reviewing Experiences from the PureExperience Program1457 - Reviewing Experiences from the PureExperience Program
1457 - Reviewing Experiences from the PureExperience Program
 
CSD-2881 - Achieving System Production Readiness for IBM PureApplication System
CSD-2881 - Achieving System Production Readiness for IBM PureApplication SystemCSD-2881 - Achieving System Production Readiness for IBM PureApplication System
CSD-2881 - Achieving System Production Readiness for IBM PureApplication System
 
ACU-1445 - Bringing workloads into production on PureApplication System
ACU-1445 - Bringing workloads into production on PureApplication SystemACU-1445 - Bringing workloads into production on PureApplication System
ACU-1445 - Bringing workloads into production on PureApplication System
 
CIT-2697 - Customer Success Stories with IBM PureApplication System
CIT-2697 - Customer Success Stories with IBM PureApplication SystemCIT-2697 - Customer Success Stories with IBM PureApplication System
CIT-2697 - Customer Success Stories with IBM PureApplication System
 
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...
CIN-2650 - Cloud adoption! Enforcer to transform your organization around peo...
 
IC6284A - The Art of Choosing the Best Cloud Solution
IC6284A - The Art of Choosing the Best Cloud SolutionIC6284A - The Art of Choosing the Best Cloud Solution
IC6284A - The Art of Choosing the Best Cloud Solution
 
C219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better TogetherC219 - Docker and PureApplication Patterns: Better Together
C219 - Docker and PureApplication Patterns: Better Together
 
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
PAD-3126 - Evolving the DevOps Organization around IBM PureApplication System...
 
C418 - Build, Deploy and Manage Your First Open Pattern with PureApplication ...
C418 - Build, Deploy and Manage Your First Open Pattern with PureApplication ...C418 - Build, Deploy and Manage Your First Open Pattern with PureApplication ...
C418 - Build, Deploy and Manage Your First Open Pattern with PureApplication ...
 
7450A - CRONOS helping ENGIE adopting Private Cloud with Bluemix Local System
7450A - CRONOS helping ENGIE adopting Private Cloud with Bluemix Local System7450A - CRONOS helping ENGIE adopting Private Cloud with Bluemix Local System
7450A - CRONOS helping ENGIE adopting Private Cloud with Bluemix Local System
 
IBM Cloud University 2017 session BLUE010 - How Dutch Tax Built Their Core Bu...
IBM Cloud University 2017 session BLUE010 - How Dutch Tax Built Their Core Bu...IBM Cloud University 2017 session BLUE010 - How Dutch Tax Built Their Core Bu...
IBM Cloud University 2017 session BLUE010 - How Dutch Tax Built Their Core Bu...
 
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
IBM Think 2019 session 2116 - Best practices for operating and managing a pro...
 

Recently uploaded

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
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
 
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
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
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
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 

Recently uploaded (20)

Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
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
 
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...
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
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
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 

WSI32 - IBM WebSphere Performance Fundamentals

  • 1. IBM European WebSphere Technical Conference 14 – 18 November 2008, Barcelona, Spain © 2008 IBM Corporation Conference materials may not be reproduced in whole or in part without the prior written permission of IBM. WebSphere Performance FundamentalsWebSphere Performance Fundamentals Session Number: WSI32Session Number: WSI32 Hendrik van RunHendrik van Run –– hvanrun@uk.ibm.comhvanrun@uk.ibm.com
  • 2. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 2 What is Performance?What is Performance? Performance is defined as a non-functional requirement (NFR) Defines an operational capability of the application and system Integrating performance requirements into a project requires balance Too much functional emphasis leads to poor operational behavior Too much performance emphasis may inhibit fundamental utility Performance requires lifecycle attention and specialized verification Requires consideration, management, and tracking through all phases Functional and integration verification cannot predict operational performance Performance EmphasisFunctional Emphasis
  • 3. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 3 Performance LifecyclePerformance Lifecycle Capacity Planning Project Planning Architecture and Design Development Verification Operations
  • 4. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 4 Capacity PlanningCapacity Planning Defining Performance RequirementsDefining Performance Requirements Response Time Time required to process a request Typically more critical for systems supporting direct user interaction Throughput How many things (requests, messages, etc.) the system can produce in a unit of time Often the key metric expressed for message-based systems Throughput is interdependent with response time for systems supporting end users • These systems may run under their maximum throughput in order to meet responsiveness goals Users A metric for systems supporting direct user interaction, such as web sites Users often imply a memory footprint requirement for tasteful systems In some cases, the only metric available • Throughput and response time must be interpolated from desired user traffic • Metrics based on understanding of system flow All these requirements are typically included in Service Level Agreements (Slaps)
  • 5. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 5 Capacity PlanningCapacity Planning Determining Load and Response Time TargetsDetermining Load and Response Time Targets Always develop requirements around peak load If the system doesn’t support peak, it does not function Often a significant difference between “peak” and “average” loading Web Site Traffic Arrival 0 20 40 60 80 100 Time Requests/Second Average Peak
  • 6. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 6 Capacity PlanningCapacity Planning Availability and Recovery RequirementsAvailability and Recovery Requirements High availability and recovery requirements represent another class of non-functional requirements (NFRs) Define criteria for resiliency to various failures This includes the user’s experience during certain classes of failures Also the timeframe for recovery (seconds? Minutes? Hours? Days?) Results in requirements that impact all areas of the system Software, hardware, physical locale, personnel, etc. Important to identify core needs before writing requirements Traffic patterns and existing maintenance cycles may make extreme requirements unnecessary In many cases, doing nothing is often a viable and reasonable option Address availability and recovery their own initiatives Integrated with the overall project plan, of course Usually ongoing after the delivery of the initial software system
  • 7. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 7 Capacity PlanningCapacity Planning Building an Initial Capacity Plan for the WebSphere TierBuilding an Initial Capacity Plan for the WebSphere Tier Obtain an initial capacity estimate during contract phase Revisit the estimate during the design phase Are the initial assumptions still applicable? Is there a fundamental change in assumptions that could impact the capacity required? Plan for the capacity required for the purchase lifecycle of the systems Growth projections Failover requirements Include test environments as well as the production systems Minimum 25-50% of production infrastructure for performance verification Other systems for function and integration testing Remember the estimate is only as good as the data provided! Also, remember to validate any estimates with testing prior to deployment
  • 8. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 8 Capacity PlanningCapacity Planning IBM Techline Sizing SupportIBM Techline Sizing Support Techline provides software and server sizing recommendations Across the entire IBM brand* portfolio Covering a full range of server platforms SOA Sizing Methodology and support developed by Techline with an Express offering for SMB customers Techline may be engaged by IBM Field Specialists and Business Partners to provide remote Client support that includes: Consultation throughout the sizing process Detailed Client deliverable with projected resource requirements Review of final recommendations Techline provides leadership to the IBM Sizing Board and is an advocate in driving sizing tool requirements * Pending tooling for Rational Sizing
  • 9. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 9 Performance LifecyclePerformance Lifecycle Capacity Planning Project Planning Architecture and Design Development Verification Operations
  • 10. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 10 Performance is not a point-in-time activity at end of project Many project plans limit performance activities to end of cycle Significant performance requirements unmanaged for the bulk of the product lifecycle Successful projects manage performance throughout Performance “swim-lane” added to project plans • Coordinates performance with early phase activities • Keeps performance visible on the project plan throughout Performance design and implementation expertise engaged throughout Regular activities to: • Track key metrics against targets • Prepare for verification phase(s) of the projects • Develop resources, skills and processes for management of code, environments and content Validate performance criteria at each phase of the project A performance test effort alone does not guarantee meeting Service Level Agreements (Slaps)! Project PlanningProject Planning Managing for PerformanceManaging for Performance
  • 11. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 11 Project PlanningProject Planning Example of Lifecycle Performance ActivitiesExample of Lifecycle Performance Activities Performance Activities During Design Performance Activities During Coding and Unit Testing Design Development Verification Delivery Performance Testing Review and validate NFRs with IT and Business Assist with application flow design Performance Education for Developers Component design reviews focused on performance System maintenance strategies Phase 1 of Performance Validation begins: Developer performed application profiling Identify initial cache strategy Implementation of system maintenance strategies Build performance verification environment (including data) Finalize Performance Testing Plan Prioritization and risk mitigation planning with Business Performance Test Prep Steps: Script creation, test data creation, environment validation, etc Multiple phased test approach applied Single system and scale-up testing Endurance runs Availability testing at end of this phase Prioritization and risk mitigation planning with Business Launch and Post- Launch Performance Activities Migration of tuned settings to production Production system monitoring & troubleshooting Analysis of production access logs >> advise on script rework Performance testing of initial round of post- launch fixes On-going interlock with Business to understand future plans
  • 12. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 12 Project PlanningProject Planning Key Performance RolesKey Performance Roles Develops & Maintains Workload Scripts Test data reporting Code profiling analysis & recommendations Analysis of results, debug & tuning of middleware applications Guidance on performance test design Leader for Performance team Overall leadership in performance aspects of solution architecture & design Ownership of Performance Related NFRs Leads Performance Verification Activities Performance Analysis & Recommendations for: SQL queries Database indexes Database configuration Etc. Overall coordination of performance engagement activities Reporting of results Drives issue resolution Links performance with PM for overall project Cache Design & Implementation Performance Architect Project Manager Performance Specialist -- Test & Script Performance Specialist – Middleware performance Performance Specialist -- Database Performance Specialist -- Caching (optional)
  • 13. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 13 Engaged throughout project lifecycle Engaged during the Verification phase Project PlanningProject Planning Performance StaffingPerformance Staffing 1. Design 2.Development 3. Verification 4.Delivery Product SMEs Performance Lead Senior Project Architect Performance Analysis Script Development Test Execution & Data Collection
  • 14. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 14 Project PlanningProject Planning Performance and Iterative DevelopmentPerformance and Iterative Development Agile and other iterative models Deep slices of functionality delivered at frequent intervals Stakeholder approval sought at each delivery point Include performance criteria as part of approval process Delivery not final until functionality proven to perform Exercising iterative model requires: Building a test environment early in anticipation of early deliveries Bringing scripter's and other performance staff on-board early Regression coverage between iterations Maintaining development coverage until final testing complete
  • 15. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 15 Performance LifecyclePerformance Lifecycle Capacity Planning Project Planning Architecture and Design Development Verification Operations
  • 16. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 16 Architecture and DesignArchitecture and Design Performance ConsiderationsPerformance Considerations Providing functionality while meeting operational objectives Application considerations Efficient implementation of use cases Identifying potential caching opportunities for future exploitation Selecting technologies appropriate to the requirements Topology considerations Balancing “enterprise flexibility” with deployment reality Identifying potential dataflow bottlenecks Resiliency considerations Streamlining core function Isolating areas of instability or potential unreliability
  • 17. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 17 Performance LifecyclePerformance Lifecycle Capacity Planning Project Planning Architecture and Design Development Verification Operations
  • 18. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 18 DevelopmentDevelopment Common Application IssuesCommon Application Issues Concurrency/Throughput Prohibitors Coding techniques may keep the system from full concurrency • Synchronized code blocks − Note that Java libraries can contain synchronised code blocks too! • Long code paths • Build log messages only if logging is enabled Efficiency Issues Often tied to interaction with remote systems and database • Consider using Prepared Statements instead of Statements when using JDBC for database access • Keep the size of the ResultSet as small as possible − Only return the data you need from the database! • Work with Database Administrators to ensure well formed SQL statements Memory Issues Memory budget for each transaction/user extremely high Only create HttpSessions when you need them Handling XML documents in Java can require a lot of memory • XML parsing and applying XSL Transformations can be expensive in Java • Consider using an XML appliance such as IBM DataPower for XSL Transformations − In some cases the browser can be used to handle XSL Transformations
  • 19. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 19 DevelopmentDevelopment HttpSession ManagementHttpSession Management HttpSession objects hold a user’s state information between visits Session data is stored in the Java heap, together with application objects Large HttpSessions impact scalability Require more Java heap and potentially a larger heap size • Result in more complex and expensive deployments (clustering and tuning) Impact on HttpSession persistence • Serialisation overhead increases with the size of the session object Best Practices Keep session data minimal per user Proactively manage sessions • Remove data as it becomes unneeded • Use the session.invalidate() method to remove HttpSessions after logouts, etc. Use transient keyword to mark data you do not need to persist Only return updated data values to the session Avoid using cyclic data graphs and non-serialisable items for persistent sessions
  • 20. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 20 DevelopmentDevelopment EJBsEJBs Use the façade bean pattern Stateless Session Bean to interact with Entity Beans Results in a single transaction when the beans are running in the same application server Avoid extremely fine-grained EJB models Extreme scenarios with hundreds of EJBs created for each request Redesign this layer to accommodate a more granular model • Use tooling to build a reasonable model Proactively manage Stateful Session Beans Use the ejb.remove() method when no longer needed Avoid passivation Memory implications across the cluster with new failover feature • Similar to managing HttpSessions
  • 21. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 21 DevelopmentDevelopment JMSJMS JMS messaging runs in-process in WebSphere 6.0 and higher Reduces messaging overhead for light-weight messaging Non-persistent messaging requires no external process interaction • Reduces overhead as Java objects do not have to be serialised Correctness always the most important consideration • Use transactional support for multiple, inter-dependent messages • Otherwise, non-transactional messaging (default) more efficient Use light-weight acknowledgement, if possible • DUPS_OK_ACKNOWLEDGE least expensive/greatest risk of re-delivery, duplicates • AUTO_ACKNOWLEDGE most expensive/no duplicate messages Cache JMS objects that are thread-safe Queue, QueueConnection, QueueConnectionFactory
  • 22. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 22 DevelopmentDevelopment Web ServicesWeb Services Enables communication between heterogeneous applications For example integrating IBM WebShere with Microsoft ASP.NET Not a communication mechanism for application layers within a JVM Use normal application protocols for better performance, fewer objects Add distributed communications logic only if you distribute General Web Services tips Keep documents small and simple • Large, complex documents increase parsing and serialization • Also, avoid deeply nested payloads Keep metadata vs. data ratio small RMI/IIOP vs. Web Services Performance of some Web Services payloads approaches RMI/IIOP performance
  • 23. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 23 DevelopmentDevelopment WebSphere Dynamic Cache ServiceWebSphere Dynamic Cache Service Consider using the WebSphere Dynamic Cache Service (DCS) during application design Part of design rather than retrofitting later Organize page layout and design for DCS policy based caching Servlet/JSP caching to hold repetitive, expensive page elements Stateful elements vs. general use elements Consider using DCS API based caching Leverage DCS within the application Distributed Map API usually most obvious choice Leverage new caching structure Multiple internal caches now supported Split objects into different caches to more efficiently distribute cache data Consider WebSphere Extreme Scale for applications that make extensive use of caching Can provide significant benefit over DCS for certain scenarios More details in WSI35 - WebSphere Extreme Scale Customer Scenarios and Use Cases
  • 24. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 24 Performance LifecyclePerformance Lifecycle Capacity Planning Project Planning Architecture and Design Development Verification Operations
  • 25. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 25 VerificationVerification Four Phases of Performance TestingFour Phases of Performance Testing Phase 1 Single User Testing • Detailed code analysis • Pathlength • Memory footprint • Basic SQL structure • Application architecture Phase 2 Single System Concurrency Testing • Single system • Drive full workload mix • Iterative test and fix/tune • Establish tuned reference Phase 3 Incremental Scale Testing • Incrementally grow farm • Apply single sys. Tuning • Iterative fix/tune • Failover • Long runs Phase 4 Stability Testing
  • 26. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 26 VerificationVerification Phase 1Phase 1 –– Single User TestingSingle User Testing Pathlength Analysis Limited runtime view of the application IBM Rational Application Developer or other code profiling tool Useful for: • Identifying inefficiencies, some locking and memory problems Not useful for: • Subtle locking and memory problems, resource consumption issues, etc. Static Analysis Code reviews, performance “lint” tools, pattern identifiers, etc. Static view of code Useful for: • Identifying anti-patterns, poor programming practices Not good for: • Identifying concurrency issues, memory issues, etc.
  • 27. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 27 VerificationVerification Phase 2Phase 2 –– Iterative Testing and TuningIterative Testing and Tuning Concurrency testing Testing under representative loading Custom-crafted using load testing tool Essential for understanding application behavior during production Useful for finding: • Subtle, large-scale problems and concurrency/resource issues Establish maximum throughput Maximum throughput typically reaches a plateau before falling Response times and number of users should be captured as well Throughput(tr/s) Concurrent Users Throughput plateau Light Load Zone Heavy Load Zone Buckle Zone
  • 28. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 28 VerificationVerification Phase 2Phase 2 –– Iterative Testing and TuningIterative Testing and Tuning 1. Test Sufficient duration Measure at steady-state 2. Observe Look at all systems, logs, etc Record results! 3. Minimal adjustment Plan for next test and make adjustments Limit change between runs! 1. Test 2.Observe 3.A djust First establish a baseline What the system does now Essential for measuring improvement
  • 29. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 29 VerificationVerification Entrance CriteriaEntrance Criteria Align functional testing exit criteria with performance entrance criteria Criteria to consider: No outstanding high-severity problems Modest quantity of mid-severity problems Decreasing rate of new problem discovery • Also an overall metric of stability • Discourages developers from re-categorizing severities to meet a deadline Impact to performance scripts from flow/layout changes understood Clean, production-level logs Develop a regression test for iterative drops/bug fixes Drops should not break existing functionality New code should operate near the performance of old code
  • 30. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 30 VerificationVerification Exit CriteriaExit Criteria Performance requirements satisfied Solution meets non-functional requirements (NFRs) Infrastructure demonstrates scalability Hardware scales to capacity plan • Predicted loads execute within CPU budget • System can make full use of CPU available • Applications operate within memory budget Bottlenecks identified and understood System is stable Repeatable, predictable behavior No pathological indicators (paging, etc.) System sustains performance over operational period Clean logs
  • 31. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 31 Performance LifecyclePerformance Lifecycle Capacity Planning Project Planning Architecture and Design Development Verification Operations
  • 32. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 32 OperationsOperations Crossing Organisation SilosCrossing Organisation Silos Systems Networks Software Data Management Custom Application Performance VerificatiPerformance Verification/Testing/Tuning/Analon/Testing/Tuning/Analysisysis System management Crosses traditional I/T silos More difficult to manage/support Help team manage and identify Manage areas under their control Identify issues in components outside their control
  • 33. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 33 OperationsOperations Moving to DeploymentMoving to Deployment Move tuning settings to production Apply optimal settings to the production environment • WebSphere/J2EE configuration settings • Tuned application • OS settings • Updates to other systems (databases, WebSphere MQ, etc) Implies compatibility between test and production • Hardware and software versions Use test “normals” for initial monitoring settings CPU, I/O, network traffic, logs, etc. Use metrics to describe abnormal situations for monitoring Iterative process • Re-evaluate after first weeks of live deployment • Develop more accurate monitoring settings based on live traffic patterns
  • 34. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 34 OperationsOperations Other ConsiderationsOther Considerations Limited rollout Reduces risk for new sites Validate assumptions about use cases and workload mix Difficult to setup for public sites Performance Test Environment After deployment, maintain a test environment for the site Similar in hardware and design as the production site Useful for • Testing updates, fixes, and new application releases/features • Recreating production problems and troubleshooting Troubleshooting in the live site problematic • Tracing and iterative debug often intrusive • Test environment supports debug without impacting user experience
  • 35. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 35 SummarySummary Successful projects focus on performance early and continuously Designed, written, and tested for performance Optimizations considered and exploited throughout the lifecycle Cross-organizational approach taken Verification requires planning, skill, and time Just two weeks at the end of a major project is insufficient to ensure successful launch Larger projects require more testing • Scale up testing • Validation of backend components Team must cross organisational silos • Tuning not only for web and application tier, but also for other systems Use historical information to predict new site behavior Confirm with testing and limited roll-out, if possible
  • 36. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 36 ReferencesReferences Kyle Brown and Keys Botzum: Improving HttpSession Performance with Smart Serialization http://www.ibm.com/developerworks/websphere/library/bestpractices/httpsession_perfor mance_serialization.html Many thanks to Stacy Joines for her contributions to this presentation.
  • 37. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 37 Other SessionsOther Sessions WSI33 – Advanced Performance Tactics for IBM WebSphere Application Server WSI35 – WebSphere Extreme Scale Customer Scenarios and Use Cases
  • 38. WebSphere Technical Conference and Transaction & Messaging Technical Conference © 2008 IBM Corporation 38 Further ReadingFurther Reading Performance Analysis for Java Web Sites Joines, Willenborg, Hygh IBM WebSphere Deployment and Advanced Configuration Barcia, et al IBM Web Sphere System Administration Williamson, et al WebSphere Application Server: Step by Step Turaga, et al Persistence in the Enterprise Barcia, Hambrick, et al
  • 39. IBM European WebSphere Technical Conference 14 – 18 November 2008, Barcelona, Spain © 2008 IBM Corporation Conference materials may not be reproduced in whole or in part without the prior written permission of IBM. Questions ?Questions ? Thank you for attending! Please complete your session evaluationThank you for attending! Please complete your session evaluation, s, session number is WSI32ession number is WSI32..