Automated Capacity Planning and Support for Enterprise Applications Dharmesh Thakkar School of Computing, Queen’s University, Canada.

Slides:



Advertisements
Similar presentations
Cultural Heritage in REGional NETworks REGNET Project Meeting Content Group
Advertisements

IBM SMB Software Group ® ibm.com/software/smb Maintain Hardware Platform Health An IT Services Management Infrastructure Solution.
Topics to be discussed Introduction Performance Factors Methodology Test Process Tools Conclusion Abu Bakr Siddiq.
Performance Testing - Kanwalpreet Singh.
Executional Architecture
1 VLDB 2006, Seoul Mapping a Moving Landscape by Mining Mountains of Logs Automated Generation of a Dependency Model for HUG’s Clinical System Mirko Steinle,
Chapter 4 Quality Assurance in Context
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Test Automation An Approach to Automated Software Regression Testing Presented by Adnet, Inc Feb 2015.
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
Ó 1998 Menascé & Almeida. All Rights Reserved.1 Part IV Capacity Planning Methodology.
1 Part IV Capacity Planning Methodology © 1998 Menascé & Almeida. All Rights Reserved.
Introduction to z/OS Basics © 2006 IBM Corporation Chapter 8: Designing and developing applications for z/OS.
APPLICATION DEVELOPMENT BY SYED ADNAN ALI.
Measuring Performance Chapter 12 CSE807. Performance Measurement To assist in guaranteeing Service Level Agreements For capacity planning For troubleshooting.
Copyright © , Software Engineering Research. All rights reserved. Creating Responsive Scalable Software Systems Dr. Lloyd G. Williams Software.
Performance Testing Design By Omri Lapidot Symantec Corporation Mobile: At SIGiST Israel Meeting November 2007.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
Module 8: Monitoring SQL Server for Performance. Overview Why to Monitor SQL Server Performance Monitoring and Tuning Tools for Monitoring SQL Server.
23 October 2002Emmanuel Ormancey1 Spam Filtering at CERN Emmanuel Ormancey - 23 October 2002.
1 CSE 403 Reliability Testing These lecture slides are copyright (C) Marty Stepp, They may not be rehosted, sold, or modified without expressed permission.
MSF Testing Introduction Functional Testing Performance Testing.
Understanding and Managing WebSphere V5
Data Structures and Programming.  John Edgar2.
Load Test Planning Especially with HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
Computer System Lifecycle Chapter 1. Introduction Computer System users, administrators, and designers are all interested in performance evaluation. Whether.
Lucent Technologies – Proprietary Use pursuant to company instruction Learning Sequential Models for Detecting Anomalous Protocol Usage (work in progress)
Introduction to the Enterprise Library. Sounds familiar? Writing a component to encapsulate data access Building a component that allows you to log errors.
TESTING STRATEGY Requires a focus because there are many possible test areas and different types of testing available for each one of those areas. Because.
Maintaining a Microsoft SQL Server 2008 Database SQLServer-Training.com.
1 Building and Maintaining Information Systems. 2 Opening Case: Yahoo! Store Allows small businesses to create their own online store – No programming.
Introduction and simple using of Oracle Logistics Information System Yaxian Yao
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
Model Bank Testing Accelerators “Ready-to-use” test scenarios to reduce effort, time and money.
Software Testing Life Cycle
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
Monitoring Latency Sensitive Enterprise Applications on the Cloud Shankar Narayanan Ashiwan Sivakumar.
 CS 5380 Software Engineering Chapter 8 Testing.
Retrieving Relevant Reports from a Customer Engagement Repository Dharmesh Thakkar Zhen Ming Jiang Ahmed E. Hassan School of Computing, Queen’s University,
Cloud Use Cases, Required Standards, and Roadmaps Excerpts From Cloud Computing Use Cases White Paper
Software Performance Testing Based on Workload Characterization Elaine Weyuker Alberto Avritzer Joe Kondek Danielle Liu AT&T Labs.
Computer Emergency Notification System (CENS)
Slide 12.1 Chapter 12 Implementation. Slide 12.2 Learning outcomes Produce a plan to minimize the risks involved with the launch phase of an e-business.
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
INTRUSION DETECTION SYSYTEM. CONTENT Basically this presentation contains, What is TripWire? How does TripWire work? Where is TripWire used? Tripwire.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
Network design Topic 6 Testing and documentation.
Creating SmartArt 1.Create a slide and select Insert > SmartArt. 2.Choose a SmartArt design and type your text. (Choose any format to start. You can change.
Compuware Corporation Deliver Reliable Applications Faster Dave Kapelanski Automated Testing Manager.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
CISC 849 : Applications in Fintech Namami Shukla Dept of Computer & Information Sciences University of Delaware iCARE : A Framework for Big Data Based.
Understanding Performance Testing Basics by Adnan Khan.
JD Edwards Support & Tools Gillian Boshell Product Service Advisor, Oracle Australia.
Introduction to Performance Testing Performance testing is the process of determining the speed or effectiveness of a computer, network, software program.
LOAD RUNNER. Product Training Load Runner 3 Examples of LoadRunner Performance Monitors Internet/Intranet Database server App servers Web servers Clients.
Proctor Caching and System Check September 4, 2014 Becky Hoeft Conference Number: (877) Conference Pin:
1 Presented by: Val Pennell, Test Tool Manager Date: March 9, 2004 Software Testing Tools – Load Testing.
Introduction to Performance Tuning Chia-heng Tu PAS Lab Summer Workshop 2009 June 30,
SQL Database Management
Netscape Application Server
性能测试那些事儿 刘博 ..
Software Architecture in Practice
Continuous Performance Engineering
Big Data - in Performance Engineering
Evaluating Transaction System Performance
DAT381 Team Development with SQL Server 2005
Baisc Of Software Testing
Workshop.
Mark Quirk Head of Technology Developer & Platform Group
Presentation transcript:

Automated Capacity Planning and Support for Enterprise Applications Dharmesh Thakkar School of Computing, Queen’s University, Canada

Performance Activities in The Waterfall SDLC Verification: Performance test need to be conducted to verify that the required performance objectives are met 2

Performance Activities in SDLC Maintenance: Continuous monitoring, capacity planning and tuning need to be done to ensure that the system continues to meet the performance objectives 3

Overview of Thesis Customers engage the vendor’s support analyst to resolve the issues with system Performance issues arise in customers’ production environment, which need troubleshooting The capacity calculator helps customer determine required hardware resources to support the anticipated workload Build a capacity calculator based on the performance model Challenge: The goal of performance testing is not to find bugs, but to establish benchmarks 4 Challenge: The support analyst needs to troubleshoot the customer deployment Challenge: Load test and stress test workloads need to be compared against the customer workloads Modify the workload or the deployment scenario to put excessive stress on one or more system resources Run the application for long periods under high workloads

Overview of Thesis: Our Contributions A technique for helping troubleshoot performance issues by retrieving relevant report from a customer engagement repository Presented at the International Conference on Software Maintenance (ICSM 2008) Beijing, China. Acceptance rate: 26% 5 A framework for building performance model based capacity calculator Presented at the Workshop on Software and Performance (WoSP 2008) Princeton, NJ. Acceptance rate: 38%

Verification Phase: An Example of A Capacity Calculator 6

Frequency (transactions per hour) Concurrency 250 Creating Customer ProfileT111T112T113T114 Customer LoginT121T122T123T124 Search TitleT131T132T133T134 Purchase TitleT141T142T143T144 Concurrency 500 Creating Customer ProfileT211T212T213T214 Customer LoginT221T222T223T224 Search TitleT231T232T233T234 Purchase TitleT241T242T243T244 Concurrency 1000 Creating Customer ProfileT311T312T313T314 Customer LoginT321T322T323T324 Search TitleT331T332T333T334 Purchase TitleT341T342T343T344 Concurrency 1500 Creating Customer ProfileT411T412T413T414 Customer LoginT421T422T423T424 Search TitleT431T432T433T434 Purchase TitleT441T442T443T444 Building a Measurement based Capacity Calculator Frequency (transactions per hour) Concurrency 250 Creating Customer ProfileT111T112T113T114 Customer LoginT121T122T123T124 Search TitleT131T132T133T134 Purchase TitleT141T142T143T144 7

Performance Modeling Challenges ■ Large number of tests to be executed ■ Limited time for performance modeling ■ Manual process of setup, execution and analysis ■ Risk of error and repeating the full modeling process 8

Addressing the Challenges of Performance Modeling ■ We created the framework to: –Automate the process –Speed up the process –Focus research on specific areas 9

Framework for Building Model based Capacity Calculator ■ Case Studies: –Dell DVD Store –A large enterprise application 10

Customization Cost Minimal Another Build Extensive Reasonable Extensive Reasonable Minimal Another Application 11

Maintenance Phase: Customer Support 12

Retrieving Relevant Reports ■ State of Practice: –No systematic techniques to retrieve and use information for future engagements –Keyword searching is limited: depends on the search skills and experience of the analyst and peculiarity of the problem 13

Customer Support Problem Statement ■ We want to find customers with similar operational and problem profiles ■ We can reuse prior solutions and knowledge  Heavy , Light Web, Light calendar  Light , Light Web, Light calendar  Light , Heavy Web, Light calendar  Heavy , Heavy Web, No calendar  Light , Light Web, Heavy calendar Other Customers Compare New Customer Engagement 14

Using Logs for Customer Support ■ Execution logs are readily available and contain –Operational Profile: usage patterns (heavy users of from device, or to device, or light users of calendar, etc.) –Signature Profile: specific error line patterns (connection timeout, database limits, messages queued up, etc.) ■ Find the most similar profile 15

Execution Logs ■ Contain time-stamped sequence of events at runtime ■ Readily available representatives of both feature executions and problems Queuing new mail msgid=ABC threadid=XYZ Instant message. Sending packet to client msgid=ABC threadid=XYZ New meeting request msgid=ABC threadid=XYZ Client established IMAP session id=ABC threadid=XYZ Client disconnected. Cannot deliver msgid=ABC threadid=XYZ New contact in address book id=ABC threadid=XYZ User initiated appointment deletion id=ABC threadid=XYZ 16

Example Other Customers Compare 17

Technique to Retrieve Relevant Engagement Reports 18

Case Studies ■ Case Study I –Dell DVD Store open source application –Code instrumentation done for event logging –Built the execution log repository by applying synthetic workloads, changing the workload parameters each time ■ Case Study II –Globally deployed commercial application –More than 500 unique execution events 19

Case Study Results ■ Dell DVD Store –100% precision and recall on both operational profile based and signature profile based retrieval ■ Commercial Application –100% precision and recall for signature profile based retrieval –Results for operational profile based retrieval: Experiment Count of Log Files K-L DistanceCosine Distance PrecisionRecallPrecisionRecall Single Feature Group %90.28%67.71%90.28% Multiple Feature Groups %80.95%75.00%100.00% All Feature Groups %97.22%62.50%83.33% Real World Log Files %72.22%68.75%91.67% All the Log Files %79.90%56.72%75.62% 20

Sources of Errors ■ Events that do not correspond directly to a particular operational feature, such as idle time events, server health check events, startup and shutdown events ■ Imbalance in the event logging 21

Imbalance in Event Logging 22

Summary: Our Contributions A framework for building performance model based capacity calculator Presented at the Workshop on Software and Performance (WoSP 2008) Princeton, NJ. A technique for helping troubleshoot performance issues by retrieving relevant report from a customer engagement repository Presented at the International Conference on Software Maintenance (ICSM 2008) Beijing, China. 23

Details: Test Enumeration Frequency (transactions per hour) Concurrency 250 Creating Customer ProfileT111T112T113T114 Customer LoginT121T122T123T124 Search TitleT131T132T133T134 Purchase TitleT141T142T143T144 Concurrency 500 Creating Customer ProfileT211T212T213T214 Customer LoginT221T222T223T224 Search TitleT231T232T233T234 Purchase TitleT241T242T243T244 Concurrency 1000 Creating Customer ProfileT311T312T313T314 Customer LoginT321T322T323T324 Search TitleT331T332T333T334 Purchase TitleT341T342T343T344 Concurrency 1500 Creating Customer ProfileT411T412T413T414 Customer LoginT421T422T423T424 Search TitleT431T432T433T434 Purchase TitleT441T442T443T444 24

Environment Setup and Test Execution ■ Setup Environment and Test ■ Run Test ■ Shutdown Test 25

Test Transition ■ Conduct tests –Back to back –Add a delay –Use heuristics 26

Test Analysis ■ Validate the Test –Check for bugs or run problems ■ Analyze Performance Counters –Prune the warm-up and cool-down periods 27

Model Building ■ Create models using –Regression techniques –QN and other stochastic models 28

Test Reduction 29

Summary: Verification Phase 30

Log Lines to Event Distribution ■ Remove dynamic information –Example: Given the two log lines “Open inbox user=A” and “Open inbox user=B”, map both lines to the event “Open inbox user=?” ■ Use event percentages to compare event logs for different running lengths without bias 31

Compare Event Distributions ■ Kullback-Leibler Divergence ■ Cosine Distance 32

Identify Signature Events ■ Signature Events have a different frequency when compared to events in other log files –Example signature events: dropped connections, thread dumps, and full queues ■ Chi-square test identifies such events 33

Measuring Performance ■ Precision = 2/4 = 50% 100% precise if all the retrieved log files are relevant ■ Recall = 2/3 = 67% 100% recall if all the relevant log files are retrieved 34

The Big Picture 35

Summary: Maintenance Phase 36

Related Work ■ Data mining techniques on textual information [Hui and Jha, 2000] –Cons: Limited results, depending on analyst’s search skills and peculiarity of the problem ■ Using customer usage data [Elbaum and Narla, 2004] –Cons: Customer usage data rarely exists ■ Clustering HTTP execution logs [Menascé, 1999] –Cons: Complex process, works only for HTTP logs ■ Software Agent Deployment to build operational profile [Ramanujam et. al., 2006] –Cons: Intrusive, complex, costly 37

Software Development Life Cycle of Enterprise Applications 38

Performance Activities in SDLC Requirements: Performance objectives need to be clearly identified. Realistic, measureable and verifiable 39

Performance Activities in SDLC Design: Platform and technology selection should be done that would support the stated performance requirements. 40

Performance Activities in SDLC Implementation: Algorithmic, data structure, and programming decisions need to be made that would optimize the performance 41