Date post: | 17-Dec-2015 |
Category: |
Documents |
Upload: | shona-bailey |
View: | 219 times |
Download: | 0 times |
1
Problem Statement
Developers vastly outnumber performance engineers.• Many developers creating performance defects• Very few performance engineers are tasked to locate those defects
…very difficult to deliver good performance.
©2012 FIS and/or its subsidiaries. All Rights Reserved.
Help Developers (Finally) Find Their Own Performance [email protected] Software Architect
Obstacles
3
These obstacles are here to stay:
Developers do not have:• Performance
expertise• Budget for tools
(monitoring, load gen)• Time
Obstacles
4
These obstacles are here to stay:
Developers do not have:• Performance
expertise• Budget for tools
(monitoring, load gen)• Time
We will show them
Use free tools
Focus on small set ofrecommendations
Benefits
5
• Locate defects earlier cut costs • Avoid re-work FTP ROI• (finally) Accountability for
performance defects.• To make time to address higher
priorities, such as..
Personal Wish List - 1
6
• Better automation for more dailyfix-test iterations– Environment Install– Code Deployment– Data Refresh– Log File Collection/Reporting– Put Client & Server Perf Data on same
report
Personal Wish List - 2
7
• Better Quality Data Loaded Faster• Performance Training• Environment Turnover
Personal Wish List - 4
9
• Better Repeat-Ability• Better Capacity Planning• Radical Response Time Improvement
http://martinfowler.com/articles/lmax.html
Which defects to delegate?
12
• KISS – Consider avoiding load generation (walk before you run).
• Architecture first then main BP• Be brief & specific: EX: DIzzy
Requires Culture Change
13
• The Easy Way collaborative
• The Hard Way combative
…consider a protective chess maneuver
What
15
• Get a dedicated performance environment• This will require a little coding (tests and reports)• Transparency
http://www.cmg.org/conference/cmg2011/awards/1133.pdf
What
16
#1 - Duplicate Request / SQL, Other#2 – SQL Efficiency#3 – Duplicate HTTP Request #4 - No-load Response Time Regression#5 - Longevity #6 - Functional Tests
http://www.cmg.org/conference/cmg2011/awards/1133.pdf
#1 - Duplicate SQL Request
17
SELECT * FROM CUSTOMER WHERE CID=”?”SELECT * FROM CUSTOMER WHERE CID=”?”SELECT * FROM PRODUCT WHERE PRD_ID = ”?”SELECT * FROM PARAMETERSELECT * FROM CUSTOMER WHERE CID=”?”SELECT * FROM PARAMETERSELECT * FROM USER WHERE USER_ID=”?”
InTrace
P6Spy
JAMon
http://ostermueller.blogspot.com/2012/01/intrace.html
#1 - Duplicate SQL Request
18
3 SELECT * FROM CUSTOMER WHERE CID=”?”2 SELECT * FROM PARAMETER1 SELECT * FROM PRODUCT WHERE PRD_ID = ‘?’1 SELECT * FROM USER WHERE USER_ID=”?”
InTrace
P6Spy
JAMon
http://ostermueller.blogspot.com/2012/01/intrace.html
#1 - Duplicate SQL Request
19
Trace activity for a single BPa. Turn SQL tracing “on”b. Run the automated unit test to exercise
process.c. Turn SQL tracing “off”d. Sort/group/count data using this linux
command:==> sort mySql.txt | uniq –c
InTrace
P6Spy
JAMon
http://ostermueller.blogspot.com/2012/01/intrace.html
#1 - Duplicate SQL Request
20
Bind Variable CautionWithout:SELECT A FROM B WHERE C= X SELECT A FROM B WHERE C= YWithSELECT A FROM B WHERE C= ?SELECT A FROM B WHERE C= ?
InTrace
P6Spy
JAMon
http://ostermueller.blogspot.com/2012/01/intrace.html
Bad
Good
#1 - Duplicate SQL Request
21
InTrace
P6Spy
JAMon
http://ostermueller.blogspot.com/2012/01/intrace.html
Caching Caution:
Run entire automated testing process twice.
Discard results from first iteration.
#1 - Duplicate SQL Request
22
InTrace
P6Spy
JAMon
http://ostermueller.blogspot.com/2012/01/intrace.html
Other activity to (centrally) trace:
• CICS (Customer Information Control System)• JMS (Java Messaging Service)• LDAP (Lightweight Directory Access Protocol)
#1 - Duplicate SQL Request
23
InTrace
P6Spy
JAMon
Be specific!How good is good enough?Use the “DIzzy” metric to judge:http://ostermueller.blogspot.com/2012/04/zero-dizzy.html
InTrace Demohttp://ostermueller.blogspot.com/2012/01/intrace.html
26
Summary (Problem Statement)
Developers vastly outnumber performance engineers.
• Many developers creating performance defects• Very few performance engineers are tasked to locate those defects
…very difficult to deliver good performance.
Summary (Solution)
27
“Delegate easy stuff to Developers”
Developers do not have:• Performance
expertise• Budget for tools
(monitoring, load gen)• Time
We will show them
Use free tools
Focus on small set ofrecommendations
Conclusion (Part II)
29
Transplant performance-minded people into
• Development organizations.• University programs
– Let’s graduate kids that get performance“right” the first time
Conclusion (Part III)
30
Getting performance “right” the first time is a convincing recipe for ROI.
FTP(First Time Performance)
[email protected]: http://www.cmg.org/conference/cmg2011/awards/1133.pdfMetric: http://ostermueller.blogspot.com/2012/04/zero-dizzy.htmlDemo: http://ostermueller.blogspot.com/2012/01/intrace.html
Thank You