Recipes for the Perfect PI v2.0
-
Upload
sascha-wenninger -
Category
Technology
-
view
493 -
download
0
Transcript of Recipes for the Perfect PI v2.0
Recipes for the Perfect PI Sascha Wenninger @sufw
• π
• π
NetWeaver PI
@sufw on twitter
Technical Architect
Focus: SAP Integration
Co-founder of Blue T
SAP Mentor
Wannabe Performance Engineer
Enterprise IT != Boring
Sascha Wenninger
This presentation is online: http://speakerdeck.com/sufw
Licensed under:
Largest retail network in Australia
3,500+ stores across Australia
8,000+ Point of Sale terminals
SAP IS-Retail Backend
Various Point of Sale systems
Large non-SAP footprint
Real-time Processing of Retail Transactions
~1 million transactions per day
Peak of 75/second
No Impact to Other Interfaces, e.g.
2m+ parcel track events per day
Mission Critical
Challenge Accepted!
Luck
People
T -Shaped People
T Broad Knowledge
Shallow
T Narrow Expertise
Deep
T T T T T
PI ABAP
JavaScript
J2EE JMS
TIBCO XSLT
Ariba
IDocs
UNIX
Baking
jMeter soapUI
XML Schema
Visio Writing Groovy
WebDynpro
Try Things
Technology and products change quickly Don’t expect people to know it all up-front
Collaboration
Hofstadter's Law:
It always takes longer than you expect,
even when you take into account Hofstadter's Law.
Architecture
Java
PI on ABAP is deprecated. Since 7.1, more functionality has moved to Java:
AAE Advanced Adapter Engine
Advanced Adapter Extended AEX
We moved 1 interface from ABAP/Java to AAE:
Throughput 11x >50% DB space saved
Halved CPU allocation
We started with:
Dual-stack PI 7.1
50,000 messages/day
6 CPUs
3 Years Later:
Dual-stack PI 7.11
1,000,000+ messages/day
3 CPUs
You don’t have to be on a single-stack Java system to benefit! Migrate interfaces to Integrated Configuration Objects Redesign interfaces to remove ccBPMs where possible.
Stateless
Orchestration should be your last option Prefer:
Bigger, more specific services over orchestration
Async notifications over distributed transactions
Keeping state in application systems over BPM
In ~4 years at Australia Post, how many ccBPMs did we deploy?
0
blah
Memory
Memory
blah
Memory
Life’s too short for swapping to disk.
Buy More RAM.
Memory Budget
Start with: 1 GB Shared Objects Per Java Server Node
4 GB Heap
10 GB For ABAP
5 GB For your DBMS
5 GB “spare” for OS caches
Java Memory via the MMC
ABAP Memory: ST02
The JVM
PI 7.1 and later use the SAPJVM by default. This is A Good Thing.
Fixes and enhancements delivered all the time
New Garbage Collection algorithms J
è Always upgrade the JVM to the latest release (Not just the one that comes with the SPS)
Takes 30 minutes with JSPM
Keep Tuning.
SolMan’s Java Memory Analyser can help
Your system should never swap to disk
SAP used to recommend heap sizes of 2-3 GB. No longer true!
Running out of memory usually triggers garbage collection.
Swapping slows down garbage collection in Java
Memory Tips
Java Server Nodes
Have at least 2, but don’t have too many A heavy-weight way to scale Tune thread pool sizes before adding more. Java processes can have unlimited memory now!
The Database
Keep your Stats up to date!
Fixing stats improved throughput 6x
Best of all: It’s Free
Database Statistics
Reorg your DB!
Some PI tables churn a lot, others not much at all. Reorganise frequently: • Save disk space • Balance load across disk drives • Automate reorgs!
Monitoring
Wily Introscope is great! A limited license is bundled for free with NetWeaver Provides detailed monitoring of a Java stack
XML Schema
0% 20% 40% 60% 80% 100%
ABAP Proxy
ESR Supported
Partially Supported Not Supported
Support of XML Schema Features
Based on information from Note 944029
etc.
People
Dan Getliffe Dieter Bauer
Jo Haslett Joy Massimino Nam Nguyen
Praneel Kumar Wing Leung
Attributions – Thank you for the CC licensing! :-)
• Pie photo, by Jay Peg: http://www.flickr.com/photos/jaypeg/300749794
• Memory gallery, by Steve Jurvetson: http://www.flickr.com/photos/jurvetson/8007180700
• Mr. Tune, by Oskar Seljeskog: http://www.flickr.com/photos/seljes/4316850477
• Broken Harddrives, by purplemattfish: http://www.flickr.com/photos/purplemattfish/3188379971
• Institutul National de Statistica, by cod_gabriel: http://www.flickr.com/photos/cod_gabriel/5020874491
• The Old Library, Trinity College Dublin Ireland, by Mark Colliton: http://www.flickr.com/photos/52814185@N02/8541947962
• Jet Engine, by Rainer Hungershausen: http://www.flickr.com/photos/mamboman/1390054987
• International Building, by Kelvin Dickinson: http://www.flickr.com/photos/73172555@N00/4442337186
• Sticker on TBL’s NeXT box, by Robert Scoble: http://www.flickr.com/photos/scobleizer/2251820987
• Java’s Monte Bromo, by Javier Martin Espartosa: http://www.flickr.com/photos/druidabruxux/7076396311
• Cancelled Passport, by Ken Mayer: http://www.flickr.com/photos/ken_mayer/3407687577
• The Final Whistle, by Craig Sunter: http://www.flickr.com/photos/16210667@N02/8755031018
Attributions – Thank you for the CC licensing! :-)
• Turbine Monitoring, by Michael Connell: http://www.flickr.com/photos/mdconnell/5506445280
• Forskerfabrikken, by Aktiv Oslo: http://www.flickr.com/photos/aktivioslo/5238029144
• Le Sacre ballet troupe, by Lorenzo Gaudenzi: http://www.flickr.com/photos/lorenzogdnz/8205797284
• Red Letter Box, by Les Haines: http://www.flickr.com/photos/leshaines123/4938621867
• Lego Avengers, by Andrew Becraft: http://www.flickr.com/photos/dunechaser/6042984689
• Safety First, by David “darkmatter”: http://www.flickr.com/photos/cdm/135735194
• Casino Chips “Eleven”, by Marie M: http://www.flickr.com/photos/doozzle/317349670