Download presentation
Presentation is loading. Please wait.
Published byKristin Banks Modified over 9 years ago
1
Automated Capacity Planning and Support for Enterprise Applications Dharmesh Thakkar School of Computing, Queen’s University, Canada
2
Performance Activities in The Waterfall SDLC Verification: Performance test need to be conducted to verify that the required performance objectives are met 2
3
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
4
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
5
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%
6
Verification Phase: An Example of A Capacity Calculator 6
7
Frequency (transactions per hour) 20406080 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) 20406080 Concurrency 250 Creating Customer ProfileT111T112T113T114 Customer LoginT121T122T123T124 Search TitleT131T132T133T134 Purchase TitleT141T142T143T144 7
8
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
9
Addressing the Challenges of Performance Modeling ■ We created the framework to: –Automate the process –Speed up the process –Focus research on specific areas 9
10
Framework for Building Model based Capacity Calculator ■ Case Studies: –Dell DVD Store –A large enterprise application 10
11
Customization Cost Minimal Another Build Extensive Reasonable Extensive Reasonable Minimal Another Application 11
12
Maintenance Phase: Customer Support 12
13
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
14
Customer Support Problem Statement ■ We want to find customers with similar operational and problem profiles ■ We can reuse prior solutions and knowledge Heavy Email, Light Web, Light calendar Light Email, Light Web, Light calendar Light Email, Heavy Web, Light calendar Heavy Email, Heavy Web, No calendar Light Email, Light Web, Heavy calendar Other Customers Compare New Customer Engagement 14
15
Using Logs for Customer Support ■ Execution logs are readily available and contain –Operational Profile: usage patterns (heavy users of email 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
16
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 emailid=ABC threadid=XYZ Client disconnected. Cannot deliver msgid=ABC threadid=XYZ New contact in address book emailid=ABC threadid=XYZ User initiated appointment deletion emailid=ABC threadid=XYZ 16
17
Example Other Customers Compare 17
18
Technique to Retrieve Relevant Engagement Reports 18
19
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
20
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 Group2867.71%90.28%67.71%90.28% Multiple Feature Groups2860.71%80.95%75.00%100.00% All Feature Groups1272.92%97.22%62.50%83.33% Real World Log Files1254.17%72.22%68.75%91.67% All the Log Files8059.93%79.90%56.72%75.62% 20
21
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
22
Imbalance in Event Logging 22
23
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
24
Details: Test Enumeration Frequency (transactions per hour) 20406080 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
25
Environment Setup and Test Execution ■ Setup Environment and Test ■ Run Test ■ Shutdown Test 25
26
Test Transition ■ Conduct tests –Back to back –Add a delay –Use heuristics 26
27
Test Analysis ■ Validate the Test –Check for bugs or run problems ■ Analyze Performance Counters –Prune the warm-up and cool-down periods 27
28
Model Building ■ Create models using –Regression techniques –QN and other stochastic models 28
29
Test Reduction 29
30
Summary: Verification Phase 30
31
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
32
Compare Event Distributions ■ Kullback-Leibler Divergence ■ Cosine Distance 32
33
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
34
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
35
The Big Picture 35
36
Summary: Maintenance Phase 36
37
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
38
Software Development Life Cycle of Enterprise Applications 38
39
Performance Activities in SDLC Requirements: Performance objectives need to be clearly identified. Realistic, measureable and verifiable 39
40
Performance Activities in SDLC Design: Platform and technology selection should be done that would support the stated performance requirements. 40
41
Performance Activities in SDLC Implementation: Algorithmic, data structure, and programming decisions need to be made that would optimize the performance 41
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.