Recipes for the Perfect PI v2.0

Post on 13-Jan-2017

493 views 0 download

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

Sascha Wenninger

sascha@BlueT.com.au

+61 403 933 472

@sufw

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