Recipes for the Perfect PI v2.0

70

Transcript of Recipes for the Perfect PI v2.0

Page 1: Recipes for the Perfect PI v2.0
Page 2: Recipes for the Perfect PI v2.0

Recipes for the Perfect PI Sascha Wenninger @sufw

Page 3: Recipes for the Perfect PI v2.0
Page 4: Recipes for the Perfect PI v2.0

• π

Page 5: Recipes for the Perfect PI v2.0

• π

Page 6: Recipes for the Perfect PI v2.0

NetWeaver PI

Page 7: Recipes for the Perfect PI v2.0

@sufw on twitter

Technical Architect

Focus: SAP Integration

Co-founder of Blue T

SAP Mentor

Wannabe Performance Engineer

Enterprise IT != Boring

Sascha Wenninger

Page 8: Recipes for the Perfect PI v2.0

This presentation is online: http://speakerdeck.com/sufw

Licensed under:

Page 9: Recipes for the Perfect PI v2.0
Page 10: Recipes for the Perfect PI v2.0

Largest retail network in Australia

3,500+ stores across Australia

8,000+ Point of Sale terminals

Page 11: Recipes for the Perfect PI v2.0

SAP IS-Retail Backend

Various Point of Sale systems

Large non-SAP footprint

Page 12: Recipes for the Perfect PI v2.0

Real-time Processing of Retail Transactions

~1 million transactions per day

Peak of 75/second

Page 13: Recipes for the Perfect PI v2.0

No Impact to Other Interfaces, e.g.

2m+ parcel track events per day

Page 14: Recipes for the Perfect PI v2.0
Page 15: Recipes for the Perfect PI v2.0

Mission Critical

Page 16: Recipes for the Perfect PI v2.0

Challenge Accepted!

Page 17: Recipes for the Perfect PI v2.0

Luck

Page 18: Recipes for the Perfect PI v2.0

People

Page 19: Recipes for the Perfect PI v2.0

T -Shaped People

Page 20: Recipes for the Perfect PI v2.0

T Broad Knowledge

Shallow

Page 21: Recipes for the Perfect PI v2.0

T Narrow Expertise

Deep

Page 22: Recipes for the Perfect PI v2.0

T T T T T

Page 23: Recipes for the Perfect PI v2.0

PI ABAP

JavaScript

J2EE JMS

TIBCO XSLT

Ariba

IDocs

UNIX

Baking

jMeter soapUI

XML Schema

Visio Writing Groovy

WebDynpro

Page 24: Recipes for the Perfect PI v2.0

Try Things

Page 25: Recipes for the Perfect PI v2.0

Technology and products change quickly Don’t expect people to know it all up-front

Page 26: Recipes for the Perfect PI v2.0
Page 27: Recipes for the Perfect PI v2.0

Collaboration

Page 28: Recipes for the Perfect PI v2.0

Hofstadter's Law:

It always takes longer than you expect,

even when you take into account Hofstadter's Law.

Page 29: Recipes for the Perfect PI v2.0

Architecture

Page 30: Recipes for the Perfect PI v2.0

Java

Page 31: Recipes for the Perfect PI v2.0

PI on ABAP is deprecated. Since 7.1, more functionality has moved to Java:

AAE Advanced Adapter Engine

Advanced Adapter Extended AEX

Page 32: Recipes for the Perfect PI v2.0
Page 33: Recipes for the Perfect PI v2.0

We moved 1 interface from ABAP/Java to AAE:

Throughput 11x >50% DB space saved

Halved CPU allocation

Page 34: Recipes for the Perfect PI v2.0

We started with:

Dual-stack PI 7.1

50,000 messages/day

6 CPUs

Page 35: Recipes for the Perfect PI v2.0

3 Years Later:

Dual-stack PI 7.11

1,000,000+ messages/day

3 CPUs

Page 36: Recipes for the Perfect PI v2.0

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.

Page 37: Recipes for the Perfect PI v2.0

Stateless

Page 38: Recipes for the Perfect PI v2.0

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

Page 39: Recipes for the Perfect PI v2.0

In ~4 years at Australia Post, how many ccBPMs did we deploy?

Page 40: Recipes for the Perfect PI v2.0

0

Page 41: Recipes for the Perfect PI v2.0
Page 42: Recipes for the Perfect PI v2.0

blah

Memory

Memory

Page 43: Recipes for the Perfect PI v2.0

blah

Memory

Life’s too short for swapping to disk.

Buy More RAM.

Page 44: Recipes for the Perfect PI v2.0

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

Page 45: Recipes for the Perfect PI v2.0

Java Memory via the MMC

Page 46: Recipes for the Perfect PI v2.0

ABAP Memory: ST02

Page 47: Recipes for the Perfect PI v2.0

The JVM

Page 48: Recipes for the Perfect PI v2.0

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

Page 49: Recipes for the Perfect PI v2.0

Keep Tuning.

Page 50: Recipes for the Perfect PI v2.0

SolMan’s Java Memory Analyser can help

Page 51: Recipes for the Perfect PI v2.0

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

Page 52: Recipes for the Perfect PI v2.0

Java Server Nodes

Page 53: Recipes for the Perfect PI v2.0

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!

Page 54: Recipes for the Perfect PI v2.0

The Database

Page 55: Recipes for the Perfect PI v2.0

Keep your Stats up to date!

Fixing stats improved throughput 6x

Best of all: It’s Free

Database Statistics

Page 56: Recipes for the Perfect PI v2.0

Reorg your DB!

Page 57: Recipes for the Perfect PI v2.0

Some PI tables churn a lot, others not much at all. Reorganise frequently: • Save disk space • Balance load across disk drives • Automate reorgs!

Page 58: Recipes for the Perfect PI v2.0

Monitoring

Page 59: Recipes for the Perfect PI v2.0

Wily Introscope is great! A limited license is bundled for free with NetWeaver Provides detailed monitoring of a Java stack

Page 60: Recipes for the Perfect PI v2.0
Page 61: Recipes for the Perfect PI v2.0
Page 62: Recipes for the Perfect PI v2.0
Page 63: Recipes for the Perfect PI v2.0

XML Schema

Page 64: Recipes for the Perfect PI v2.0

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

Page 65: Recipes for the Perfect PI v2.0

etc.

Page 66: Recipes for the Perfect PI v2.0

People

Page 67: Recipes for the Perfect PI v2.0

Dan Getliffe Dieter Bauer

Jo Haslett Joy Massimino Nam Nguyen

Praneel Kumar Wing Leung

Page 68: Recipes for the Perfect PI v2.0

Sascha Wenninger

[email protected]

+61 403 933 472

@sufw

Page 69: Recipes for the Perfect PI v2.0

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

Page 70: Recipes for the Perfect PI v2.0

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