Oo Soln Webcenter 11g 170243
Oo Soln Webcenter 11g 170243
Oo Soln Webcenter 11g 170243
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
Introduction ......................................................................................... 1 Overview of the Oracle WebCenter 11g Architecture ......................... 2 Enablers to Architecture...................................................................... 3 Hardware and Software Overview ...................................................... 4 Hardware Configuration .................................................................. 4 Oracle Solaris 10 ............................................................................ 6 Test Configuration Topology............................................................... 6 Test Progression ............................................................................. 8 Using Oracle Solaris Containers for Added Deployment Flexibility 8 Application Test Driver Used .......................................................... 9 Best Practices and Recommended Tunings ..................................... 10 Observed Performance and Scaling After Tuning ............................ 14 Conclusion ........................................................................................ 18 References.................................................................................... 18 Appendix ASoftware Versions ....................................................... 20
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
Introduction
Oracles WebCenter Suite 11g provides enterprise-class portal platform and collaboration functionality for business users (internet) and corporate IT staff (intranet). Built with best-ofbreed Java EE-based components, and based upon industry standards, WebCenter Suite allows for comprehensive integration with business applications, Enterprise 2.0 services, and a variety of social networking tools and communities. The combination of Oracle WebCenter Suite with Oracle Solaris 10, Sun SPARC Enterprise servers, and Sun Storage yields a complete, scalable and robust portal solution for a wide range of business users. This document introduces the reader to the integrated set of software and hardware offerings for the Oracle Optimized Solution for Oracle WebCenter Portal. Readers will learn about: Advantages of developing and deploying WebCenter applications on Oracle Solaris, Oracles Sun SPARC Enterprise servers and Oracle storage Recommended best practices for deployment, configuration, administration and tuning of this integrated hardware/software stack The results of initial performance and scaling testing, including details of setup and tuning
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
WebCenter Framework WebCenter Social Computing Services WebCenter Composer WebCenter Spaces
In addition, WebCenter Anywhere provides capabilities to mobile-enable your WebCenter application so users can access it from various different mobile devices. This tests described in this paper used the most recent version of WebCenter 11g at the time of publication.1
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
Enablers to Architecture
Significant performance and scaling improvement was observed on Oracle Solaris and SPARC T-Series servers by the use of several basic system and product settings. The extreme parallelism afforded by Oracles Sun SPARC Enterprise servers is well suited to the Application Tier in this case WebCenter plus the WebLogic Application Server. This parallelism is enabled by the architecture of the UltraSPARC T3 processor. Rather than relying on pure single thread speed, the T3 processor relies on a large number of concurrent threads to execute parallel commands at one time. Some workloads that rely on single threaded performance and that have not been optimized for multithreaded execution will not see benefit from running on T-Series processors. The WebLogic application server (running on the Oracle JRockit or Sun HotSpot JVM) is inherently multithreaded, and therefore shows excellent performance. In our testing, the tunings cited above when applied to an out of the box WebCenter/ WebLogic configuration resulted in a scalability improvement on the order of 100%. Further performance improvements are expected in larger Application Tier environments, with these and other tunings applied. It is not within the scope of this document to fully profile WebLogic performance and scalability tuning, but there are other resources located on Oracle Technology Network (OTN) website that can illustrate further these principles. Within the Oracle Solaris operating environment there is a virtualization capability called, Oracle Solaris Containers. This no added-cost feature of Oracle Solaris allows for applications to be deployed into virtualized environments in the OS that allow for fine grained control of resource utilization, extremely fast reboots (many times booting within seconds), and a shared patching and upgrading structure. Containers are also a recognized hard partition boundary for the purposes of Oracle licensing, and are an excellent way of assuring the specifically right amount of performance gets assigned to the software that is licensed. Oracle Solaris Containers have proven to be a very useful mechanism for both testing and actual deployment of pieces of large software stacks. This testing has demonstrated the use of Containers on T-Series servers for WebCenter, WebLogic, OID, UCM, etc. Similarly, Containers on M-Series servers can be used for individual instances of the underlying Oracle database system. Both Tiers can be scaled to multiple instances, without the need to necessarily add additional hardware. A full discussion on the capability of Containers is also not part of the scope of this document, but reading the documentation on Containers as well as how the Oracle Solaris ZFS filesystem interacts with the Containers to enable instant unlimited backups as well as end-to-end data resiliency is of great interest to anyone running any applications on the Oracle Solaris operating system. The testing performed to date covers only a small fraction of WebCenters functionality, with the performance and scaling tuning outlined in this paper only scratching the surface. The sizing and performance numbers in this paper are intended as a starting point for further testing.
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
Hardware Configuration
Figure 2 shows the hardware architecture for the Oracle Optimized Solution for Oracle WebCenter Portal. The SPARC T3-1 server runs all of the software components that are contained in the architecture. However, there are a number of other ancillary hardware and software components that are typically deployed alongside this solution. These ancillary components are depicted in Figure 2 using generic server and storage icons to represent the fact that many enterprises will already have those components residing in their IT infrastructure and can simply connect them to this Oracle Optimized Solution.
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
All servers, including ancillary servers, are typically placed in the same subnet, with dedicated Gigabit Ethernet. Table 1 lists the configuration for each system.
TABLE 1. SERVER CONFIGURATIONS
TOTAL MEMORY
WebCenter
1x 1.65 GHz UltraSPARC T3 4x 1.40 GHz UltraSPARC T2+ 4x 2.5GHz SPARC64 VII 2x 2.93GHz Intel Xeon 5670
16
128
128GB
LDAP, UCM
256
128GB
DB
32
32GB
Load Gen.
12
96GB
The SPARC T-Series servers utilize the massively threaded SPARC T3 processor to provide the ideal price-performance environment for Web-Tier applications. SPARC T3 servers were selected because they best match the performance profile for WebCenter applications, which can take advantage of many parallel threads. As stated above, the SPARC T3 processors have 8 physical cores with 16 hardware threads per core. With 128 hardware-addressable threads per core, these processors are designed for the sorts of multithreaded workloads JVMs are known for. In general, there are a few rules to consider when using the SPARC T3 servers2:
Running multiple smaller instances of the application, in multiple instances of the application server will offer better performance than running fewer/larger instances. Smaller in this sense means running multiple 32-bit Java Virtual Machines with a maximum of 3.2GB memory per instance, rather than a smaller number of 64-bit JVMs with a larger heap size.
These assumptions generally apply to all T3-based workloads, but there will always be places/reasons why a specific application or use case will require these assumptions to change. Sometimes the extra memory allowed by running the 64-bit JVM will be needed by an application and the inherent performance degradation from the 64-bit JVM will be an acceptable trade-off for the larger amount of addressable memory.
2
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
The features of Oracle WebLogic Application Server were used to tie those application servers together logically so if one application server were to fail, another one in the same WebLogic Domain would seamlessly take over. This is standard practice for WebCenter Portal and normal WebLogic installations.
Many WebCenter use cases require a large amount of I/O that is required to meet a set response time level. The T-Series servers do so admirably, being designed to handle multithreaded workloads at a high throughput level.
Oracle Solaris 10
Oracle Solaris 10 is the operating environment for Sun SPARC Enterprise servers. In addition to being the reference platform for many Java SE and Java EE implementations, it provides a number of unique applicable features not found elsewhere. Two Oracle Solaris 10 technologies played a key role in this testing:
The Oracle Solaris ZFS filesystem provides 128-bit volumes, double-bit parity, and extreme ease of administration. Oracle Solaris Containers provide lightweight Oracle Solaris instance virtualization for developers, administrators and end users.
As a shown later in this document the testing done with the WebCenter Suite was performed using Oracle Solaris Containers.
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
(NOTE: The hardware configuration used for this testing is not to be construed as a Reference Architecture for Oracle WebCenter on Oracle Solaris.) All the systems are configured with Oracle Solaris 10 Update 9. The Load Generation is run from LoadRunner on multiple x64-based servers; the Fusion Middleware components are installed on T-Series systems as shown in Figure 3 above; Oracle Database is installed on the M-Series server, with direct-attach disk array. Appendix A lists the specific software components and versions used in these tests. The test Oracle WebCenter 11g instance was pre-configured with WebCenter users and groups, and the installation steps to configure the base install as well as load the database with sample users is out of scope for this paper. Response times were measured during testing, and acceptable response time for transactions is three seconds.
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
Test Progression
The scalability tests were performed by injecting load from the LoadRunner test driver into WebCenter, starting with 10 concurrent users. The user load was then increased in multiples of 10 concurrent users until the CPU cycles were saturated, or until the observed response times were above acceptable limits. The test progression included the following steps:
The Load Generation Tier (running on Sun Fire X2270 M2 servers in the test configuration) sends data to the WebCenter Portal and WebLogic Application Server. WebCenter Portal and WebLogic Application Server running on a SPARC T3-1 server receive requests. The Sun SPARC Enterprise T5440 server handles ancillary LDAP requests and acts as a content server (UCM). Any calls needing to be stored in the Oracle Database get forwarded to the Sun SPARC Enterprise M4000 server in the Database Tier. Oracle Database is backed by a high-performance Fibre Channel storage array such as the Sun Storage 6180 array.
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
CONTAINER
SOFTWARE DEPLOYED
MEMORY ASSIGNED
48 SPARC T3 Threads 32 SPARC T2+ Threads 32 SPARC T2+ Threads 8 SPARC64 VII HW Threads
This use case is very simple. It has a login page wither username and password form fields and a login button. If the login is successful it shows a success page, otherwise an error page. The authentication is done against users residing on an external existing LDAP server. The payload size for this test was approximately 1.5Kilobytes.
(App2b) Blank Page
This use case shows a blank page with no ADF component. It has a login page with username and password form fields and a login button. If the login is successful, it shows a success page; otherwise, an error page. The authentication is done against users residing on an external LDAP server. The payload size for this test was approximately 1.5Kilobytes.
(App2c) Blank Page with ADF Template
This use case also shows a blank page but using ADF template. It has a login page with username and password form fields and a login button. If the login is successful, it shows a success page; otherwise,
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
an error page. The authentication is done against users residing on an external LDAP server. The payload size for this test was approximately 1.5Kilobytes.
(App2d) Blank Page with ADF Panel Stretch Layout
This use case also shows a blank page but using ADF Panel Stretch Layout. It uses the same authentication as App1a. It has a login page with username and password form fields and a login button. If the login is successful, it shows a success page; otherwise, an error page. The authentication is done against users residing on an external LDAP server. The payload size for this test was approximately 1.5Kilobytes.
(WebCenter Spaces) Default WebCenter Spaces
This use case tests the scalability of the out-of-the-box WebCenter Spaces. After login the user traverses all the tabs (Activities, Documents, Spaces, My Profile) presented on the home page, and then logout. As stated above, all testing described in this document was done on Oracle Solaris and SPARC-based Sun Servers. The intention of the configuration was to be able to drive the maximum amount of load on WebCenter in order to characterize performance and scalability. The sections below provide more detailed information on both the hardware and software setup along with guidance on how to most effectively utilize the system resources.
Through profiling and experimentations, the following JVM options have been found to provide good performance improvements:
-Xms3g -Xmx3g -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+Use ParallelGC -XX:ParallelGCThreads=8 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:NewRatio=3 -XX:+UseAdpativeSizePolicy
10
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
WebCenter
Through profiling and experimentation, the following JVM options have been found to provide good performance improvement:
-d64 -server -Xms3g -Xmx3g -XX:PermSize=512m -XX:MaxPermSize=1024m -XX:+AggressiveOpts -XX:+UseParallelGC -XX:ParallelGCThreads=16 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:NewRatio=4 -Xnoclassgc -Xloggc:<file_name> -Dweblogic.threadpool.MinPoolSize=72 -Dweblogic.threadpool.MaxPoolSize=72 -Dweblogic.SocketReaders=12 -Djps.auth.debug=false
The default connection pool capacity is too low, and it is recommended that the capacity be increased significantly higher based on the application's load pattern. The best way to observe if the pool is big enough is to monitor the JDBC connection by following the steps below.
WLS Admin Console Environment Servers <server> Monitoring JDBC
As well as
Waiting for connection failure total
If the Wait for Connection High Count significantly exceeds the connection pool capacity or there are a lot of errors under the Wait for Connection Failure Total, then the connection pool capacity needs to be increased higher. In our test the initial capacity was increased from 10 (default) to 100, and the maximum capacity from 50 (default) to 500 with capacity increment of 10 instead of 1 (default). To edit JDBC data source, do the following:
11
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
From the Home page, select Services Data Sources WebCenterDS or mds-SpaceDS Connection Pool (tab). Edit properties, as required.
It is important that WebLogic runs in Production Mode to avoid unnecessary class recompilation and loading. This option is selected during installation, but can also be changed after this time. To ensure WebLogic runs in Production Mode, perform the following steps from the WebLogic Admin Console:
Admin Console-> domain -> <domain_name> -> check Production Mode
This option can also be enabled by adding the following option to the startup script:
-Dweblogic.ProductionModeEnabled=true
To reduce the volume of data written to the log files (which can slow down the application), all occurrences of `loglevel` in:
$MW_HOME/user_projects/domains/<domain_name>/config/fmwconfig/ servers/WLS_Spaces/logging.xml
12
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
Oracle Solaris 10
Below are the Oracle Solaris network tunings for both the WebCenter and Database Containers. Network tuning on WebCenter Container:
ndd -set /dev/tcp tcp_conn_req_max_q 16384 ndd -set /dev/tcp tcp_conn_req_max_q0 16384 ndd -set /dev/tcp tcp_xmit_hiwat 524288 ndd -set /dev/tcp tcp_recv_hiwat 524288 ndd -set /dev/tcp tcp_naglim_def 1 ndd -set /dev/tcp tcp_time_wait_interval 10000 ndd -set /dev/tcp tcp_smallest_anon_port 4096
For each of the tests shown in the graphs in the Observed Performance section, the singular WebCenter Container had some specific attributes that were tuned as a result of the testing:
48 threads assigned with 32GB memory assigned to that specific Container. Based on successive rounds of testing the optimal number of threads to use per Container for WebCenter on the T3-based systems are 48 threads per Container. To maximally utilize the entire T3 system, the creation of a new Container with another 48 (maximum) hardware threads would be considered Best Practice. Setting the Java Virtual Machine Heap size to 3GB per JVM showed the best results (close to the maximum addressable amount of memory for the 32-bit JVM). There were 5x total JVMs assigned to the testing (1 admin server and 4 managed servers) Admin Server assigned 2GB memory heap size WC_Utilities, WC_Collaboration and WC_Portlet all given 2GB memory heap size WC_Spaces given 3GB memory heap size
13
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
Hardware threads should always be assigned in multiples of 8 threads at a time. Although this is not a hard rule, the Oracle Solaris scheduler will automatically route kernel calls that belong to a single processor core with other calls that are intertwined with the same instance/process. This is performed in the Oracle Solaris kernel itself, and is not something normally tuned by the end user. Creating Containers with odd numbered threads, or threads that span across core boundaries is supported, but performance stays at high levels when threads are assigned in multiples of 8.
The next series of graphs in Figures 5 though 8 show more lightweight test cases that have users logging in to the WebCenter Portal and either being shown a blank page, a page with an ADF
14
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
(Application Development Framework) page, or a stretched/tabbed ADF page. These tests were designed to show base scalability of the server platform, to be adjusted to customer preferences for any payload size above 1.5 KB per page load. In all cases, the number of users for the more lightweight tests shows a peak of approximately 4000 users per 48-thread Oracle Solaris Container. In all cases, the load on the external Database machine did not come near to stress the database, with storage utilization to the external Fibre Channel array not exceeding 15% of bandwidth/capacity.
Figure 5. App1aLogin/logout.
15
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
16
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
In all test cases the test was ramped down and stopped once the operations/second trend started to turn from positive to negative numbers, showing decreased scalability. For comparison, in previous tests, similar test applications run on previous generation x86-based servers were able to achieve 100 users in the same test at 80% CPU utilization. Network utilization numbers for the 1GbE (single gigabit Ethernet) were also monitored during the various test runs. The results of the networking monitoring are shown in Table 3 below.
TABLE 3. NETWORK UTILIZATION PER TEST
TEST CASE
NETWORK UTILIZATION
THREADS / CONTAINER
17
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
The test applications used 48 threads out of the available 128 threads on the SPARC T3-1 server. Near linear scalability of the tested workload up to the 128 available threads would be easily achieved by adding more Containers and using built-in Oracle WebLogic Server domain clustering to tie the instances together. As the limiting factor in these tests was shown to be CPU/hardware thread scalability, networking performance was not an issue (as shown in Table 3). More robust networking requirements would have an effect on overall scalability. (Note: Oracle Solaris Containers do not have to be used for the same purpose. One of the powers of running on a multi-threaded, high networking performance system is that application profiles can be separated into distinct Containers and used for different things. In this test, the CPU utilization per Container was high, but networking bandwidth requirements were low. In this scenario the unused threads could be used for more similar Containers, but could also be used for complementary usages of low CPU/high networking workloads that would not overly affect the originally tested workload.) Further scalability would depend on more robust application workloads that would transfer more data to affect the network scalability numbers more dramatically.
Conclusion
Portals play a pivotal role in the management of information within a business. Without being properly displayed, information sources are not utilized effectively and fully. In order to realize the best possible Portal deployment, all aspects of the technical computing infrastructure need to be understood in order to have a smoothly running user experience. Oracle software runs on many platforms, but the scalability shown on Oracle T-Series servers is generated from a commitment to engineering the software to complement the hardware from the very design stages of each product. The unique SPARC T-Series processors show that Oracle has been committed to multi-threaded, high throughput computing for years. Oracle realizes that real world use cases are not about raw benchmarks but about serving the specific needs that customers have for providing high performance services that have less risk to downtime and that are backed up by a single support organization from start to finish. Oracle T-Series servers, partnered with Oracle WebCenter Portal are the best platform upon which to run the highly visible roles that Portals take on inside of a business landscape.
References
Table 4 provides a list of references for additional information.
TABLE 4. REFERENCES
DESCRIPTION
18
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
http://www.oracle.com/technetwork/systems/containers/inde x-jsp-140778.html
http://www.oracle.com/us/products/serversstorage/solaris/solaris-dynamic-tracing-ds-067318.pdf
http://www.oracle.com/us/products/serversstorage/storage/storage-software/031857.htm
http://www.oracle.com/us/products/serversstorage/servers/space-enterprise.index.html
http://www.oracle.com/goto/optimizedsolutions
19
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper
COMPONENT
VERSION
WebLogic 11g WebCenter 11g HotSpot JVM Oracle Internet Directory (OID) Oracle UCM 11g Oracle Database 11g LoadRunner
Discussion server is installed with WebCenter and runs on the same machine as WebCenter. WebCenter, Discussion Server, and UCM share the same Oracle Database instance. OID (LDAP server) has its own Oracle Database instance
20
Oracle Optimized Solution for Oracle WebCenter PortalA Technical White Paper July 2011, Version 1.2 Author: Robert Lor, Nick Kloski
Copyright 2011, Oracle and/or its affiliates. All rights reserved. This document is provided for information purposes only and the contents hereof are subject to change without notice. This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose, without our prior written permission. Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark licensed through X/Open Company, Ltd. 0611
Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 oracle.com