Practical Advice and Guidance on the use of PeopleTools Performance Monitor David Kurtz Go-Faster Consultancy Ltd.

Slides:



Advertisements
Similar presentations
E-Commerce CMM503 – Lecture 8 Stuart Watt Room C2.
Advertisements

PeopleSoft Ping David Kurtz
Module 13: Performance Tuning. Overview Performance tuning methodologies Instance level Database level Application level Overview of tools and techniques.
Instrumentation1 PeopleSoft: A Properly Instrumented Application? David Kurtz Go-Faster Consultancy Ltd.
Rev SYBASE ASE: MDA TABLE ASSISTANT Sybase Administration Tools available at: mailto:
ADABAS to RDBMS UsingNatQuery. The following session will provide a high-level overview of NatQuerys ability to automatically extract ADABAS data from.
PeopleSoft Instrumentation © PeopleSoft: A Properly Instrumented Application? David Kurtz Go-Faster Consultancy Ltd.
Graphing AWR Data in Excel
An introduction to SQL*Trace, TKPROF and Execution Plans
CHAPTER 15 WEBPAGE OPTIMIZATION. LEARNING OBJECTIVES How to test your web-page performance How browser and server interactions impact performance What.
GALVESTON COUNTY, TX P-CARD TRAINING GALVESTON COUNTY.
Row Migration can Aggravate Contention on Cache Buffer Chains Latch David Kurtz Go-Faster Consultancy Ltd.
Library Online Catalog Tutorial Pentagon Library Last Updated March 2008.
1 Configuring Web services (Week 15, Monday 4/17/2006) © Abdou Illia, Spring 2006.
Peoplesoft Fundamentals David Lewis 10/18/02 (adapted from Psoft Training Materials)
Report Distribution Report Distribution in PeopleTools 8.4 Doug Ostler & Eric Knapp 7264.
(NHA) The Laboratory of Computer Communication and Networking Network Host Analyzer.
Measuring Performance Chapter 12 CSE807. Performance Measurement To assist in guaranteeing Service Level Agreements For capacity planning For troubleshooting.
Chapter 9 Overview  Reasons to monitor SQL Server  Performance Monitoring and Tuning  Tools for Monitoring SQL Server  Common Monitoring and Tuning.
2440: 141 Web Site Administration Web Server-Side Programming Professor: Enoch E. Damson.
Understanding and Managing WebSphere V5
DB Audit Expert v1.1 for Oracle Copyright © SoftTree Technologies, Inc. This presentation is for DB Audit Expert for Oracle version 1.1 which.
Web server and web browser It’s a take and give policy in between client and server through HTTP(Hyper Text Transport Protocol) Server takes a request.
LGC Website and Customer On-line Tools LGC RESOURCE 2014.
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
Module 5: Managing Public Folders. Overview Managing Public Folder Data Managing Network Access to Public Folders Publishing an Outlook 2003 Form Discussion:
Dr Lisa Wise 18/10/2002 Website Metrics Dr Lisa Wise.
Get more out of 11i with Oracle ADI Richard Byrom Oracle Applications Consultant Appsworld January 2003.
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
Integrating and managing your Engaging Networks data Top ten data features.
CSE 781 – DATABASE MANAGEMENT SYSTEMS Introduction To Oracle 10g Rajika Tandon.
2 Copyright © 2004, Oracle. All rights reserved. Running a Forms Developer Application.
Computer Emergency Notification System (CENS)
Chapter 8 Collecting Data with Forms. Chapter 8 Lessons Introduction 1.Plan and create a form 2.Edit and format a form 3.Work with form objects 4.Test.
Graphing and statistics with Cacti AfNOG 11, Kigali/Rwanda.
Java Portals and Portlets Submitted By: Rashi Chopra CIS 764 Fall 2007 Rashi Chopra.
1 MSCS 237 Overview of web technologies (A specific type of distributed systems)
SIMSWeb “Internet Remote Access” The most advanced central station software in the universe !
ESRI User Conference 2004 ArcSDE. Some Nuggets Setup Performance Distribution Geodatabase History.
Web Pages with Features. Features on Web Pages Interactive Pages –Shows current date, get server’s IP, interactive quizzes Processing Forms –Serach a.
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Table of Contents TopicSlide Administrator Login 2 Administrator Navigations 3 Managing AlternativeDr.com Blogs 4 Managing Dr. Lloyd May Blogs 5 Managing.
CSI 3125, Preliminaries, page 1 SERVLET. CSI 3125, Preliminaries, page 2 SERVLET A servlet is a server-side software program, written in Java code, that.
Chapter 5 Introduction To Form Builder. Lesson A Objectives  Display Forms Builder forms in a Web browser  Use a data block form to view, insert, update,
Clusterpoint Margarita Sudņika ms RDBMS & NoSQL Databases & tables → Document stores Columns, rows → Schemaless documents Scales UP → Scales UP.
Performance Testing Test Complete. Performance testing and its sub categories Performance testing is performed, to determine how fast some aspect of a.
Distributed Logging Facility Castor External Operation Workshop, CERN, November 14th 2006 Dennis Waldron CERN / IT.
Module 6: Administering Reporting Services. Overview Server Administration Performance and Reliability Monitoring Database Administration Security Administration.
Introduction to SQL Server  Working with MS SQL Server and SQL Server Management Studio.
CMPE 226 Database Systems April 19 Class Meeting Department of Computer Engineering San Jose State University Spring 2016 Instructor: Ron Mak
LOAD RUNNER. Product Training Load Runner 3 Examples of LoadRunner Performance Monitors Internet/Intranet Database server App servers Web servers Clients.
2 Copyright © 2004, Oracle. All rights reserved. Running a Forms Developer Application.
2 Copyright © 2006, Oracle. All rights reserved. Running a Forms Developer Application.
Putting Your Head in the Cloud Working with SQL Azure David Postlethwaite 19/09/2015David Postlethwaite.
Enterprise Resource Planning - PeopleSoft. An ERP system is a business support system that maintains in a single database the data needed for a variety.
SAP Tuning 실무 SK㈜ ERP TFT.
Architecture Review 10/11/2004
Understanding and Improving Server Performance
Running a Forms Developer Application
Working in the Forms Developer Environment
WWW and HTTP King Fahd University of Petroleum & Minerals
PHP / MySQL Introduction
Introduction of Week 3 Assignment Discussion
CSM System ( Customer Service Management System)
What is Cookie? Cookie is small information stored in text file on user’s hard drive by web server. This information is later used by web browser to retrieve.
End-user measurement combined with deep technical visibility
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Wings 2.0 Business Flow Reference
Lecture 4: File-System Interface
SharePoint 2013 Best Practices
Presentation transcript:

Practical Advice and Guidance on the use of PeopleTools Performance Monitor David Kurtz Go-Faster Consultancy Ltd.

Practical PPM © Who Am I? Oracle Database Specialist –Independent consultant System Performance tuning –PeopleSoft ERP –Oracle RDBMS Book – UKOUG –PeopleSoft Technology SIG Committee

Practical PPM © Resources If you can’t hear me say so now. Please feel free to ask questions as we go along. The presentation is available from UKOUG Conference Website blog.psftdba.com

Practical PPM © Using PeopleSoft Performance Monitor Very Quick Overview Performance Tuning the Performance Monitor PPM Bugs & Fixes General Analyses –Events –Components –Network Latency Performance Trace Demo

Practical PPM © Think! The way you think about performance is more important than the tools you use. –Mostly, you need to focus on time. Further reading: –The Goal – Eli Goldratt –Optimising Oracle Performance - Millsap & Holt

Practical PPM © PPM – Key Features PeopleTools is used to Monitor PeopleTools –You don’t have to buy any more software –Monitoring system –v- Monitored systems Can and should use one monitor for many monitored Eg. Consolidated Portal/Application –Any version >= 8.44 can monitor any version When it works!

Practical PPM © Web Server Web Server Application Server (application logic) Application Server (application logic) APPQ PSAPPSRV DBMS (application data & meta-data DBMS (application data & meta-data SQL Tuxedo Message http / https Browser (presentation & JavaScript) Browser (presentation & JavaScript) Monitoring System PIA Servlet PSPPMSRV Monitored System Web Server (presentation logic) Web Server (presentation logic) PIA Servlet DBMS (application data & meta-data DBMS (application data & meta-data Tuxedo Message http / https Browser (presentation & JavaScript) Browser (presentation & JavaScript) Screen Paint Java Script Application Server (application logic) Application Server (application logic) APPQ PSAPPSRV PSMONITORSRV SQL PPMI Servlet 0345f1003x Monitor Servlet

Practical PPM © Performance Monitor Metrics Transactions –User activities in PIA that cause communications with application server –Sampled –Enabled to form a trace Events –Periodic samples –Usually initiated by monitoring agents –eg. CPU, Tuxedo counters

Practical PPM © Performance Monitor Transactions User activity in PIA Performance Monitoring Unit –Hierarchy of transactions Similar to Oracle event trace –recursive actions

Practical PPM © Transactions Stored to PSPMTRANSCURR table –As PMUs are closed moved to PSPMTRANSHIST –Later deleted or archived to PSPMTRANSARCH ERD downloadable from Metalink –And you will need to get to grips with it.

Practical PPM © ERD of Transaction PSTRANSHIST (C) PSPMSYSDEFN (B) PSPMAGENT (A) PSPMCONTEXTDEFN (C1) PSPMMETRICDEFN (M1) PSPMCONTEXTDEFN (C2) PSPMCONTEXTDEFN (C3) PSPMMETRICDEFN (M2) PSPMMETRICDEFN (M3) PSPMMETRICDEFN (M4) PSPMMETRICDEFN (M5) PSPMMETRICDEFN (M6) PSPMMETRICDEFN (M7) PM_CONTEXTID_n (n=1-3) PM_SYSTEMID PM_TRANS_DEFN_SET, PM_TRANS_DEFN_ID PM_AGENTID PM_METRICIDn (n=1-7) search criteria PSPMTRANSDEFN (E)

Practical PPM © Metrics Metric IDs specified on transaction definition PSPMTRANSDEFN –Metrics Types defined on PSPMMETRICDEFN Type 1: Counters (including timers) –Metric 4: Total Servlet Request time (ms) Type 2: Gauges –Metric 102: %CPU Used Type 3: Numeric Identifier –Metric 20: HTTP response code Type 4: String Identifier –Metric 27: File Name

Practical PPM © Transaction 101 Reported at entry and exit of PIA servlet –Context 1 Action=View Page –Context 2 IP Address= –Context 3 Session ID=AN7tpzSwpZc4kt9k8... –Additional Description psc/ps/EMPLOYEE/HRMS/c/UTILITIES.PTPERF_TEST.GBL

Practical PPM © Transaction metrics –Metric 19: Response Size (bytes) =17613 –Metric 20: Response Code =200 –Metric 22: Static Content Count =0 –Metric 23: Is this a Pagelet? =0

Practical PPM © Transaction Query Results PM_TOP_INST_ID PM_INSTANCE_ID PM_PARENT_INST_ID DBNAME PM_HOST_PORT PM_DOMAIN_NAME PM_AGENT_TYPE PM_INSTANCE PM_AGENT_STRT_DTTM PM_MON_STRT_DTTM OPRID PM_PERF_TRACE PM_PROCESS_ID PM_TRANS_DEFN_ID DESCR60 'CONTEXT1:'||C.PM_CONTEXTID_1||'-'||C1.PM_CONTEXT_LABEL||'='||C.PM_CONTEXT_VALUE … PM_TRANS_DURATION 'METRIC1:'||M1.PM_METRICLABEL||'='||C.PM_METRIC_VALUE1 … PM_ADDTNL_DESCR HR88 go-faster-3:7201:7202 ps WEBSERVER -1 16:12: :12: PS PS: :01: Reported at entry and exit of PIA servlet Context1:3-Session ID=AN7tpzSwpZc4kt9k8QNaCcYUWWh9FaFt! ! Context2:2-IP Address= Context3:1-Action=View Page 1322 Metric1:Response Size (bytes)=17613 Metric2:Response Code=200 Metric3:Static Content Count=0 Metric4:Is this a Pagelet?=0 Metric5:=0 Metric6:=0 Metric7:=

Practical PPM © Events Do not have an explicit context –Collecting agent provide context Stored in PSPMEVENTHIST –Later deleted or archived to PSPMEVETARCH

Practical PPM © ERD of Events PSEVENTHIST (C) PSPMEVENTDEFN (E) PSPMSYSDEFN (B) PSPMAGENT (A) PSPMMETRICDEFN (M1) PSPMMETRICDEFN (M2) PSPMMETRICDEFN (M3) PSPMMETRICDEFN (M4) PSPMMETRICDEFN (M5) PSPMMETRICDEFN (M6) PSPMMETRICDEFN (M7) PM_AGENTIDPM_EVENT_DEFN_SET, PM_EVENT_DEFN_ID PM_SYSTEMIDsearch criteria PM_METRICIDn (n=1-7)

Practical PPM © Event Query Results DBNAME PM_HOST_PORT PM_AGENT_TYPE PM_DOMAIN_NAME PM_INSTANCE PM_AGENT_DTTM PM_INSTANCE_ID PM_EVENT_DEFN_ID DESCR60 'METRIC1:'||M1.PM_METRICLABEL||'='||C.PM_METRIC_VALUE1 'METRIC2:'||M2.PM_METRICLABEL||'='||C.PM_METRIC_VALUE2 'METRIC3:'||M3.PM_METRICLABEL||'='||C.PM_METRIC_VALUE3 'METRIC4:'||M4.PM_METRICLABEL||'='||C.PM_METRIC_VALUE4 'METRIC5:'||M5.PM_METRICLABEL||'='||C.PM_METRIC_VALUE5 'METRIC6:'||M6.PM_METRICLABEL||'='||C.PM_METRIC_VALUE6 'METRIC7:'||M7.PM_METRICLABEL||'='||C.PM_METRIC_VALUE7 PM_ADDTNL_DESCR HR88 go-faster-3:7201:7202 WEBSERVER ps -1 16:12: PSPING metrics fowarded from browser Metric1:Network Latency (ms)=435 Metric2:WebServer Latency (ms)=100 Metric3:AppServer Latency (ms)=561 Metric4:DB Latency (millisecs)=451 Metric5:=0 Metric6:=0 Metric7:IP Address= PS;AN7tpzSwpZc4kt9k8QNaCcYUWWh9FaFt! !

Practical PPM © Tuning Performance Monitor Some of the delivered analytics do not perform well with even moderate data volumes –Set up the monitoring system to self monitor –Then you can generate PPM traces on the analytics –You will need additional indexes performance-monitor.html (YMMV) performance-monitor.html

Practical PPM © Purge Process Data normally held in history tables –PSPMTRANSHIST, PSPMEVENTHIST Clone tables –PSPMTRANSHISTCL, PSPMEVENTHISTCL PPM writes to tables specified in PSPMTABLEMAP –Archive process switches this to clone tables select * from pspmtablemap; PM_TRANS_TBL_NAME PM_EVENT_TBL_NAME PSPMTRANSHIST PSPMEVENTHIST

Practical PPM © PSPMTABLEMAP Archive/Purge switches PPM destination –Prevents concurrent INSERT and DELETE/Query operations –Saves read consistency problems on Oracle –Saves page locks on other databases PPM appears not to collect data during this processing –But it is written to clone tables –Archive process moves it to main hist tables after purge

Practical PPM © Purge Process Can’t Keep Up Platform generic query leads to full scan –Even if data has been deleted (manually) high water marks (HWM) on tables not reset Customisation –Oracle specific statement –May need to rebuild HIST tables to reset HWM In which case manually set PSPMTABLEMAP to clones, rebuild history tables, run archive process

Practical PPM © Performance Fix for Purge Vanilla Code &TransHistSQL.Open("SELECT … AND %DateTimeDiff(X.PM_MON_STRT_DTTM, %CurrentDateTimeIn) >= (PM_MAX_HIST_AGE * 24 * 60)"); Expands to … AND ROUND((CAST(( SYSDATE) AS DATE) - CAST((X.PM_MON_STRT_DTTM) AS DATE)) * 1440, 0) >= (PM_MAX_HIST_AGE * 24 * 60) My Suggestions … AND X.PM_MON_STRT_DTTM < SYSDATE - Z.PM_MAX_HIST_AGE See blog entry performance-monitor.html performance-monitor.html

Practical PPM © How much data? Control sampling –Proportion of transactions collected Depends upon activity on system On busy self-service system as little as 1 in 5000 –Event sampling frequency For each agent 5 minutes – 15 minutes Depends on whether you want to be able to see short- lived behaviours.

Practical PPM ©

Practical PPM © Recent problems in PT8.49 Prior to patch –Ports left open in close_wait –Unix systems run out of ports Get ‘Application Server is down’ errors –No Limit on Windows But the system does progressively slow down –POC applied to Tuxedo Connections capped at

Practical PPM © Outstanding problems in Tuxedo Queuing not reported –Events 300 and 301 Tuxedo Connections not reported –Event 300

Practical PPM © Practical Examples Simple Graphs of Events Cumulative Frequency Distributions Network Latency Performance Trace

Practical PPM © Simple Event Graphs You set an event collection interval All domains collect at that interval –But each has its own clock –Each collects at different times. If you have multiple web/app servers? –Need to aggregate for system wide view –Interpolate between points? | (PL/SQL package see notes for this slide)

Practical PPM © Simple Event Graphs Raw data from PSPMEVENTHIST or PSPMEVENTARCH –Extract into working storage tables Possibly two levels –Aggregating as you go

Practical PPM ©

Practical PPM ©

Practical PPM ©

Practical PPM ©

Practical PPM © Jolt Message Sizes Transaction 115 –Size of Jolt Messages into and out of Tuxedo –Message Written to disk If message larger than specfied size or would cause queue to become ¾ full –Default Queue Size is 64Kb Kernel Parameter (windows too) –Most systems need Kb

Practical PPM © Cumulative Frequency – ntile() SELECT pctile, MIN( ) FROM( SELECT NTILE(100) OVER (ORDER BY ) AS pctile FROM ) GROUP BY, pctile

Practical PPM ©

Practical PPM © Anatomy of a Transaction Simple PIA Transaction 101 – PIA entry/exit –115 – Jolt Message 400- Tuxedo Service –401 ICPanel –410 ICScript

Practical PPM © Anatomy of a Transaction Portal PIA Transaction –PMU is consolidated across databases. 106 – Portlet –115 – Jolt Message 400- Tuxedo Service –401 ICPanel –410 ICScript

Practical PPM ©

Practical PPM © Individual Components Now try the same analysis for specific components –Determine the top-n components by cumulative execution time PPM Analytic uses only event 401 –Doesn’t take web server or queuing time into account. I prefer to use event 101, 106 –But you have to join the transactions. –Component identification from transaction 401 contexts

Practical PPM © This area is Time spent in web server JVM Component that uploads an attachment

Practical PPM © Jolt Message to App Server increases – large attachments Component that uploads an attachment

Practical PPM © Time spent in ICPanel Service – possibly database or PeopleCode Interesting jump in response time Typical Component

Practical PPM © Time spent in ICPanel Service – possibly database or PeopleCode Significant jump in response time Custom PeopleCode Button

Practical PPM © Time spent in web server JVM Component that uploads attachment

Practical PPM © Network Latency Most transactions are sampled But three transactions are always recorded See PMTRANSDEFN.PM_SAMPLING_ENABLE –108: User Session logout, expiration, timeout, or error –109: User Session began (user logged in) –116: Redirected round trip time (network latency)

Practical PPM © Transaction 116 Network round trip from webserver to browser and back again –Includes network transmission time –Browser response time –Client IP address Although that could be load balancer or NAT –Operator ID LOCATION from HR database?

Practical PPM ©

Practical PPM © Analysis by Client IP IP addresses are of Routers not Clients Mon Jun 30 page 1 Login Durations by Client IP IP Address MIN AVG MED MAX VAR NUM_EVENTS , , , , , ,

Practical PPM © HR location of OPRID First three lines are different network topology Operator may not actually be at stated location *especially home workers Mon Jun 30 page 1 Login Durations by Location (min 10 logins) LOCATION CITY Cty MIN AVG MED MAX VAR EVENTS EXT-00-IN Bangalore IND , EXT-00-CZ Brno CZE , EXT-BK-UK Buckingham GBR , HOME Home Worker* GBR INT-L3 Liverpool GBR INT-BK Buckingham GBR INT-WS Walsall GBR

Practical PPM © After we fixed the problem…

Practical PPM © Analytics: Top Components

Practical PPM © Performance Trace Generates a group of PMUs for activity in a user session –Choose an ID to identify records later

Practical PPM © Performance Trace

Practical PPM © Performance Monitoring Unit Look at PMU Tree Demonstration

Questions?

Practical Advice and Guidance on the use of PeopleTools Performance Monitor David Kurtz Go-Faster Consultancy Ltd.