Presentation is loading. Please wait.

Presentation is loading. Please wait.

Go-Faster Consultancy Ltd.1 Performance Metrics: What to Measure in the PeopleSoft 8 Environment David Kurtz Go-Faster Consultancy Ltd.

Similar presentations


Presentation on theme: "Go-Faster Consultancy Ltd.1 Performance Metrics: What to Measure in the PeopleSoft 8 Environment David Kurtz Go-Faster Consultancy Ltd."— Presentation transcript:

1 Go-Faster Consultancy Ltd.1 Performance Metrics: What to Measure in the PeopleSoft 8 Environment David Kurtz Go-Faster Consultancy Ltd.

2 Go-Faster Consultancy Ltd.2 Agenda What is Performance Tuning? On-Line Batch What has been achieved? Questions?

3 Go-Faster Consultancy Ltd.3 Rules of Engagement If you can’t hear me - say so now! Feel free to ask on-topic questions during the presentation. This presentation (with notes) will be available on the Tech SIG page on Customer Connection and on –www.go-faster.co.uk

4 Go-Faster Consultancy Ltd.4 Who am I? DBA –Independent consultant –Performance tuning –UK Oracle User Group Unix SIG Chair

5 Go-Faster Consultancy Ltd.5 Aphorism Performance is exactly what the user perceives it to be. No more, no less. Poor performance is when the user’s perception does not match their expectation.

6 Go-Faster Consultancy Ltd.6 Aphorism Performance Tuning is a search for lost time.

7 Go-Faster Consultancy Ltd.7 Aphorism When you have eliminated the impossible, whatever remains, however improbable, must be the truth. –A Study in Scarlet, Arthur Conan-Doyle It is a capital mistake to theorise before one has data. The Memoirs of Sherlock Holmes, Arthur Conan-Doyle

8 Go-Faster Consultancy Ltd.8 Aphorism Detection is, or ought to be, an exact science. It should be be treated in the same cold and unemotional manner. –The Sign of Four, Arthur Conan-Doyle

9 Go-Faster Consultancy Ltd.9 PIA (On-Line) Performance Architecture –brief overview Sources of Metrics Graphical Techniques Tracing Techniques

10 Go-Faster Consultancy Ltd.10 It isn’t always the database! Understand architecture –Web front end –Network –Application server –Database What can you measure?

11 Go-Faster Consultancy Ltd.11 PeopleSoft Internet Architecture PIA is 4-tier architecture –Each component can contribute to response time –Need to measure each component Java Servlet (presentation logic) Java Servlet (presentation logic) Tuxedo Application Server (application logic) Tuxedo Application Server (application logic) DBMS (application data & meta- data DBMS (application data & meta- data SQL Tuxedo Message http / https

12 Go-Faster Consultancy Ltd.12 Sources of Metrics (1) Browser –Proxy Server –3rd Party software Local agent on PC Web Server –Access Log

13 Go-Faster Consultancy Ltd.13 Sources of Metrics (2) BEA/Tuxedo –Service Trace –TMADMIN Oracle Database –SQL_Trace –PSFT Application Server Trace

14 Go-Faster Consultancy Ltd.14 Hint All the data collected on a time base. Therefore, make sure that the clocks on all machines are synchronised at least with each other. –PC clocks are particularly liable to drift.

15 Go-Faster Consultancy Ltd.15 Sources of Metrics Java Servlet (presentation logic) Java Servlet (presentation logic) Tuxedo Application Server (application logic) Tuxedo Application Server (application logic) DBMS (application data & meta-data DBMS (application data & meta-data SQL Tuxedo Message http / https Webserver Access Log Proxy Server Access Log

16 Go-Faster Consultancy Ltd.16 Web/Proxy Access Log Standard format for access log –www.w3.org/pub/WWW/TR/logfile.html –Apache is different

17 Go-Faster Consultancy Ltd.17 Web/Proxy Access Log Fields –Date, Time (finish not start) –Time Taken accurate to OS time units (1/100 th s or 1/1000 th s) only 1s on Apache –Message size bytes –Client IP addresses & DNS names –URI stem & Query

18 Go-Faster Consultancy Ltd.18 How to Enable WebLogic Trace #weblogic.properties #required weblogic.httpd.enableLogFile=true weblogic.httpd.logFileName=access.log weblogic.httpd.logFileFormat=extended #recommended weblogic.httpd.logRotationType=date weblogic.httpd.logRotationPeriodMins=1440 weblogic.httpd.logRotationBeginTime= :00:00

19 Go-Faster Consultancy Ltd.19 Sample WebLogic Access Log #Version:1.0 #Fields:date time time-taken bytes c-ip c-dns cs-method sc-status cs- uri-stem cs-uri-query :51: go-faster-1 GET200 /servlets/iclientservlet/peoplesoft8/signon.html :51: go-faster-1 GET200/peoplesoft8/signin.css :51: go-faster-1 GET200/peoplesoft8/images/secondaryPSFTLogo.gif :51: go-faster-1 POST200/servlets/iclientservlet/peoplesoft8/ ICType=Panel&Menu=ADMINISTER_WORKFORCE_(GBL)&Market=GBL&PanelGro upName=PERSONAL_DATA&RL=&target=main2

20 Go-Faster Consultancy Ltd.20 Apache Access Log #httpd.conf LogFormat "%{%Y.%m.%d %H:%M:%S}t|%T|%B|%u|%h|%{User- Agent}i|%>s|%m|%U|%q" monitoring CustomLog logs/access.log monitoring

21 Go-Faster Consultancy Ltd.21 Sample Apache Access Log :57:06|0|275|-| |Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0; Q312461)|200|GET|/peoplesoft8/cache/PT_NEXTTAB_ENG_1.gif| :57:17|0|31847|-| |Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0; Q312461)|200|POST|/servlets/iclientservlet|?ICType=P anel&Menu=ADMINISTER_WORKFORCE_(GBL)&Market=GBL&Pane lGroupName=JOB_DATA :57:26|0|30959|-| |Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 4.0; Q312461)|200|POST|/servlets/iclientservlet|?ICType=P anel&Menu=ADMINISTER_WORKFORCE_(GBL)&Market=GBL&Pane lGroupName=JOB_DATA

22 Go-Faster Consultancy Ltd.22 What does the access log tell us? A date and time for every request Who made the request? How long did it take to serve? What was requested? –Which component (panel group)? Indicate possible bandwidth problems.

23 Go-Faster Consultancy Ltd.23 Download Bandwidth #version:1.0 #Fields: date time time-taken bytes c-ip c-dns cs-method sc-status cs-uri-stem cs-uri-query :29: GET200 /XXXXXXXX/images/topPSFTLogo.gif-

24 Go-Faster Consultancy Ltd.24 Sources of Metrics Java Servlet (presentation logic) Java Servlet (presentation logic) Tuxedo Application Server (application logic) Tuxedo Application Server (application logic) DBMS (application data & meta-data DBMS (application data & meta-data SQL Tuxedo Message http / https Tuxedo Service Trace

25 Go-Faster Consultancy Ltd.25 BEA/Tuxedo Service Trace Edit psappsrv.ubx file CLOPT=“-r -e APPQ.stderr…” –-r enables trace to stderr file –-e qualifies name of stderr file

26 Go-Faster Consultancy Ltd.26 Edit psappsrv.cfg Add a new variable to the trace section Thus service trace can be enabled/disabled from configuration file New variable will appear in the configuration dialogue [Trace] TuxedoServiceTrace=-r

27 Go-Faster Consultancy Ltd.27 Edit psappsrv.ubx Change every CLOPT entry in psappsrv.ubx. File name is set manually. –Same as queue name RQADDR="APPQ" CLOPT="{$Trace\TuxedoServiceTrace} -e {LOGDIR}{FS}APPQ.stderr {$PSAPPSRV\Spawn Server} -- -C {CFGFILE} - D {$Domain Settings\Domain ID} -S PSAPPSRV"

28 Go-Faster Consultancy Ltd.28 Resultant psappsrv.ubb When domain is configured.ubb file is generated. All variables are fully resolved. CLOPT=”-r -e D:\ps\hr8\appserv\hr8d\LOGS\APPQ.stderr -p 1,600:3,10 - -sICQuery - sSqlQuery:SqlRequest -- -C psappsrv.cfg -D HR8D -S PSAPPSRV"

29 Go-Faster Consultancy Ltd.29 Sample Tuxedo Service Trace Each service called to domain is logged SERVICE PID SDATE STIME EDATE ETIME

30 Go-Faster Consultancy Ltd.30 Tuxedo Service Trace Service - Name of Service Pid - An OS PID of listener or handler Sdate/Edate - Start/End Date –Seconds since 00:00hrs GMT 1st January Stime/Etime –Start/End Time in OS time units (1/ 100 th s or 1/1000 th s) –Hence calculate accurate service duration –Time on Server - not queuing

31 Go-Faster Consultancy Ltd.31 Txrpt Utility SERVICE SUMMARY REPORT SVCNAME 9a-10a TOTALS Num/Avg Num/Avg ICScript 8/1.43 8/1.43 ICPanel 6/3.47 6/3.47 JavaMgrGetObj 1/0.04 1/0.04 GetCertificate 1/0.73 1/ TOTALS 16/ /2.06

32 Go-Faster Consultancy Ltd.32 Sources of Metrics Java Servlet (presentation logic) Java Servlet (presentation logic) Tuxedo Application Server (application logic) Tuxedo Application Server (application logic) DBMS (application data & meta-data DBMS (application data & meta-data SQL Tuxedo Message http / https Tuxedo tmadmin script

33 Go-Faster Consultancy Ltd.33 BEA/Tuxedo TMADMIN Utility BEA Interactive command line interface Can be included in scripts –-r for read only in monitoring scripts pq (printqueue) psr (printserver) pclt (printclient)

34 Go-Faster Consultancy Ltd.34 PQ What queues in domain How many servers on queue How many requests queued –(How much work on queue) Prog Name Queue Name # Serve Wk Queued # Queued Ave. Len Machine JSL.exe GO-FASTER+ JREPSVR.exe GO-FASTER+ PSSAMSRV.exe SAMQ GO-FASTER+ BBL.exe GO-FASTER+ WSL.exe GO-FASTER+ PSAPPSRV.exe APPQ GO-FASTER+

35 Go-Faster Consultancy Ltd.35 PSR What servers exist? How many requests have they handled? What are they doing right now? Prog Name Queue Name Grp Name ID RqDone Load Done Current Service BBL.exe GO-FAST ( IDLE ) PSAPPSRV.exe APPQ APPSRV ICPanel PSSAMSRV.exe SAMQ APPSRV ( IDLE ) WSL.exe BASE ( IDLE ) JSL.exe JSLGRP ( IDLE ) JREPSVR.exe JREPGRP ( IDLE )

36 Go-Faster Consultancy Ltd.36 PCLT Who is connected? Are they doing something? When did they connect? LMID User Name Client Name Time Status Bgn/Cmmt/Abrt GO-FASTER-1 NT WSH 0:21:14 IDLE 0/0/0 GO-FASTER-1 NT JSH 0:21:13 IDLE 0/0/0 GO-FASTER-1 NT tmadmin 0:00:00 IDLE 0/0/0 GO-FASTER-1 PS JavaClient 0:02:30 BUSY/W 0/0/0

37 Go-Faster Consultancy Ltd.37 Sources of Metrics Java Servlet (presentation logic) Java Servlet (presentation logic) Tuxedo Application Server (application logic) Tuxedo Application Server (application logic) DBMS (application data & meta-data DBMS (application data & meta-data SQL Tuxedo Message http / https Oracle SQL*Trace

38 Go-Faster Consultancy Ltd.38 Oracle SQL Trace Tuning tool Session trace Format it with TKPROF Find long running SQL statements Total SQL Time for session call count cpu elapsed disk query current rows Parse Execute Fetch total

39 Go-Faster Consultancy Ltd.39 Small Application Servers Create small application with just a single handler process Enable trace on that process Trace sample transaction (only one user) sys.dbms_system.set_sql_trace_in_session(,,TRUE);

40 Go-Faster Consultancy Ltd.40 Sources of Metrics Java Servlet (presentation logic) Java Servlet (presentation logic) Tuxedo Application Server (application logic) Tuxedo Application Server (application logic) DBMS (application data & meta-data DBMS (application data & meta-data SQL Tuxedo Message http / https Webserver Access Log Proxy Server Access Log Tuxedo Service Trace Oracle SQL*Trace Tuxedo tmadmin script

41 Go-Faster Consultancy Ltd.41 Graphical Analysis Don’t drown in numbers –Draw a picture Load Data into Database –SQL_Loader (Oracle 9i External Table) Process Data –Matching, Aggregation Oracle Analytic Function Load data into Excel –Draw Graph

42 Go-Faster Consultancy Ltd.42 Sample SQL*Loader File LOAD DATA INFILE 'APPQ.stderr' REPLACE INTO TABLE txrpt WHEN (1) = FIELDS TERMINATED BY WHITESPACE TRAILING NULLCOLS (service"substr(:service,2)" -- remove ":stimestamp/ /24+TO_DATE(' ','DDMMYYYY') ",stime":stime/100",queue”’APPQ’",etime":etime/100")

43 Go-Faster Consultancy Ltd.43 Tips about Graphs Connect Excel directly to a database Aggregate data carefully –Too little and excel draws it badly because it adds a black border around an area –Too much and you lose details Pivot tables are useful –but Excel97 buggy Scatters and Trendlines –joining dots can obscure data –Excel supports points per series

44 Go-Faster Consultancy Ltd.44 Example: CPU Utilisation

45 Go-Faster Consultancy Ltd.45 Example: Apache Servlet Times

46 Go-Faster Consultancy Ltd.46 Longest http conversations

47 Go-Faster Consultancy Ltd.47 Example: Tuxedo Service Time

48 Go-Faster Consultancy Ltd.48 tmadmin - PCLT - Connect Client Sessions

49 Go-Faster Consultancy Ltd.49 tmadmin - PCLT - Busy/Wait Users

50 Go-Faster Consultancy Ltd.50 tmadmin - PQ - Queue Length

51 Go-Faster Consultancy Ltd.51 tmadmin - PSR - print server processes

52 Go-Faster Consultancy Ltd.52 Relating different metrics produces new information

53 Go-Faster Consultancy Ltd.53 Batch Performance Sources of Metrics Graph

54 Go-Faster Consultancy Ltd.54 Sources of Metrics (1) Process Scheduler Request Table –PSPRCSRQST need to archive this table maintain history in another table with on DELETE trigger

55 Go-Faster Consultancy Ltd.55 Graphical Analysis

56 Go-Faster Consultancy Ltd.56 Sources of Metrics(2) Application Engine Steps –PS_BAT_% tables –AE_TRACE= In Process Scheduler configuration (psprcs.cfg) –Report to database and/or trace file Cobol Statement –Report to trace file SQL Trace

57 Go-Faster Consultancy Ltd.57 Top AE Statements AE PC % Cum % % Cum % Stmt Execute SQL SQL PC SQL SQL Total Total Rank Statement ID Count Time Time Time Time Time Time Time GP_PMT_PREP.CA000.CF000.S PeopleCode.Rowset.Fill GP_RSLT_ACUM GP_PMT_PREP.FA000.FH000.S GP_PMT_PREP.FA000.FC000.S GP_PMT_PREP.FA000.FG000.S GP_PMT_PREP.FA000.FB000.S PeopleCode.Rowset.Fill GP_RSLT_PIN PeopleCode.CNuK_ PeopleCode.CDfF0_PPNw …

58 Go-Faster Consultancy Ltd.58 Oracle SQL*Trace & TKPROF Enable SQL Trace on batch process Process trace file with TKPROF –report Top n statements –sort by Parse/Fetch/Execute CPU/Elapsed Time –statement timings/execution plan call count cpu elapsed disk query current rows Parse Execute Fetch total

59 Go-Faster Consultancy Ltd.59 Triggers Process Scheduler Status Change On-Connect Enable Trace Archiving data during purge routines Altering session parameters

60 Go-Faster Consultancy Ltd.60 Process Scheduler CREATE OR REPLACE trigger sysadm.set_trace before update of runstatus on sysadm.psprcsrqst for each row when (new.runstatus = 7 and old.runstatus != 7 and new.prcstype IN('Application Engine','COBOL SQL', 'SQR Process','SQR Report','SQR Report For WF Delivery'))

61 Go-Faster Consultancy Ltd.61 On-Connect Triggers create or replace trigger sysadm.psqrysrv_session_trigger after logon on sysadm.schema declare l_program VARCHAR(64); begin SELECT program INTO l_program FROM v$session WHERE sid IN(SELECT sid FROM v$mystat WHERE rownum = 1); IF substr(l_program,1,8) = 'PSQRYSRV' OR INSTR(UPPER(l_program),'PSNVS') > 0 THEN sys.dbms_session.set_sql_trace(true);...

62 Go-Faster Consultancy Ltd.62 For example… sys.dbms_session.set_sql_trace(true); ALTER SESSION SET EVENTS '10053 trace name context forever, level 1’; ALTER SESSION SET EVENTS '10128 trace name context forever, level 2’; ALTER SESSION SET optimizer_mode=FIRST_ROWS; ALTER SESSION SET optimizer_index_caching=100; ALTER SESSION SET optimizer_index_cost_adj=1; ALTER SESSION SET sort_area_size = ; sys.dbms_application_info.set_module('nVision','p sqrysrv_session_trigger fired');

63 Go-Faster Consultancy Ltd.63 Further sources of Information PSFT Customer Connection Red Papers –8.4 PIA, Power Users

64 Go-Faster Consultancy Ltd.64 Aphorism The problems change from release to release, but the methods by which they are investigated remain the same. –Jonathan Lewis (author of Practical Oracle 8i)

65 Go-Faster Consultancy Ltd.65 Questions?

66 Go-Faster Consultancy Ltd.66 Aphorism You know my methods, apply them. –A Study in Scarlet, Arthur Conan-Doyle

67 Go-Faster Consultancy Ltd.67 Performance Metrics: What to Measure in the PeopleSoft 8 Environment David Kurtz Go-Faster Consultancy Ltd.


Download ppt "Go-Faster Consultancy Ltd.1 Performance Metrics: What to Measure in the PeopleSoft 8 Environment David Kurtz Go-Faster Consultancy Ltd."

Similar presentations


Ads by Google