You are on page 1of 31

Oracle Primavera P6 EPPM:

Performance Tuning, Testing, and


Monitoring
Room: South Pacific D

Pete Biddle
Enterprise Architect
Oracle Primavera Business Unit
April 16, 2015

Copyright 2015, Oracle and/or its affiliates. All rights reserved. |

Safe Harbor Statement


The following is intended to outline our general product direction.
It is intended for information purposes only, and may not be
incorporated into any contract. It is not a commitment to deliver
any material, code, or functionality, and should not be relied upon
in making purchasing decisions. The development, release, and
timing of any features or functionality described for Oracles
products remains at the sole discretion of Oracle.

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Agenda
Database Tuning
P6 Application Server Monitoring
Memory Settings
Best practices for fast client Java applets
Best practices for P6 Job Services

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Database Tuning Use tuned Table Statistics


Run P6 db scripts that set table statistics
(orpm_stats_gather.sql)
These scripts can be found at
<P6InstallFolder>/database/scripts/common/aux_script
They adjust statistics to be off for certain dynamic tables

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Database Tuning Partitioning


P6 Tables that supporting partitioning:
PROJWBS
PROJECT
UDFVALUE
If you have large number of rows, you should consider
partitioning, as these tables are heterogeneous.
Please see Oracle Knowledgebase Doc ID 912820.1 for
more details on database partitioning with P6

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Database Tuning What Else?


Remaining database tuning is more reactive -- default
db settings as set up by P6 db installer are pretty good.

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Database Tuning What Else?


Remaining database tuning is more reactive -- default
db settings as set up by P6 db installer are pretty good.
AWR Reports Generate as needed if application
performance drops and you suspect database is the
bottleneck.
Look at SQL ordered by Elapsed Time first. Determine
if expensive queries belong to P6 by looking at SQL
Module column for P6WebApp.

Your DBA may find the performance of a query could be


improved in your environment with a SQL hint.
Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Application Monitoring of SQL Statements


Use the Trace utility
Monitors/Displays SQL requests to the db, with timings
Download from http://support.oracle.com in Patches And Updates tab.
Search for Patch Name or Number: 12953137
Use the following download password which is good until July:
emmOgohk (note: those are all letter Os, not zeros)
(After July, you will need to contact Oracle Support to download the tool)

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Application Monitoring of SQL Statements


<Tracer demo>

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Monitoring the P6 Application Server


Basic Health
P6 15.1 Use CheckBasicHealth at end of context root
to check availability, ie ../p6/CheckBasicHealth
<DEMO>

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Monitoring the P6 Application Server (2)


JMX Bean Metrics

Use Enterprise Manager (with p6-emplugin.jar) or


JConsole to monitor P6 metrics from JMX beans.
<Demo JConsole>

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Monitoring the P6 Application Server (3)


Resource Monitoring

Use WebLogic consoles various monitoring pages

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Monitoring the P6 Application Server (4)


Resource Monitoring
Use JVisualVM to monitor CPU and memory

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Monitoring memory and CPU


using JVisualVM

JVisualvm is part of JDK


Start it up from jdk/bin folder: jvisualvm
Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

JVisualVM
Use 64 bit version of jvisualvm if monitoring 64 bit
version of JDK
Can monitor any local JVM immediately
<Demo>

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

JVisualVM connect remotely


To monitor remote JVM, start remote JVM up using the
following JVM options which enable JMX remote
connections:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=6789
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
** -Djava.rmi.server.hostname=<IPAddressOfThisMachine>
** -Djava.rmi.server.useLocalHostname=true
** Only add the last 2 options if having trouble connecting

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

What should I use for Xmx ?


Javas Xmx parameter controls maximum heap
available
You want at least 1.5GB of wiggle room in your OS after
all apps (JVMs) are using all of their max heap
Example:
Running free m on a 16GB Linux box shows 11GB
free when everything except your target JVM is loaded.
Therefore your target JVM should set Xmx to no more
than 9.5GB.

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

!#****###$!!!

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Lifecycle of Loading a Java Applet in P6


(EPS, Activities, Resources)

@ Loading

Loading data

Processing data

Applet code is being


loaded, verified and
initialized by the
browser (.jar files
loading from server or
from Java cache).

Applet is requesting
project or activity data
from the server.

Applet is generating
and drawing grid
control and Gantt chart
for the first time after
data is loaded.

During this time, SQL


queries are being
executed and
processed.

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Best Practices for Java applet Performance


Never use remote folder for home profile location,
unless its as fast as a local disk
Always use 64 bit browser with 64 bit version of JVM
plugin. This unfortunately leaves Firefox/Windows out
of contention, since there is no 64-bit version of Firefox
as of date. 64-bit Chrome or IE are preferred.

Adjust Admin setting Maximum Memory allocated to


Java applets to be 4096 MB if workstation has enough
memory

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Internet Explorer issue with running 64 bit


JVM
Problem: IE 11 & 12 versions cannot load the 64 bit Java
plugin by default.
IE 11 and 12 versions launch the main iexplore.exe process as 64 bit, but the actual tabs run as
separate 32-bit processes (you can see this in Task Manager - iexplore.exe*32). So any pages in
these tabs will only load the 32-bit Java plugin.
There is documentation on Microsofts site that says that turning on the IE setting Enable
Enhanced Protected Mode will overcome this issue, however in practice I have never seen this
work IE still launches 32-bit iexplore sub-processes for the tabs.
In order to force IE to always run its tabs as 64 bit processes (and enable launching of 64 bit Java
plugin), you must change registry settings for IE:
In hive locations: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN
and
HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main, change the value
TabProcGrowth to 0. Its original value was probably Medium or 1. This will force IE to run
the tabs in the same process as the main 64-bit process, and therefore the 64-bit Java plugin will
be used.

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Troubleshooting:
Performance problems with Specific Users
Never underestimate detrimental effect of scanning
tools on users local machine:

Windows Search Indexer


Virus Scanners

Other listeners implanted in desktops as part of


corporate security standards
Look at Windows Task Manager processes tab-Even 3% CPU usage by a scanner can actually
represent much more drain on disk controller
Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Job Services deployments


Use multiple job services (p6services.jar) deployments on
different machines to distribute the load

Dont combine heavily used job services on single machine


Give job services exclusive use of machine or VM where possible,
dont run them on P6 Web or Web Services machine
Run load tests to ensure sufficient memory & CPU resources are
available for daily or nightly jobs
Dont allocate too many threads per job type
Always use dedicated job server for Publication services
Please see article P6 EPPM Job Services Performance Tuning and Settings.
Direct link:
http://www.oracle.com/webfolder/technetwork/tutorials/primavera/OnlineLearning/
WhitePapers/P6JobServicesPerformanceTuning.pdf
Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Bonus: Tricks for Admins


Use devmode page to check P6 connectivity to other servers
http://<host:port>/server/p6/dm/devmode.jsp

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Bonus: Tricks for Power Users


Avoid Activity View scroll position jumping
Drag the activity detail and WBS detail windows to your 2nd display.
Avoids screen jumping around while scrolling and selecting
activities and WBS.

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Bonus: Tricks for Power Users


Quickly switch between Activity View and EPS View
You can have EPS and Activity views open in 2 different tabs.
Do this by first opening EPS view, then right click on Activities tab
and choose Open in New Tab.
Having both open will use more memory, but it will allow quick
jumps between the 2 views while building a schedule.

Caution: These 2 tabs share the same session, so if you log out of
P6 in one, you will lose any un-saved data in the other tab if you
have not saved it.

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

QUESTIONS

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

Copyright 2015, Oracle and/or its affiliates. All rights reserved. | Oracle Primavera P6 EPPM: Perf. Tuning, Testing, and Monitoring

You might also like