SlideShare a Scribd company logo
12/9/2013 An Oracle White Paper -
Tuning and optimizing
Webcenter spaces applica-
tion
This white paper focuses on Oracle WebCenter Spaces performance
problem and analysis after post production deployment. We will tune
JVM ( JRocket). Webcenter Portal, Webcenter content and ADF task
flow.
Vinay kumar
Table of Contents
Introduction ....................................................................................................2
Application Architecture ................................................................................3
Analysis of Code base of Application.........................................................3
Result of Performance analysis is as below - .............................................4
Performance Optimization -........................................................................5
Tuning in Custom Task flow application in ADF side -.............................7
Preferred changes in web.xml – ............................................................8
Tuning JVM (JRockit) ................................................................................8
Tuning Webcenter Portal (Spaces)..............................................................9
Tuning Webcenter Content........................................................................10
Summary ...................................................................................................11
About the Author.......................................................................................11
Introduction
I have been given task of analysis and tuning of Webcenter Spaces application, which using custom
task flow build on Oracle ADF for our customer. This article is based on my analyzed data while
performance optimization but will be useful for any other Oracle Webcenter Portal (Spaces)
applications.
This application deployed on customer site. Issues persist with time, as data increase down the line
and loading of home page and other pages taking time around 20 to 30 Seconds. Goal is to reduce to
acceptable time frame.
The article covers the findings, research and recommendations and includes the best practices that
can be applied to generic WebCenter Spaces applications as well custom task flow application. The
following area are main effected for performance tuning.
1. Oracle Webcenter Spaces API
2. Oracle WebCenter Spaces1
Application Tuning
3. ADF Task Flow
The Oracle WebCenter Spaces application examined in this article is based on Oracle WebCenter
Patch Set 4 with Oracle Weblogic Server 11.1.1.5. Performance analysis done on various tool like
Jmeter,Oracle Enterprise Manager Control, and third party browser plugins including Firebug. I will
also list down the solution made for performance optimization and best practices.
Environment:
→ Oracle ADF
→ Oracle WebCenter 11.1.1.5
→ Oracle Webcenter Content
Application Architecture
Application consist of various spaces .It uses Webcenter content in behind. All user information and
application information stored in Webcenter Content , which is integrated through RIDC API.
Regarding Webcenter Spaces information, spaces user information and custom attributes of spaces
are stored in Webcenter spaces.
Analysis of Code base of Application
For performance analysis , I tried with Jmeter and result are not very good with a lot of data and
multiple request to RIDC api and Webcenter Spaces API classes i.e.
GroupSpaceWSClient
This class provides the utility methods to perform commonly used Group
Space operations.
GroupSpaceWSContext
This class provides all the client side configuration for connecting to the
group spaces web services.
GroupSpaceWSMembers
This class acts as place holder for storing details of members to be
added added to the Group Space and to be removed from teh Group
Space.
GroupSpaceWSMetadata This class is responsible for providing metadata for given WebCenter
Group Space.
Result of Performance analysis is as below -
And in average result graph -
Firebug -
After this testing main problem is request going to WS API. For example- In one scenario – One
spaces have custom attribute as moderationRequired -true for create new post. For checking that
current user is able to create post on that group, one request went for checking whether user is
member of that group or not, second request went to check the role of current user and third request
to check whether current group is require moderation or not. In above scenario, we send 3 request to
check wther user should able to create post or not. Lot of request to WS API, which cause the
problem.
Following method used to check WS spaces information -
getGroupSpaceMembersInfo(spaceName)
getGroupSpaceMetadata(spaceName)
getGroupSpaces()
getPublicGroupSpaces()
getGroupSpaceURL(groupSpace)
client.getDiscoverableGroupSpaces() and many more.
Performance Optimization -
There are two way, I had changed application code a bit.
1.) Using expression language from SpacesQueryParameters class - for getting spaces based on
various criteria .
2.) Querying the Webcenter Spaces DB tables -uerying the Webcenter Spaces DB tables
1. ) Implementation of Expression language (el) for getting information from WS
API -
→ #{spaceContext.spacesQuery.unionOf['DISCOVERABLE'].listSpaces - expression will
return the list of all discoverable group spaces
→
#{spaceContext.spacesQuery.unionOf['USER_JOINED'].shape['RECURSIVE_FLATTENED
'].listSpaces} - returns a list of all spaces the current user is a member of and returns all the sub-
spaces under each of these spaces the current user has access on
→ #{spaceContext.space['" + spaceName + "']} - Return instance of space.
These expression language is very useful compare to using WS API using GroupSpaceWSClient and
send request.for example Using below code you can get metadata of space
Space mySpace = (Space)OCCViewUtil.evaluateEL("#{spaceContext.space['"
+ spaceName + "']}");
GSMetadata spaceMetadata = spaceMetadata = mySpace.getGSMetadata();
2.) Querying the Webcenter Spaces DB tables – Instead of sending request to Webcenter Spaces
API , its easy and better to fetch information for database . We have webcenter schema for getting
information for Webcenter Spaces database tables. Similary we have schema for discussion, portlet
producer and activity & graphs as well.
See below-
Component Schema Owner Dependencies
WebCenter Spaces prefix_WEBCENTER prefix_MDS (Metadata Services)
Portlet Producers prefix_PORTLET None.
Discussions prefix_DISCUSSIONS None.
Activity Graph and Analytics prefix_ACTIVITIES None.
Alright, now our custom task flow application will have a model structure as well, which is not there
before. We will be creating read only view object on the tables .Getting information from these db
tables is very fast compare to use Webcenter Spaces API.
WC_SPACE_HEADER - This table stores all the spaces in the system, their status, last updated, and
other attributes like parent space and member count.
WC_SPACE_USR_DETAIL - This table stores all the users in the spaces, their status, roles, and other
attributes like space.
WC_PEOPLE_CONN_LIST - This table stores all the connection for particular users.
There are multiples tables .You can use according to your requirement. See below -
After creating view objects, We can get the information using executing view criteria. This will be a
quick way to get information for Webcenter spaces.
Tuning in Custom Task flow application in ADF side -
1. While using tree or table, use appropriate content delivery mode
Possible values for this attribute are:
 immediate
 lazy
 whenAvailable
2. Avoid inline usage of JavaScript/Cascading Style Sheets (CSS) whenever possible.
3. While using tree or table, always consider set correct fetch size (fetch size -defines the number of
rows to be sent to the client in one round-trip).
4. Avoid binding UI components in backing beans, if used make them as transient
5. While using tree or table use column stretching, if really required.
6. Use "blocking=true" for and to avoid multiple clicks on submit buttons.
7. Remove unused items from page bindings.
8. Set Immediate Property to True when Appropriate.
9. Remove unused VOIterators on JSFF Page definitions.
10. Use AJAX (PPR) as much you can.
11. Ensure none of Page definitions should have more than one data control if not needed. This may
result in increasing number of database connections.
12. Avoid using a af:panelStretchLayout where topHeight, bottomHeight, startWidth, or endWidth is set
to “auto”.
13. Don’t use JSF/ADF Faces and JavaServer Pages Standard Tag Library (JSTL) tags together.
14. Use the "visible" and "rendered" attributes wisely.
 The visible property specifies simply whether the component is to be displayed on the page, or
is to be hidden.
 The rendered property specifies whether the component shall exist in the client page at all.
15. Keep the managed beans in the lowest possible scope in task flow.
16. While using tree or table, always consider set correct fetch size( fetch size -defines the number of
rows to be sent to the client in one round-trip).
17. Ensure each backing bean/Manage bean should implement java.io.Serializble interface.
Preferred changes in web.xml –
org.apache.myfaces.trinidad.resource.DEBUG -False
oracle.adf.view.rich.CHECK_FILE_MODIFICATION -False
oracle.adf.view.rich.CLIENT_STATE_METHOD -token
oracle.adf.view.rich.LOGGER_LEVEL -False or remove this
entry
oracle.adf.view.rich.ASSERT_ENABLED -False or remove this
entry
Tuning JVM (JRockit)
The Oracle JRockit JVM is the industry's leading performing Java Virtual Machine now built into
Oracle Fusion Middleware. It brings industry leading real time infrastructure capabilities with JRockit
Real Time and unparallelled JVM diagnostics with JRockit Mission Control.
As all the java processes are run and maintained by the JVM, it should be tuned properly in order to
get the desired performance. The tuning can be done in terms of heap size allocated to different JVM
processes, Garbage collection and other run-time parameters.
1. Tuning the Garbage Collection: Set dynamic Garbage Collection mode to Throughput Mode. And
we can reduce the memory fragmentation by selecting this GC mode. Throughput mode is default
when the JVM runs in -server mode (which is default), or can be enabled with the command line
option -XgcPrio:throughput. For example:
java -XgcPrio:throughput
2. Setting the Nursery Size: Nursery size refers to the storage for the short-lived objects , which are
collected faster than old objects . This reduces the chances of very frequent Garbage collections and
long pause times. It is set to optimal value by default when the GC mode is selected as throughput. It
should at least 2GB.
Set -Xns=4096m to increase the nursery size.
3. Setting the Heap Size on 64-bit Systems: The heap size has an impact on allocation speed,
garbage collection frequency and garbage collection times. A small heap will become full quickly and
must be garbage collected more often .The heap allocation is a vital area which needs to be carefully
tuned to increase the performance. By default 2Gb is the allocated heap for Webcenter Spaces
application, which is very low. At least it should be 4GB.
java -Xms:4g -Xmx:4g
4.: Add the argument –XxnoSystemGC prevents System.gc() application calls from forcing garbage
collection.
Tuning Webcenter Portal (Spaces)
1. Configure Portlet cache size -
Change the following parameter in adf-config.xml manually
<adf-portlet-config>
<supportedLocales>
<cacheSettings enabled="true">
<maxSize>10000000</maxSize> {default value}
</cacheSettings>
<adf-portlet-config>
2. Configure portlet timeout-
Modify the portlet timeout value in the adf-portlet-config element of the adf-config.xml file.
Default: 10 seconds, minimum: 0.1 seconds, maximum: 60 seconds. If you must modify these
properties, post deployment, you must edit adf- config.xml manually.
The following is a sample snippet of adf-config.xml:
<adf-portlet-config>
....
<defaultTimeout>5</defaultTimeout>
<minimumTimeout>2</minimumTimeout>
<maximumTimeout>100</maximumTimeout>
</adf-portlet-config>
Tuning Webcenter Content
1. Setting JRockit Virtual Machine (JVM) Arguments.JVM arguments are set in the
setDSSCustomDomainEnv.sh file.
Heap size: If the system is overloaded, that is, garbage is collected or “out of memory error” occurs
frequently, then increase the heap size as appropriate to your system's available physical memory.
The parameter is:
-Xms2096M -Xmx2096M -Xns2096M
Security: The following JVM arguments improve performance of Webcenter application’s security
layer.
-DUSE_JAAS=false
-Djps.policystore.hybrid.mode=false
-Djps.combiner.optimize.lazyeval=true
-Djps.combiner.optimize=true
-Djps.auth=ACC
2. Setting System Limit -To run a WebCenter application at moderate load, set the open-files-limit to
2048.If you encounter errors, such as running out of file descriptors, then increase the system limit.
For example, on Linux, you can use this command: ulimit -n 4096 (default is 1024)
3. Setting HTTP Session Timeout
To manage over resource usage, adjust the session timeout value, in minutes, in the
web.xml file manually. The following is a sample snippet of web.xml:
<session-config>
<session-timeout>
45
</session-timeout>
</session-config>
Summary
This article stepped you through the performance tuning of webcenter spaces application.
Performance tuning is vast topic. It can be done timely with different environment. Real testing can be
done of Webcenter Spaces application using maximum load. So designing an application architecture
should be done with keeping in mind the co-current users. Still there is lot of space of tuning such as
Weblogic server.
To summarize, reducing the request to Webcenter Spaces API will increase the performance of
Webcenter Spaces application. Tuning practice of Webcenter Spaces helps a lot to reduce the page
loading time. By means of observations and preliminary testing data to 2 to 3 seconds from 20 to 30
seconds. It recommend to have model layer for fetching information from spaces.
About the Author
Vinay Kumar is a Senior Consultant and certified Oracle ADF/WebCenter Portal implementation spe-
cialist with Silbury IT Solutions gmbH. An Oracle Fusion Middleware evangelist. Vinay has seven
years of experience consulting in Oracle ADF, Oracle WebCenter Portal/Content.

More Related Content

What's hot

Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
elliando dias
 
Sql server backup internals
Sql server backup internalsSql server backup internals
Sql server backup internals
Hamid J. Fard
 
SQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowSQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should Know
Dean Richards
 
Memory management in oracle
Memory management in oracleMemory management in oracle
Memory management in oracle
Davin Abraham
 
Weblogic security
Weblogic securityWeblogic security
Weblogic security
Aditya Bhuyan
 
PostgreSQL Hangout Replication Features v9.4
PostgreSQL Hangout Replication Features v9.4PostgreSQL Hangout Replication Features v9.4
PostgreSQL Hangout Replication Features v9.4
Ashnikbiz
 
11g R2
11g R211g R2
11g R2
afa reg
 
SSAS Reference Architecture
SSAS Reference ArchitectureSSAS Reference Architecture
SSAS Reference Architecture
Marcel Franke
 
Percona Cluster with Master_Slave for Disaster Recovery
Percona Cluster with Master_Slave for Disaster RecoveryPercona Cluster with Master_Slave for Disaster Recovery
Percona Cluster with Master_Slave for Disaster Recovery
Ram Gautam
 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?
Mydbops
 
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIESORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
Ludovico Caldara
 
Investigate SQL Server Memory Like Sherlock Holmes
Investigate SQL Server Memory Like Sherlock HolmesInvestigate SQL Server Memory Like Sherlock Holmes
Investigate SQL Server Memory Like Sherlock Holmes
Richard Douglas
 
Distributed Caching Essential Lessons (Ts 1402)
Distributed Caching   Essential Lessons (Ts 1402)Distributed Caching   Essential Lessons (Ts 1402)
Distributed Caching Essential Lessons (Ts 1402)
Yury Kaliaha
 

What's hot (13)

Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
 
Sql server backup internals
Sql server backup internalsSql server backup internals
Sql server backup internals
 
SQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should KnowSQL Server Wait Types Everyone Should Know
SQL Server Wait Types Everyone Should Know
 
Memory management in oracle
Memory management in oracleMemory management in oracle
Memory management in oracle
 
Weblogic security
Weblogic securityWeblogic security
Weblogic security
 
PostgreSQL Hangout Replication Features v9.4
PostgreSQL Hangout Replication Features v9.4PostgreSQL Hangout Replication Features v9.4
PostgreSQL Hangout Replication Features v9.4
 
11g R2
11g R211g R2
11g R2
 
SSAS Reference Architecture
SSAS Reference ArchitectureSSAS Reference Architecture
SSAS Reference Architecture
 
Percona Cluster with Master_Slave for Disaster Recovery
Percona Cluster with Master_Slave for Disaster RecoveryPercona Cluster with Master_Slave for Disaster Recovery
Percona Cluster with Master_Slave for Disaster Recovery
 
What is new in PostgreSQL 14?
What is new in PostgreSQL 14?What is new in PostgreSQL 14?
What is new in PostgreSQL 14?
 
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIESORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
ORACLE 12C DATA GUARD: FAR SYNC, REAL-TIME CASCADE STANDBY AND OTHER GOODIES
 
Investigate SQL Server Memory Like Sherlock Holmes
Investigate SQL Server Memory Like Sherlock HolmesInvestigate SQL Server Memory Like Sherlock Holmes
Investigate SQL Server Memory Like Sherlock Holmes
 
Distributed Caching Essential Lessons (Ts 1402)
Distributed Caching   Essential Lessons (Ts 1402)Distributed Caching   Essential Lessons (Ts 1402)
Distributed Caching Essential Lessons (Ts 1402)
 

Viewers also liked

award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
Vinay Kumar
 
Matthew Melton Resume - Current
Matthew Melton Resume - CurrentMatthew Melton Resume - Current
Matthew Melton Resume - Current
Matthew Melton
 
Resumé
ResuméResumé
Resumé
Anthony Harvey
 
Film Noir Pitch
Film Noir PitchFilm Noir Pitch
Film Noir Pitch
Angelika Kwasniewska
 
Film noir genre breakdown
Film noir genre breakdownFilm noir genre breakdown
Film noir genre breakdown
Morgan Andrews
 
Student Resume (Updated Spring 2016)
Student Resume (Updated Spring 2016)Student Resume (Updated Spring 2016)
Student Resume (Updated Spring 2016)
Tyler Renn
 
BUILD UPON (H2020) - Evento di lancio dialogo nazionale - 060516 - Analisi de...
BUILD UPON (H2020) - Evento di lancio dialogo nazionale - 060516 - Analisi de...BUILD UPON (H2020) - Evento di lancio dialogo nazionale - 060516 - Analisi de...
BUILD UPON (H2020) - Evento di lancio dialogo nazionale - 060516 - Analisi de...
BUshare
 
DIY Mobile VR with Unity 3d & Cardboard SDK
DIY Mobile VR with Unity 3d & Cardboard SDKDIY Mobile VR with Unity 3d & Cardboard SDK
DIY Mobile VR with Unity 3d & Cardboard SDK
Bond University
 
Genre case study
Genre case studyGenre case study
Genre case study
Abi Baxter
 
Blue velvet
Blue velvetBlue velvet
Blue velvet
paige mcallister
 
Treatment for Opening Sequence - note form
Treatment for Opening Sequence - note formTreatment for Opening Sequence - note form
Treatment for Opening Sequence - note form
Erika Andrejuskinaite
 
Story board
Story boardStory board
Story board
Oscar Wright
 
Year 10 cover work 22.11.16
Year 10 cover work 22.11.16Year 10 cover work 22.11.16
Year 10 cover work 22.11.16
CoombeMedia1
 
OCR Media Section A Age
OCR Media Section A AgeOCR Media Section A Age
OCR Media Section A Age
CoombeMedia1
 

Viewers also liked (14)

award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
 
Matthew Melton Resume - Current
Matthew Melton Resume - CurrentMatthew Melton Resume - Current
Matthew Melton Resume - Current
 
Resumé
ResuméResumé
Resumé
 
Film Noir Pitch
Film Noir PitchFilm Noir Pitch
Film Noir Pitch
 
Film noir genre breakdown
Film noir genre breakdownFilm noir genre breakdown
Film noir genre breakdown
 
Student Resume (Updated Spring 2016)
Student Resume (Updated Spring 2016)Student Resume (Updated Spring 2016)
Student Resume (Updated Spring 2016)
 
BUILD UPON (H2020) - Evento di lancio dialogo nazionale - 060516 - Analisi de...
BUILD UPON (H2020) - Evento di lancio dialogo nazionale - 060516 - Analisi de...BUILD UPON (H2020) - Evento di lancio dialogo nazionale - 060516 - Analisi de...
BUILD UPON (H2020) - Evento di lancio dialogo nazionale - 060516 - Analisi de...
 
DIY Mobile VR with Unity 3d & Cardboard SDK
DIY Mobile VR with Unity 3d & Cardboard SDKDIY Mobile VR with Unity 3d & Cardboard SDK
DIY Mobile VR with Unity 3d & Cardboard SDK
 
Genre case study
Genre case studyGenre case study
Genre case study
 
Blue velvet
Blue velvetBlue velvet
Blue velvet
 
Treatment for Opening Sequence - note form
Treatment for Opening Sequence - note formTreatment for Opening Sequence - note form
Treatment for Opening Sequence - note form
 
Story board
Story boardStory board
Story board
 
Year 10 cover work 22.11.16
Year 10 cover work 22.11.16Year 10 cover work 22.11.16
Year 10 cover work 22.11.16
 
OCR Media Section A Age
OCR Media Section A AgeOCR Media Section A Age
OCR Media Section A Age
 

Similar to Tuning and optimizing webcenter spaces application white paper

SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3
Ben Abdallah Helmi
 
SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3
Ben Abdallah Helmi
 
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdfSchema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
seo18
 
C sharp and asp.net interview questions
C sharp and asp.net interview questionsC sharp and asp.net interview questions
C sharp and asp.net interview questions
Akhil Mittal
 
Spring tutorial
Spring tutorialSpring tutorial
Spring tutorial
Sanjoy Kumer Deb
 
Chapter 5
Chapter 5Chapter 5
Spring review_for Semester II of Year 4
Spring review_for Semester II of Year 4Spring review_for Semester II of Year 4
Spring review_for Semester II of Year 4
than sare
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
s4al_com
 
Why use .net by naveen kumar veligeti
Why use .net by naveen kumar veligetiWhy use .net by naveen kumar veligeti
Why use .net by naveen kumar veligeti
Naveen Kumar Veligeti
 
User Interface
User InterfaceUser Interface
User Interface
Nikunj Pansuriya
 
Asp Net Advance Topics
Asp Net Advance TopicsAsp Net Advance Topics
Asp Net Advance Topics
Ali Taki
 
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
sheriframadan18
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
Tuna Tore
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
Tuna Tore
 
Java servlet technology
Java servlet technologyJava servlet technology
Java servlet technology
Minal Maniar
 
Express node js
Express node jsExpress node js
Express node js
Yashprit Singh
 
SharePoint Object Model, Web Services and Events
SharePoint Object Model, Web Services and EventsSharePoint Object Model, Web Services and Events
SharePoint Object Model, Web Services and Events
Mohan Arumugam
 
Struts N E W
Struts N E WStruts N E W
Struts N E W
patinijava
 
Ch 04 asp.net application
Ch 04 asp.net application Ch 04 asp.net application
Ch 04 asp.net application
Madhuri Kavade
 
Engineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
Engineering Wunderlist for Android - Ceasr Valiente, 6WunderkinderEngineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
Engineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
DroidConTLV
 

Similar to Tuning and optimizing webcenter spaces application white paper (20)

SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3SCWCD : Servlet web applications : CHAP 3
SCWCD : Servlet web applications : CHAP 3
 
SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3SCWCD : Servlet web applications : CHAP : 3
SCWCD : Servlet web applications : CHAP : 3
 
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdfSchema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
Schema-based multi-tenant architecture using Quarkus &amp; Hibernate-ORM.pdf
 
C sharp and asp.net interview questions
C sharp and asp.net interview questionsC sharp and asp.net interview questions
C sharp and asp.net interview questions
 
Spring tutorial
Spring tutorialSpring tutorial
Spring tutorial
 
Chapter 5
Chapter 5Chapter 5
Chapter 5
 
Spring review_for Semester II of Year 4
Spring review_for Semester II of Year 4Spring review_for Semester II of Year 4
Spring review_for Semester II of Year 4
 
Introduction to ejb and struts framework
Introduction to ejb and struts frameworkIntroduction to ejb and struts framework
Introduction to ejb and struts framework
 
Why use .net by naveen kumar veligeti
Why use .net by naveen kumar veligetiWhy use .net by naveen kumar veligeti
Why use .net by naveen kumar veligeti
 
User Interface
User InterfaceUser Interface
User Interface
 
Asp Net Advance Topics
Asp Net Advance TopicsAsp Net Advance Topics
Asp Net Advance Topics
 
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
Step-by-Step: APEX Installation on Tomcat (Windows Server 2016)
 
springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892springmvc-150923124312-lva1-app6892
springmvc-150923124312-lva1-app6892
 
Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5Java Spring MVC Framework with AngularJS by Google and HTML5
Java Spring MVC Framework with AngularJS by Google and HTML5
 
Java servlet technology
Java servlet technologyJava servlet technology
Java servlet technology
 
Express node js
Express node jsExpress node js
Express node js
 
SharePoint Object Model, Web Services and Events
SharePoint Object Model, Web Services and EventsSharePoint Object Model, Web Services and Events
SharePoint Object Model, Web Services and Events
 
Struts N E W
Struts N E WStruts N E W
Struts N E W
 
Ch 04 asp.net application
Ch 04 asp.net application Ch 04 asp.net application
Ch 04 asp.net application
 
Engineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
Engineering Wunderlist for Android - Ceasr Valiente, 6WunderkinderEngineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
Engineering Wunderlist for Android - Ceasr Valiente, 6Wunderkinder
 

More from Vinay Kumar

Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...
Vinay Kumar
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20
Vinay Kumar
 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20
Vinay Kumar
 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18
Vinay Kumar
 
Extend soa with api management Doag18
Extend soa with api management Doag18Extend soa with api management Doag18
Extend soa with api management Doag18
Vinay Kumar
 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018
Vinay Kumar
 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- Madrid
Vinay Kumar
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
Vinay Kumar
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
Vinay Kumar
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
Vinay Kumar
 
Adf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationAdf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzation
Vinay Kumar
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portal
Vinay Kumar
 
Custom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionCustom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extension
Vinay Kumar
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobile
Vinay Kumar
 
Oracle adf performance tips
Oracle adf performance tipsOracle adf performance tips
Oracle adf performance tips
Vinay Kumar
 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - Overview
Vinay Kumar
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
Vinay Kumar
 
Oracle Fusion Architecture
Oracle Fusion ArchitectureOracle Fusion Architecture
Oracle Fusion Architecture
Vinay Kumar
 
Incentive compensation in fusion CRM
Incentive compensation in fusion CRMIncentive compensation in fusion CRM
Incentive compensation in fusion CRM
Vinay Kumar
 
Idoc script beginner guide
Idoc script beginner guide Idoc script beginner guide
Idoc script beginner guide
Vinay Kumar
 

More from Vinay Kumar (20)

Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...Modernizing the monolithic architecture to container based architecture apaco...
Modernizing the monolithic architecture to container based architecture apaco...
 
Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20Kafka and event driven architecture -apacoug20
Kafka and event driven architecture -apacoug20
 
Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20Kafka and event driven architecture -og yatra20
Kafka and event driven architecture -og yatra20
 
Extend soa with api management Sangam18
Extend soa with api management Sangam18Extend soa with api management Sangam18
Extend soa with api management Sangam18
 
Extend soa with api management Doag18
Extend soa with api management Doag18Extend soa with api management Doag18
Extend soa with api management Doag18
 
Roaring with elastic search sangam2018
Roaring with elastic search sangam2018Roaring with elastic search sangam2018
Roaring with elastic search sangam2018
 
Extend soa with api management spoug- Madrid
Extend soa with api management   spoug- MadridExtend soa with api management   spoug- Madrid
Extend soa with api management spoug- Madrid
 
Expose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug MadridExpose your data as an api is with oracle rest data services -spoug Madrid
Expose your data as an api is with oracle rest data services -spoug Madrid
 
Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17Modern application development with oracle cloud sangam17
Modern application development with oracle cloud sangam17
 
award-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026caaward-3b07c32b-b116-3a75-8974-d814d37026ca
award-3b07c32b-b116-3a75-8974-d814d37026ca
 
Adf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzationAdf spotlight-webcenter task flow-customzation
Adf spotlight-webcenter task flow-customzation
 
Personalization in webcenter portal
Personalization in webcenter portalPersonalization in webcenter portal
Personalization in webcenter portal
 
Custom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extensionCustom audit rules in Jdeveloper extension
Custom audit rules in Jdeveloper extension
 
File upload in oracle adf mobile
File upload in oracle adf mobileFile upload in oracle adf mobile
File upload in oracle adf mobile
 
Oracle adf performance tips
Oracle adf performance tipsOracle adf performance tips
Oracle adf performance tips
 
JSR 168 Portal - Overview
JSR 168 Portal - OverviewJSR 168 Portal - Overview
JSR 168 Portal - Overview
 
Spring framework in depth
Spring framework in depthSpring framework in depth
Spring framework in depth
 
Oracle Fusion Architecture
Oracle Fusion ArchitectureOracle Fusion Architecture
Oracle Fusion Architecture
 
Incentive compensation in fusion CRM
Incentive compensation in fusion CRMIncentive compensation in fusion CRM
Incentive compensation in fusion CRM
 
Idoc script beginner guide
Idoc script beginner guide Idoc script beginner guide
Idoc script beginner guide
 

Recently uploaded

Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
bhumivarma35300
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
Matthias Neugebauer
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
SynapseIndia
 
The importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT StandardizationThe importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT Standardization
Axel Rennoch
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
ldtexsolbl
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
LINUS PROJECTS (INDIA)
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Networks
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
alexjohnson7307
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
Ivanti
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
SAI KAILASH R
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
maigasapphire
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
shanihomely
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Zilliz
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
Steven Carlson
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
kumarjarun2010
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
aslasdfmkhan4750
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
Safe Software
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
digitalxplive
 
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes..."Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
Anant Gupta
 

Recently uploaded (20)

Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
High Profile Girls call Service Pune 000XX00000 Provide Best And Top Girl Ser...
 
Opencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of MünsterOpencast Summit 2024 — Opencast @ University of Münster
Opencast Summit 2024 — Opencast @ University of Münster
 
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptxUse Cases & Benefits of RPA in Manufacturing in 2024.pptx
Use Cases & Benefits of RPA in Manufacturing in 2024.pptx
 
The importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT StandardizationThe importance of Quality Assurance for ICT Standardization
The importance of Quality Assurance for ICT Standardization
 
Types of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technologyTypes of Weaving loom machine & it's technology
Types of Weaving loom machine & it's technology
 
Pigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending PlantPigging Unit Lubricant Oil Blending Plant
Pigging Unit Lubricant Oil Blending Plant
 
IPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite SolutionIPLOOK Remote-Sensing Satellite Solution
IPLOOK Remote-Sensing Satellite Solution
 
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
leewayhertz.com-AI agents for healthcare Applications benefits and implementa...
 
July Patch Tuesday
July Patch TuesdayJuly Patch Tuesday
July Patch Tuesday
 
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and DisadvantagesBLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
BLOCKCHAIN TECHNOLOGY - Advantages and Disadvantages
 
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
Girls Call Churchgate 9910780858 Provide Best And Top Girl Service And No1 in...
 
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
Premium Girls Call Mumbai 9920725232 Unlimited Short Providing Girls Service ...
 
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and OllamaTirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
Tirana Tech Meetup - Agentic RAG with Milvus, Llama3 and Ollama
 
Vulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive OverviewVulnerability Management: A Comprehensive Overview
Vulnerability Management: A Comprehensive Overview
 
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSECHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
CHAPTER-8 COMPONENTS OF COMPUTER SYSTEM CLASS 9 CBSE
 
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
High Profile Girls Call ServiCe Hyderabad 0000000000 Tanisha Best High Class ...
 
Data Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining DataData Integration Basics: Merging & Joining Data
Data Integration Basics: Merging & Joining Data
 
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
The Rise of AI in Cybersecurity How Machine Learning Will Shape Threat Detect...
 
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes..."Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
"Mastering Graphic Design: Essential Tips and Tricks for Beginners and Profes...
 

Tuning and optimizing webcenter spaces application white paper

  • 1. 12/9/2013 An Oracle White Paper - Tuning and optimizing Webcenter spaces applica- tion This white paper focuses on Oracle WebCenter Spaces performance problem and analysis after post production deployment. We will tune JVM ( JRocket). Webcenter Portal, Webcenter content and ADF task flow. Vinay kumar
  • 2. Table of Contents Introduction ....................................................................................................2 Application Architecture ................................................................................3 Analysis of Code base of Application.........................................................3 Result of Performance analysis is as below - .............................................4 Performance Optimization -........................................................................5 Tuning in Custom Task flow application in ADF side -.............................7 Preferred changes in web.xml – ............................................................8 Tuning JVM (JRockit) ................................................................................8 Tuning Webcenter Portal (Spaces)..............................................................9 Tuning Webcenter Content........................................................................10 Summary ...................................................................................................11 About the Author.......................................................................................11
  • 3. Introduction I have been given task of analysis and tuning of Webcenter Spaces application, which using custom task flow build on Oracle ADF for our customer. This article is based on my analyzed data while performance optimization but will be useful for any other Oracle Webcenter Portal (Spaces) applications. This application deployed on customer site. Issues persist with time, as data increase down the line and loading of home page and other pages taking time around 20 to 30 Seconds. Goal is to reduce to acceptable time frame. The article covers the findings, research and recommendations and includes the best practices that can be applied to generic WebCenter Spaces applications as well custom task flow application. The following area are main effected for performance tuning. 1. Oracle Webcenter Spaces API 2. Oracle WebCenter Spaces1 Application Tuning 3. ADF Task Flow The Oracle WebCenter Spaces application examined in this article is based on Oracle WebCenter Patch Set 4 with Oracle Weblogic Server 11.1.1.5. Performance analysis done on various tool like Jmeter,Oracle Enterprise Manager Control, and third party browser plugins including Firebug. I will also list down the solution made for performance optimization and best practices. Environment: → Oracle ADF → Oracle WebCenter 11.1.1.5 → Oracle Webcenter Content
  • 4. Application Architecture Application consist of various spaces .It uses Webcenter content in behind. All user information and application information stored in Webcenter Content , which is integrated through RIDC API. Regarding Webcenter Spaces information, spaces user information and custom attributes of spaces are stored in Webcenter spaces. Analysis of Code base of Application For performance analysis , I tried with Jmeter and result are not very good with a lot of data and multiple request to RIDC api and Webcenter Spaces API classes i.e. GroupSpaceWSClient This class provides the utility methods to perform commonly used Group Space operations. GroupSpaceWSContext This class provides all the client side configuration for connecting to the group spaces web services. GroupSpaceWSMembers This class acts as place holder for storing details of members to be added added to the Group Space and to be removed from teh Group Space. GroupSpaceWSMetadata This class is responsible for providing metadata for given WebCenter
  • 5. Group Space. Result of Performance analysis is as below - And in average result graph - Firebug - After this testing main problem is request going to WS API. For example- In one scenario – One spaces have custom attribute as moderationRequired -true for create new post. For checking that current user is able to create post on that group, one request went for checking whether user is member of that group or not, second request went to check the role of current user and third request
  • 6. to check whether current group is require moderation or not. In above scenario, we send 3 request to check wther user should able to create post or not. Lot of request to WS API, which cause the problem. Following method used to check WS spaces information - getGroupSpaceMembersInfo(spaceName) getGroupSpaceMetadata(spaceName) getGroupSpaces() getPublicGroupSpaces() getGroupSpaceURL(groupSpace) client.getDiscoverableGroupSpaces() and many more. Performance Optimization - There are two way, I had changed application code a bit. 1.) Using expression language from SpacesQueryParameters class - for getting spaces based on various criteria . 2.) Querying the Webcenter Spaces DB tables -uerying the Webcenter Spaces DB tables 1. ) Implementation of Expression language (el) for getting information from WS API - → #{spaceContext.spacesQuery.unionOf['DISCOVERABLE'].listSpaces - expression will return the list of all discoverable group spaces → #{spaceContext.spacesQuery.unionOf['USER_JOINED'].shape['RECURSIVE_FLATTENED '].listSpaces} - returns a list of all spaces the current user is a member of and returns all the sub- spaces under each of these spaces the current user has access on → #{spaceContext.space['" + spaceName + "']} - Return instance of space. These expression language is very useful compare to using WS API using GroupSpaceWSClient and send request.for example Using below code you can get metadata of space Space mySpace = (Space)OCCViewUtil.evaluateEL("#{spaceContext.space['" + spaceName + "']}"); GSMetadata spaceMetadata = spaceMetadata = mySpace.getGSMetadata();
  • 7. 2.) Querying the Webcenter Spaces DB tables – Instead of sending request to Webcenter Spaces API , its easy and better to fetch information for database . We have webcenter schema for getting information for Webcenter Spaces database tables. Similary we have schema for discussion, portlet producer and activity & graphs as well. See below- Component Schema Owner Dependencies WebCenter Spaces prefix_WEBCENTER prefix_MDS (Metadata Services) Portlet Producers prefix_PORTLET None. Discussions prefix_DISCUSSIONS None. Activity Graph and Analytics prefix_ACTIVITIES None. Alright, now our custom task flow application will have a model structure as well, which is not there before. We will be creating read only view object on the tables .Getting information from these db tables is very fast compare to use Webcenter Spaces API. WC_SPACE_HEADER - This table stores all the spaces in the system, their status, last updated, and other attributes like parent space and member count. WC_SPACE_USR_DETAIL - This table stores all the users in the spaces, their status, roles, and other attributes like space. WC_PEOPLE_CONN_LIST - This table stores all the connection for particular users. There are multiples tables .You can use according to your requirement. See below -
  • 8. After creating view objects, We can get the information using executing view criteria. This will be a quick way to get information for Webcenter spaces. Tuning in Custom Task flow application in ADF side - 1. While using tree or table, use appropriate content delivery mode Possible values for this attribute are:  immediate  lazy  whenAvailable 2. Avoid inline usage of JavaScript/Cascading Style Sheets (CSS) whenever possible. 3. While using tree or table, always consider set correct fetch size (fetch size -defines the number of rows to be sent to the client in one round-trip). 4. Avoid binding UI components in backing beans, if used make them as transient 5. While using tree or table use column stretching, if really required. 6. Use "blocking=true" for and to avoid multiple clicks on submit buttons. 7. Remove unused items from page bindings. 8. Set Immediate Property to True when Appropriate. 9. Remove unused VOIterators on JSFF Page definitions. 10. Use AJAX (PPR) as much you can. 11. Ensure none of Page definitions should have more than one data control if not needed. This may result in increasing number of database connections. 12. Avoid using a af:panelStretchLayout where topHeight, bottomHeight, startWidth, or endWidth is set to “auto”.
  • 9. 13. Don’t use JSF/ADF Faces and JavaServer Pages Standard Tag Library (JSTL) tags together. 14. Use the "visible" and "rendered" attributes wisely.  The visible property specifies simply whether the component is to be displayed on the page, or is to be hidden.  The rendered property specifies whether the component shall exist in the client page at all. 15. Keep the managed beans in the lowest possible scope in task flow. 16. While using tree or table, always consider set correct fetch size( fetch size -defines the number of rows to be sent to the client in one round-trip). 17. Ensure each backing bean/Manage bean should implement java.io.Serializble interface. Preferred changes in web.xml – org.apache.myfaces.trinidad.resource.DEBUG -False oracle.adf.view.rich.CHECK_FILE_MODIFICATION -False oracle.adf.view.rich.CLIENT_STATE_METHOD -token oracle.adf.view.rich.LOGGER_LEVEL -False or remove this entry oracle.adf.view.rich.ASSERT_ENABLED -False or remove this entry Tuning JVM (JRockit) The Oracle JRockit JVM is the industry's leading performing Java Virtual Machine now built into Oracle Fusion Middleware. It brings industry leading real time infrastructure capabilities with JRockit Real Time and unparallelled JVM diagnostics with JRockit Mission Control. As all the java processes are run and maintained by the JVM, it should be tuned properly in order to get the desired performance. The tuning can be done in terms of heap size allocated to different JVM processes, Garbage collection and other run-time parameters. 1. Tuning the Garbage Collection: Set dynamic Garbage Collection mode to Throughput Mode. And we can reduce the memory fragmentation by selecting this GC mode. Throughput mode is default when the JVM runs in -server mode (which is default), or can be enabled with the command line option -XgcPrio:throughput. For example: java -XgcPrio:throughput 2. Setting the Nursery Size: Nursery size refers to the storage for the short-lived objects , which are collected faster than old objects . This reduces the chances of very frequent Garbage collections and long pause times. It is set to optimal value by default when the GC mode is selected as throughput. It should at least 2GB. Set -Xns=4096m to increase the nursery size. 3. Setting the Heap Size on 64-bit Systems: The heap size has an impact on allocation speed,
  • 10. garbage collection frequency and garbage collection times. A small heap will become full quickly and must be garbage collected more often .The heap allocation is a vital area which needs to be carefully tuned to increase the performance. By default 2Gb is the allocated heap for Webcenter Spaces application, which is very low. At least it should be 4GB. java -Xms:4g -Xmx:4g 4.: Add the argument –XxnoSystemGC prevents System.gc() application calls from forcing garbage collection. Tuning Webcenter Portal (Spaces) 1. Configure Portlet cache size - Change the following parameter in adf-config.xml manually <adf-portlet-config> <supportedLocales> <cacheSettings enabled="true"> <maxSize>10000000</maxSize> {default value} </cacheSettings> <adf-portlet-config> 2. Configure portlet timeout- Modify the portlet timeout value in the adf-portlet-config element of the adf-config.xml file. Default: 10 seconds, minimum: 0.1 seconds, maximum: 60 seconds. If you must modify these properties, post deployment, you must edit adf- config.xml manually. The following is a sample snippet of adf-config.xml: <adf-portlet-config> .... <defaultTimeout>5</defaultTimeout> <minimumTimeout>2</minimumTimeout> <maximumTimeout>100</maximumTimeout> </adf-portlet-config>
  • 11. Tuning Webcenter Content 1. Setting JRockit Virtual Machine (JVM) Arguments.JVM arguments are set in the setDSSCustomDomainEnv.sh file. Heap size: If the system is overloaded, that is, garbage is collected or “out of memory error” occurs frequently, then increase the heap size as appropriate to your system's available physical memory. The parameter is: -Xms2096M -Xmx2096M -Xns2096M Security: The following JVM arguments improve performance of Webcenter application’s security layer. -DUSE_JAAS=false -Djps.policystore.hybrid.mode=false -Djps.combiner.optimize.lazyeval=true -Djps.combiner.optimize=true -Djps.auth=ACC 2. Setting System Limit -To run a WebCenter application at moderate load, set the open-files-limit to 2048.If you encounter errors, such as running out of file descriptors, then increase the system limit. For example, on Linux, you can use this command: ulimit -n 4096 (default is 1024) 3. Setting HTTP Session Timeout To manage over resource usage, adjust the session timeout value, in minutes, in the web.xml file manually. The following is a sample snippet of web.xml: <session-config> <session-timeout> 45 </session-timeout> </session-config>
  • 12. Summary This article stepped you through the performance tuning of webcenter spaces application. Performance tuning is vast topic. It can be done timely with different environment. Real testing can be done of Webcenter Spaces application using maximum load. So designing an application architecture should be done with keeping in mind the co-current users. Still there is lot of space of tuning such as Weblogic server. To summarize, reducing the request to Webcenter Spaces API will increase the performance of Webcenter Spaces application. Tuning practice of Webcenter Spaces helps a lot to reduce the page loading time. By means of observations and preliminary testing data to 2 to 3 seconds from 20 to 30 seconds. It recommend to have model layer for fetching information from spaces. About the Author Vinay Kumar is a Senior Consultant and certified Oracle ADF/WebCenter Portal implementation spe- cialist with Silbury IT Solutions gmbH. An Oracle Fusion Middleware evangelist. Vinay has seven years of experience consulting in Oracle ADF, Oracle WebCenter Portal/Content.