P. 1
People Tools Performance Guidelines White Paper

People Tools Performance Guidelines White Paper

|Views: 2,699|Likes:
Published by chakkilam

More info:

Published by: chakkilam on Jul 14, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

11/28/2012

pdf

text

original

Sections

  • Chapter 1 - Introduction
  • STRUCTURE OF THIS WHITE PAPER
  • RELATED MATERIALS
  • Chapter 2 - Application Server Guidelines
  • APPLICATION SERVER MEMORY GUIDELINES
  • Determining PeopleSoft AppServer Memory Usage Under NT
  • Determining If Excessive Memory Swapping Happens Under NT
  • To determine if excessive memory swapping happens under NT:
  • Determining Memory Usage on UNIX
  • Determining If Excessive Memory Swapping Occurs Under UNIX
  • APPLICATION SERVER RECYCLE COUNT
  • Background
  • Recommendation
  • APPLICATION SERVER DYNAMIC RECYCLE (PEOPLETOOLS 8.48 AND LATER)
  • SHARED CACHE FOR APPLICATION SERVER
  • PRELOAD CACHE (PEOPLETOOLS 8.48 AND LATER)
  • PSAPPSRV INSTANCES
  • USE PARALLEL BOOT
  • SET APPLICATION SERVER JVM OPTIONS
  • Chapter 3 - Web Server Guidelines
  • CONFIRM THAT THE REQUIRED WEB SERVER VERSION, SERVICE PACK, AND
  • USE JOLT SESSION POOLING (PEOPLETOOLS 8.48 AND LATER)
  • USE STRICT FAILOVER AND WEIGHTED LOAD-BALANCING (PEOPLETOOLS 8.48
  • ORACLE APPLICATION SERVER (ORACLE AS)
  • Set JVM Heap Size to 256MB or Higher
  • Capture JOLT Request Timing Traces
  • Modify Apache KeepAlive Setting
  • Modify ThreadsPerChild and Oc4jCacheSize
  • Disable HTTP Request Logging in mod_oc4j
  • Generate Heap Dumps on OutOfMemoryError
  • WEBLOGIC
  • Log level Setting (PeopleTools 8.49 and Later)
  • Confirm That the Posix Performance Pack is Loaded
  • Set Thread Count
  • Confirm JRE Version
  • Set OS File Descriptor to 100*ThreadCount
  • Lower OS TCP/IP Cleanup/Timeout Settings
  • Monitor JVM Garbage Collection
  • Disable Servlet Reload
  • To capture JOLT request timing traces:
  • WEBSPHERE
  • Log Level Setting (PeopleTools 8.49 and Later)
  • Ensure That JIT is Enabled and Class Verification is Skipped
  • Setup and Configuration
  • Set JVM Heap Size to 256MB or Higher and Monitor JVM Garbage Collection
  • Other JVM Options
  • Capture JOLT Request Timing Trace
  • Using Resource Analyzer
  • Chapter 4 - Web Browser Configuration
  • Microsoft Internet Explorer
  • Netscape Browser
  • HTTP 1.1 Compliant Web Browser
  • Chapter 5 - Additional Configurations
  • BROWSER COMPRESSION
  • CACHING
  • NAVIGATION PAGES CACHING
  • HTTP KEEPALIVE
  • REDUCING TCP WAIT TIME
  • For Windows NT
  • For AIX
  • For HP/UX 11 or Solaris 2.8 and Later
  • For Solaris Prior to 2.8
  • AIX THREAD MODEL
  • TIMEOUT SETTINGS
  • Chapter 6 - Integration Broker
  • CONFIGURE PSBRKHND MESSAGE BROKER HANDLER
  • OPTIMIZE MESSAGE QUEUE VERSUS MESSAGE CONSUMPTION
  • USE OF MESSAGE SEGMENTS FOR ORACLE DELIVERED FULL SYNC SERVICE
  • OPTIMIZE ONE MESSAGE VERSUS MULTIPLE MESSAGES PER QUEUE
  • TUNING PSADMIN PARAMETERS FOR ASYNCHRONOUS MESSAGING
  • DISPATCHER Parameters
  • PSPUBDSP only
  • HANDLER Parameters
  • PSPUBHND only
  • TUNING PSADMIN PARAMETERS FOR SYNCHRONOUS MESSAGING
  • APPLICATION GUIDELINES FOR ASYNCH MESSAGING
  • Application Guidelines for Sync Messaging
  • CONFIGURE LOAD BALANCE INTERVAL (PEOPLETOOLS 8.48 AND LATER)
  • MASTER/SLAVE
  • REDUCING MAXIMUM APP MESSAGE SIZE
  • MULTITHREADED INTEGRATION BROKER (PEOPLETOOLS 8.46 AND LATER)
  • SCAN TIME SETTING FOR APP MESSAGING
  • PUBSUB ERROR AND APP SERVER LOG FILE GROWING
  • Chapter 7 - Operating System Settings
  • FOR LINUX
  • TCP_WAIT
  • FOR SOLARIS
  • FOR HP-UX
  • FOR TRU64
  • Chapter 8 - Call Telephony Interface (CTI)
  • RENSERVER PARAMETERS (PSRENCONFIG.TXT)
  • PSMCAPI PARAMETERS (RENCLIENT.PROPERTIES)
  • PSMCAPI JAVA OPTIONS (STARTSERVER.BAT)
  • Chapter 9 - PSAE and PSAESRV
  • Chapter 10 - Reporting Tools
  • XMLPUBLISHER (PEOPLETOOLS 8.48 AND LATER)
  • BUSINESS OBJECTS ENTERPRISE (PEOPLETOOLS 8.48 AND LATER)
  • Chapter 11 - Monitoring Tools
  • PeopleSoft Ping
  • psadmin
  • PeopleSoft Performance Monitor
  • Chapter 12 - Version 8.50 GUI Enhancements
  • Version 8.50 Enhancements
  • Autocomplete (aka Type Ahead)
  • Swan Look and Feel
  • Partial Page Refresh (aka Ajax Updates)
  • Modal Windows
  • Scrollable Grids / Grids Zoom
  • Mouse Over Pages
  • Deferred Mode vs. Interactive Mode
  • Chapter 13 - Query Access Service (QAS)
  • Synchronous Query Execution
  • Asynchronous Query Execution
  • Synchronous Query Execution
  • Asynchronous Query Execution
  • Sync/Poll Query Execution
  • Performance Considerations
  • Configuration Recommendations
  • Appendix B – Revision History
  • Authors
  • Reviewers
  • Revision History

An Oracle White Paper 10-September-2010

PeopleTools Performance Guidelines

.

Table of Contents

TABLE OF CONTENTS ............................................................................................................................................................. 2 CHAPTER 1 - INTRODUCTION .............................................................................................................................................. 6 Structure of this white Paper Related Materials 6 6

CHAPTER 2 - APPLICATION SERVER GUIDELINES ...................................................................................................... 8 Application Server Memory Guidelines 8 Determining PeopleSoft AppServer Memory Usage Under NT................................................................................................. 8 Determining If Excessive Memory Swapping Happens Under NT ............................................................................................ 9 Determining Memory Usage on UNIX ...................................................................................................................................... 9 Determining If Excessive Memory Swapping Occurs Under UNIX ........................................................................................ 10 Application Server Recycle Count 10 Background .............................................................................................................................................................................. 10 Recommendation ...................................................................................................................................................................... 10 Application Server Dynamic Recycle (PeopleTools 8.48 and Later) Shared Cache for Application Server Preload Cache (PeopleTools 8.48 and Later) PSAPPSRV Instances Use Parallel Boot Set Application Server JVM Options Confirm That the Required Bea Tuxedo Version and Minimum Rolling Patch Are Installed 11 11 13 13 14 14 14

CHAPTER 3 - WEB SERVER GUIDELINES ....................................................................................................................... 15 Confirm That the Required Web Server Version, Service Pack, and JRE Version Are Installed Use Jolt Session Pooling (PeopleTools 8.48 and Later) Use Strict Failover and Weighted Load-Balancing (PeopleTools 8.48 and Later) 15 15 15

Oracle Application Server (Oracle AS) 16 Set JVM Heap Size to 256MB or Higher ................................................................................................................................. 16 Capture JOLT Request Timing Traces ..................................................................................................................................... 16 Modify Apache KeepAlive Setting .......................................................................................................................................... 16 Modify ThreadsPerChild and Oc4jCacheSize .......................................................................................................................... 17 Disable HTTP Request Logging in mod_oc4j ......................................................................................................................... 17 Generate Heap Dumps on OutOfMemoryError ........................................................................................................................ 17 WebLogic 17 Log level Setting (PeopleTools 8.49 and Later) ....................................................................................................................... 18 Confirm That the Posix Performance Pack is Loaded .............................................................................................................. 18 Set Thread Count ...................................................................................................................................................................... 19 Confirm JRE Version ............................................................................................................................................................... 19 Set JVM Heap Size to 256MB or Higher ................................................................................................................................. 19

2

PeopleTools Performance Guidelines White Paper 9/10/2010 Set OS File Descriptor to 100*ThreadCount ............................................................................................................................ 19 Lower OS TCP/IP Cleanup/Timeout Settings .......................................................................................................................... 20 Monitor JVM Garbage Collection ............................................................................................................................................ 20 Disable Servlet Reload ............................................................................................................................................................. 20 Capture JOLT Request Timing Traces ..................................................................................................................................... 21 WebSphere 21 Log Level Setting (PeopleTools 8.49 and Later) ..................................................................................................................... 21 Ensure That JIT is Enabled and Class Verification is Skipped ................................................................................................ 22 Setup and Configuration ........................................................................................................................................................... 22 Set Thread Count ...................................................................................................................................................................... 22 Set JVM Heap Size to 256MB or Higher and Monitor JVM Garbage Collection ................................................................... 22 Other JVM Options .................................................................................................................................................................. 23 Disable Servlet Reload ............................................................................................................................................................. 23 Capture JOLT Request Timing Trace ...................................................................................................................................... 24 Using Resource Analyzer ......................................................................................................................................................... 25 CHAPTER 4 - WEB BROWSER CONFIGURATION ......................................................................................................... 26 Microsoft Internet Explorer ...................................................................................................................................................... 26 Netscape Browser ..................................................................................................................................................................... 26 HTTP 1.1 Compliant Web Browser ......................................................................................................................................... 26 CHAPTER 5 - ADDITIONAL CONFIGURATIONS............................................................................................................ 28 Browser Compression Caching Navigation Pages Caching HTTP KeepAlive 28 28 29 30

Reducing TCP Wait Time 30 For Windows NT ...................................................................................................................................................................... 30 For AIX .................................................................................................................................................................................... 30 For HP/UX 11 or Solaris 2.8 and Later .................................................................................................................................... 31 For Solaris Prior to 2.8 ............................................................................................................................................................. 31 AIX Thread Model Timeout Settings 31 31

CHAPTER 6 - INTEGRATION BROKER ............................................................................................................................ 34 Configure PSBRKHND Message Broker Handler Optimize Message Queue Versus Message Consumption Use of Message Segments for Oracle Delivered Full Sync Service Operations Optimize One Message Versus Multiple Messages per Queue 34 34 34 35

Tuning PSADMIN Parameters for Asynchronous Messaging 35 DISPATCHER Parameters....................................................................................................................................................... 35 PSPUBDSP only ...................................................................................................................................................................... 36 HANDLER Parameters ............................................................................................................................................................ 36 PSPUBHND only ..................................................................................................................................................................... 36 Tuning PSADMIN Parameters for Synchronous Messaging Configure Dedicated Message Servers for High Volume Asynchronous Messaging Configure Dedicated Multiple Domains for High-Volume Asynchronous Messaging 36 37 37

© Copyright Oracle. All rights reserved.

3

PeopleTools Performance Guidelines White Paper

9/10/2010

Application Guidelines for Asynch Messaging 38 Application Guidelines for Sync Messaging ............................................................................................................................ 38 Configure Load Balance Interval (PeopleTools 8.48 and Later) Master/Slave Reducing Maximum App Message Size MultiThreaded Integration Broker (PeopleTools 8.46 and Later) Scan Time Setting for App Messaging PUBSUB Error And App Server Log File Growing 39 39 39 39 40 40

CHAPTER 7 - OPERATING SYSTEM SETTINGS ............................................................................................................. 41 For Linux 41 TCP_WAIT .............................................................................................................................................................................. 41 For Solaris For HP-UX For Tru64 41 42 42

CHAPTER 8 - CALL TELEPHONY INTERFACE (CTI) ................................................................................................... 44 RENServer Parameters (psrenconfig.txt) PSMCAPI Parameters (Renclient.Properties) PSMCAPI Java Options (StartServer.bat) 44 44 45

CHAPTER 9 - PSAE AND PSAESRV .................................................................................................................................... 46 CHAPTER 10 - REPORTING TOOLS .................................................................................................................................. 47 XMLPublisher (PeopleTools 8.48 and Later) Business Objects Enterprise (PeopleTools 8.48 and Later) 47 47

CHAPTER 11 - MONITORING TOOLS ............................................................................................................................... 48 PeopleSoft Ping ........................................................................................................................................................................ 48 psadmin .................................................................................................................................................................................... 48 PeopleSoft Performance Monitor ............................................................................................................................................. 48 CHAPTER 12 - VERSION 8.50 GUI ENHANCEMENTS.................................................................................................... 49 Version 8.50 Enhancements ..................................................................................................................................................... 49 Autocomplete (aka Type Ahead) .............................................................................................................................................. 49 Swan Look and Feel ................................................................................................................................................................. 49 Partial Page Refresh (aka Ajax Updates) ................................................................................................................................. 49 Modal Windows ....................................................................................................................................................................... 49 Scrollable Grids / Grids Zoom ................................................................................................................................................. 50 Mouse Over Pages .................................................................................................................................................................... 50 Deferred Mode vs. Interactive Mode........................................................................................................................................ 50 CHAPTER 13 - QUERY ACCESS SERVICE (QAS) ............................................................................................................ 51 QAS .......................................................................................................................................................................................... 51 Synchronous Query Execution ................................................................................................................................................. 51

PeopleTools Performance Guidelines White Paper 9/10/2010 Asynchronous Query Execution ............................................................................................................................................... 51 Sync/Poll Query Execution ...................................................................................................................................................... 52 Performance Considerations ..................................................................................................................................................... 52 Configuration Recommendations ............................................................................................................................................. 53 APPENDIX B – REVISION HISTORY ................................................................................................................................... 54 Authors ..................................................................................................................................................................................... 54 Reviewers ................................................................................................................................................................................. 54 Revision History ....................................................................................................................................................................... 54

© Copyright Oracle. All rights reserved.

5

relational database concepts/SQL. To ensure that you have a well-rounded understanding of our PeopleSoft Internet Architecture technology. the structure. Web Browser.4x PeopleBooks. and we assume that our readers are experienced IT professionals with a good understanding of PeopleSoft Internet Architecture. we recommend that you have a basic understanding of system administration. To take full advantage of the information covered in this document. basic Internet architecture. we recommend that before you read this document. Many of the fundamental concepts related to PeopleSoft Internet Architecture are discussed in the following PeopleSoft PeopleBooks:       PeopleSoft Internet Architecture Administration (PeopleTools|Administration Tools|PeopleSoft Internet Architecture Administration) Application Designer (Development Tools|Application Designer) Integration Broker (Integration Tools|Application Messaging) PeopleCode (Development Tools|PeopleCode Reference) PeopleSoft Installation and Administration PeopleSoft Hardware and Software Requirements © Copyright Oracle. and OS Kernel. you read information related to PeopleSoft Internet Architecture that is found in the PeopleTools PeopleBooks. maintain. All rights reserved. and programmers who implement. In this white paper. or your web server. To see if the document has been updated since you last downloaded it. we provide guidelines on how to diagnose a PeopleSoft Online Transaction environment. including PeopleSoft Internet Architecture and Portal configuration. Therefore. Web Server. installers. RELATED MATERIALS This white paper is not a general introduction to environment tuning. STRUCTURE OF THIS WHITE PAPER This white paper provides guidance across the major PeopleSoft Internet Architecture components: Application Server. Please note that much of the information in this document eventually gets incorporated into subsequent versions of the PeopleBooks. system administrators. the PeopleSoft Application Server. Keep in mind that PeopleSoft updates this document as needed so that it reflects the most current feedback that we receive from the field. 6 . or develop applications for Oracle’s PeopleSoft Enterprise Applications. content. headings. compare the date of your version to the date of the version posted on My Oracle Support. This document is not intended to replace the documentation delivered with the PeopleTools 8 or 8. Although this document does not address every conceivable problem that you could encounter with Tuxedo.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 1 . This document does not cover configuration of batch processes. Much of the information contained in this document originated within the PeopleSoft Global Support Center and is therefore based on "real-life" problems encountered in the field. the issues that appear here are the problems that prove to be the most common or troublesome.Introduction This white paper is a practical guide for technical users. Integration Broker. and how to use PeopleSoft applications. and length of this document are likely to vary with each posted version.

PeopleTools Performance Guidelines White Paper 9/10/2010 Additionally. The use of this information or the implementation of any of these techniques is a customer responsibility and depends upon the customer's ability to evaluate and integrate these techniques into their operational environments. and IBM documentation. Oracle assumes no responsibility for its accuracy or completeness. we recommend that you to read documentation on Oracle Application Server. © Copyright Oracle. 7 . The material here is published as is. BEA. This white paper has not been submitted for any formal PeopleSoft testing process and has not undergone rigorous review. All rights reserved. and IBM Websphere. BEA Weblogic/Tuxedo. See your PeopleSoft Installation and Administration PeopleBooks for directions on accessing the Oracle.

3. Determining PeopleSoft AppServer Memory Usage Under NT To determine PeopleSoft Application Server memory usage under NT: 1. Check for swapping by using the memory monitoring procedures outlined in the following sections. performance is compromised. Ensure that you include all test.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 2 . 8 . 5. perform the following steps: a) Run psadmin. All rights reserved. During peak usage times. c) Select TUXEDO command line. ―Memory swapping‖ is the most likely culprit. To determine the queue length of the specific domain. you should see some small amount of queuing for the psappsrv processes. Check your memory utilization on the application server when you experience performance problems. If you are experiencing more than 4 seconds of response time for every (as opposed to just a few transactions) web page refresh. 4. boot no more than four PSAPPSRV processes. Use NT TaskManager to monitor all the PeopleSoft processes. If you have too many processes. The # Queued column displays the queue length for that application server process. HRMS gets less). application server memory is probably to blame. but also each PSAPPSRV is not sufficiently cached (that is. You may experience these same problems when trying to run Microsoft PowerPoint. development. © Copyright Oracle. and Excel on a PC with 12 MB of memory. 2.Application Server Guidelines APPLICATION SERVER MEMORY GUIDELINES Lack of memory resources on the application is the most common cause of serious online performance issues. Here are some tips that you can do to see if you need more memory for your application server: 1. Follow this guideline for the memory footprint for the PSAPPSRV:    CRM and HRMS use about 100-150 MB per application server process (CRM gets 50 users per process. Fully caching each PSAPPSRV takes more time. A common problem is having four large domains on one computer with insufficient memory. So. The extra PSAPPSRV processes not only take up memory space and CPU time from the OS. if you have 1GB of memory available for a financials application server. either add more memory or reduce the number of domains or PSAPPSRV processes on the computer. each PSAPPSRV caches only a portion of the user panels). d) Run the command pq. Word. Financials uses 150-300 MB per process (you get about 20-30 users per process). Ensure that you don't have too many PSAPPSRV processes booted. b) Go to PeopleSoft Domain Administration for the specific domain name. for example. Supply Chain uses 300-500 MB per process (you get about 10-20 users per process). and production domains on a computer in your calculation. If you are swapping.

PeopleTools Performance Guidelines White Paper 9/10/2010 PeopleSoft process names begin with ps. but only the amount of physical RAM that the process is using. Determining Memory Usage on UNIX To help the end user better understand the memory consumption and CPU usage of the PeopleSoft Application Domain. This counter includes paging traffic on behalf of the system cache to access file data for applications. When page/sec is greater than 100 hard pages per second. there is a swapping problem. you must select both of these fields. Because PeopleSoft shares a lot of the common libraries. perfmon. and then select Select Columns. Start the NT Performance Monitor. Pages/sec is the number of pages read from the disk or written to the disk to resolve memory references to pages that were not in memory at the time of the reference. The Memory Usage columns includes the shared libraries loaded into each process. This is the sum of Pages Input/sec and Pages Output/sec. 9 . the paging file) than physical memory. Sort the process by name. and then the Page/sec. Pick the Memory Usage and Virtual Memory Size columns. not an absolute measurement of memory usage. However.543 MB 11 % © Copyright Oracle. 2. so if you're gauging memory at all. Add the Object Counter. All rights reserved. You can obtain the monitoring shell scripts from My Oracle Support document id 333300. The total Memory Usage and the VM Size of the combined PeopleSoft processes should not be greater than 70 percent of the real memory of the server. with NT. you will be ―double counting‖ the shared libraries portion. 3. This value also includes the pages to/from noncached mapped memory files. and the two memory columns will tell you approximately the amount of memory that each PeopleSoft process is using. the summation of all PeopleSoft processes is a quick estimator. Determining If Excessive Memory Swapping Happens Under NT To determine if excessive memory swapping happens under NT: 1. This is the primary counter to observe if you are concerned about excessive memory pressure (that is. thrashing) and the excessive paging that may result. we have created several UNIX vendor-specific shell scripts to monitor the Performance Monitor parameters. an application may be using much more Virtual Memory (that is. Reduce the number of PSAPPSRV processes or add more memory to the server. if you add up all the processes.1 Here is a sample output of the ps_chk_domain script: Please Enter your application server domain name? PT84 Please Enter interval in seconds? 10 Please Enter # of interval's? 100 Tue Oct 23 23:00:33 PDT 2001 For all PS Processes: Resident memory size is: CPU for PS Processes: 123. Memory Usage is not the entire memory consumption of the process. 2. therefore. Start TaskManager and select View from the menu bar. under Memory.

which includes memory that has been paged out to the physical disk. In order to effectively manage the memory footprint of the AppServer. If the virtual memory continues to increase. Virtual memory refers to the process virtual address size. the occupied memory is released. Adjust the recycle count so that no memory swapping is introduced because of a high recycle count value. To check whether paging is a problem. Determining If Excessive Memory Swapping Occurs Under UNIX To determine if excessive memory swapping occurs under UNIX. The output of ps_chk_domain.098MB For all PSAPPSRV Processes: Resident memory size is: 108. 10 .sh divides the portion of PSAPPSRV processes from the entire domain so that the end-user (or system administrator) can get a better understanding with the distribution of the memory resources. When the AppServer terminates.000. paging to a file system occurs and impacts user experience. you should lower the RecycleCount of the AppServer. All rights reserved. We recommend that the total resident memory for the entire PS Processes not exceed 70 percent of the total real memory available on the server. Background The AppServer processes use physical runtime memory to cache Panel objects in order to speed up user response time. Recommendation We recommend that you set the recycle count to 5. use vmstat to determine if the OS is swapping. (See the previous session for information how to determine memory swapping. APPLICATION SERVER RECYCLE COUNT The Application server recycle count parameter dictates the number of services after which the AppServer automatically restarts.453MB CPU for PS Processes: 9% Virtual memory size is: 106. When the amount of memory occupied by the AppServer becomes too large (relative to the real memory available at the time). When the AppServer reaches the specified Recycle Count value. run vmstat and check out the pi column to see if you are doing much paging in and po for paging out. instead of fetching the Panel objects from the database server every time.PeopleTools Performance Guidelines White Paper Virtual memory size is: 9/10/2010 198. the AppServer terminates and restarts itself.) © Copyright Oracle. You can also run sar -q to check paging or run vmstat -s and take multiple samples to see if the page ins and outs to paging space are the majority of the total paging. However. the amount of physical memory occupied by the AppServer processes also increases. as the number of requests serviced by the AppServer increases. keep the Recycle Count at a realistic level.559 MB Resident memory refers to the real physical memory currently required by the process for its operation.

more process restarts will occur. Speeds up operation because all managed objects are cached into the common directory ahead of time. resulting in reduced response times due to swapping or increased likelihood of crashing due to memory violation. the LOADCACHE program may fail. To enable Server Caching.48 AND LATER) Application server restarts can cause inconsistencies in response times. SHARED CACHE FOR APPLICATION SERVER PeopleTools 8. The application server will continue to accept requests beyond the recycle count until its memory growth (that is not due to metadata loads) exceeds the configurable threshold. 0 Server File caching disabled . PeopleTools 8. When you enable this feature. Shared cache provides the following benefits:   Saves disk space because all AppServer processes use the same common directory to read the file cache contents. 11 © Copyright Oracle. instead of retrieving from the database tables on demand. consult the PeopleBook: System and Server Administration under PSAPPSRV Options. you must enable File Cache on the AppServer. . set the EnableServerCaching=2 (the default value is 2). Ensure that the database that the application server runs against produces clean SYSAUDIT runs.4x has a shared cache feature in which the various psappsrv processes in an app server domain use a single set of cache files rather than separate cache files for each process. then the system logs a delaying recycle message. To run the LOADCACHE program: 1. Note: You must preload all the necessary cache objects before you can enable the Shared Cache feature. If you set the recycle count too low. If SYSAUDIT is not clean. All rights reserved. the processes can grow big. Ensure that the user who is running the program has defined the Load Application Server Cache component to the Permission List in User Profile. To use this feature.PeopleTools Performance Guidelines White Paper 9/10/2010 To minimize the cost of recaching the AppServer. customers can use the recycle count achieved using the memory growth option in the staging environment as a static recycle count in the production environment. If you set the recycle count too high. 1 Server File caching limited to most used classes . Optionally. 2 Server File caching for all types EnableServerCaching=2 ----------------------------------------------------------------------- APPLICATION SERVER DYNAMIC RECYCLE (PEOPLETOOLS 8. EnableServerCaching . All managed objects are included in the shared cache files so that objects are not loaded from the database. PeopleSoft installation is supplied with an Application Engine program called LOADCACHE to help customers generate preloaded shared cache. 2. ----------------------------------------------------------------------.48 and later provides a new feature to recycle an app server process when its memory growth exceeds a configurable threshold. Note that if an app server exceeds the threshold before reaching the recycle count. the application server will service (at a minimum) the number of requests specified by the recycle count. Customers who are interested in this feature should initially experiment with it in a staging environment to determine an appropriate threshold for their specific applications and environments before using the feature in production.

2 Server File caching for all types EnableServerCaching=2 © Copyright Oracle. (For PeopleTools 8. CacheBaseDir = the base cache directory . In the Output Directory.0 Server File caching disabled .----------------------------------------------------------------------.0 One cache directory per App Server Process . Load Application Server Cache. EnableServerCaching . The LOADCACHE reads this setting and caches metadata according to the value specified in the Process Scheduler configuration. Select the correct process scheduler and click Run. For PeopleTools 8.40 and later) Select PeopleTools. 12 . All rights reserved. 5. You may have to add a new value here. it may take 4 to 5 hours. set it to 2. Settings for Tools that use Cache . Navigate to PeopleTools>Process Monitor.----------------------------------------------------------------------. Ensure that the Run Location is set to Server. specify the directory where you want the cached metadata to be written: Unix example> /ds1/home/testora/pt814c1/PT814U25/appserv NT example> c:\temp\ 6.2 Server File caching for all types EnableServerCaching=2 . EnableServerCaching . ServerCacheMode .0 Server File caching disabled .4x.cfg is where you specify the type of objects to cache using the EnableServerCaching parameter.1 Server File caching limited to most used classes .============================================ . Wait for the process to become Success. Ensure that ServerCacheMode equals 0. 4.CacheBaseDir=%PS_SERVDIR%\CACHE . psprcs. 3. Settings for Tools that use Cache .============================================ CacheBaseDir=%PS_SERVDIR%\CACHE . However. Enable shared caching with the ServerCacheMode parameter (ServerCacheMode=1) in psappsrv.42 and earlier only) Check your psprcs. 7.cfg file (Process Scheduler configuration file) and set it appropriately.----------------------------------------------------------------------. (For PeopleTools 8. Utilities.1 Server File caching limited to most used classes . Shut down your application server domain.PeopleTools Performance Guidelines White Paper 9/10/2010 Find or add the Utilities page for the users permission list and add the Load Application Server Cache component. The Load Application Server Cache page appears. 8.cfg of the domain.----------------------------------------------------------------------.============================================ . The first time that you run the process. Administration.============================================ CacheBaseDir=%PS_SERVDIR%\CACHE . [Cache Settings] . [Cache Settings] . Enter the appropriate Run Control ID. and reconfigure the domain so that the changes are reflected.1 Shared Cache ServerCacheMode=0 3. do not enable shared caching for Process Scheduler.

dat and *. if you have not already accessed a page. you can elect to preload files or memory cache with commonly used components.----------------------------------------------------------------------.48 and later. or Permission List. CacheBaseDir = the base cache directory . If you use shared cache.0 One cache directory per App Server Process . © Copyright Oracle. Reboot your application server domain. and you may experience a slower response time as the system requests the page from the database. for example. copy the contents of the stage directory into the share directory on your appserver domain. ServerCacheMode . Note: For shared cache users: shared cache is intended to be used in a disciplined environment. Too many process instances become even more troublesome in a Win2000/NT Tuxedo domain because the Bulletin Board process tries to use the same PSAPPSRV process ID (not using the round robin method as in UNIX). Create the <PS_HOME>\<DomainName>\cache\share directory for the appropriate domain. Unix example: /ds1/home/testora/pt814c1/PT814U25/appserv/CACHE/stage NT example: c:\temp\CACHE\stage 11. Preloading cache involves creating a project containing commonly used components and then referring to these projects in the PSADMIN settings PreloadMemoryCache and PreloadFileCache. To prevent this initial performance degradation. The preferred way to use LoadCache files is to copy the entire cache file set to the individual AppServer process (that is. To understand and use this feature. seeding the cache directory with the prebuilt LoadCache fileset). but enable the process to update the cache file content. Menu structure. in PeopleTools 8. more data is stored in the application server cache.CacheBaseDir=%PS_SERVDIR%\CACHE . All rights reserved.key extensions inside the stage directory.48 AND LATER) To improve performance. do not make any application changes that will affect the Meta Data objects. The reason: once you chose to use shared cache. However. PSAPPSRV INSTANCES Keep the number of PSAPPSRV instances low. As you access more pages and components. You will now have some cache generated under a new stage directory.PeopleTools Performance Guidelines White Paper 9/10/2010 . PRELOAD CACHE (PEOPLETOOLS 8. see the PeopleBook: System and Server Administration under the section ―Configuring an Application Server Domain to Preload Cache. PSAPPSRV must cache PeopleSoft meta-objects in order to be effective. 12. that page won’t exist in the current cache. and each access to the changed Meta Data will result in a costly database access. such as the Panel definition. Multiple copies of the cache file in each directory consume disk space. This flexibility enables you to make application changes but does not affect performance. Too many PSAPPSRV process instances make it difficult to fully cache all of them. 13 . the application server uses a caching mechanism that keeps commonly used objects in memory or file form on the application server to reduce the need for a database request each time that you access a component or page. Navigate back to your Process Scheduler. When you see a bunch of files with *. the cache files are all marked as read only. The AppServer processes cannot update the cache files for any delta.1 Shared Cache ServerCacheMode=1 9. 10.----------------------------------------------------------------------.

PeopleTools Performance Guidelines White Paper 9/10/2010 We recommend starting with 1.48 and later provide an option for parallel booting.security. A potential workaround is to set the following application server JVM option: -Djava. AIX. then you may need additional application server hardware.egd=file:/dev/urandom SET APPLICATION SERVER JVM OPTIONS Customers using functionality that does a lot of processing in Java (for example. and memory. use the same value in the Min Instances and Max Instances fields. reduce the number of PSAPPSRV processes until there is some idle CPU. we recommend adding the following setting to psappsrv. PeopleTools 8.cfg or psprcs. server processes in a domain started serially when the domain was booted. You can verify the installed Bea Tuxedo rolling patch from the following rolling patch level file: <TUXDIR>\udataobj\patchlev © Copyright Oracle. The default JVM options may not be optimal. parallel booting may not be effective on Linux.48. the process must establish its cache. If the application server machine is 100 percent utilized under load. If as a result. then you can use spawning to avoid excessive queuing. However. HP/UX. if the app server machine has sufficient headroom for better utilization.2 libraries. 14 . In general. and Tru64 due to limitations in Java 1.cfg (in addition to the already existing options): -server -Xms128m -Xmx512m CONFIRM THAT THE REQUIRED BEA TUXEDO VERSION AND MINIMUM ROLLING PATCH ARE INSTALLED Confirm that the required Bea Tuxedo version and the minimum rolling patch are installed specific to the PeopleTools release and operating system from Certifications section of My Oracle Support. CPU. then we do not recommend spawning an extra PSAPPSRV instance to handle high-volume workload. We recommend using parallel booting to significantly speed up the process of starting a domain.5 to 3 PSAPPSRV processes per CPU. there is significant queuing. Use an appropriate "min" setting to indicate how many PSAPPSRV processes are required for proper throughput. All rights reserved. Note: In PeopleTools 8. XMLPublisher) should consider setting the JVM options for the application server. In that case. Every time that a new PSAPPSRV process starts.48.4. which takes time. it is best to allow a small amount of queuing during peak working hours. To disable spawning. If the app server machine is more than 80 percent loaded. when PeopleSoft Performance Monitor is enabled. USE PARALLEL BOOT Prior to PeopleTools 8.

Web Server Guidelines CONFIRM THAT THE REQUIRED WEB SERVER VERSION..48 and later. when a host failed. check the web. All rights reserved. Without Jolt Session Pooling.pt8. service pack. appserver1 would receive three times more requests than appserver2. <init-param> . each user session requires a dedicated Jolt session between web server and app server.48.xml file: <servlet> <servlet-name>psc</servlet-name> <servlet-class>psft. To verify if Jolt Session Pooling is enabled. the load was redirected to the next host on the server list. USE JOLT SESSION POOLING (PEOPLETOOLS 8. the requests will be routed to appserver99. To check the Jolt Session Pooling setting. and JRE version are installed specific to the PeopleTools release and operating system from the Certifications section of My Oracle Support. the Jolt sessions are shared among users. .appserver2:9010#1[appserver98:10010] In this case. With PeopleTools 8. edit psserver property in configuration. The load may not always be distributed per the weights.48 AND LATER) In PeopleTools 8.psc</servlet-class> .properties. you can specify a failover target for each host and thus distribute the failover load. For example: psserver=appserver1:9000#3[appserver99:10010].48 AND LATER) Prior to PeopleTools 8. With Jolt Session Pooling. which reduces system resource usage.. Redirection caused system load to increase significantly on that host and made the load unstable. If appserver1 fails. SERVICE PACK. <param-name>joltPooling</param-name> <param-value>true</param-value> USE STRICT FAILOVER AND WEIGHTED LOAD-BALANCING (PEOPLETOOLS 8. select web. You can also specify a weight for each host so that more load is directed to more powerful machines. In our intenal test on a 2-CPU Windows box. 15 . which consumes valuable system resources. we were able to run 500 users with Jolt Session Pooling versus only 280 users without Jolt Session Pooling. especially when the load is light.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 3 .xml under the appropriate directory for each web server platform. To configure strict failover and weighted load balancing. . © Copyright Oracle. Jolt Session Pooling is enabled by default.48 and later. AND JRE VERSION ARE INSTALLED Confirm that the required web server version.

That's the log details that has been collected. respectively. 16 . Many customers have their JVM heap size set to a minimum heap size of 64MB and maximum size of 256MB. When the Java heap runs out of space. it may be beneficial to change the Apache KeepAlive Timeout from 15 to 30 seconds and set the Maximum KeepAlive Requests to zero. A screen of messages appears on the browser window. it is possible that if there are a large number of concurrent users. Open opmn. 3. submit the following URL to reset the existing log: http://<hostname:port number>/psp/ps/?cmd=resetlog&pwd=<password from step 1>. For more comprehensive data. Because KeepAlive controls how long OHS retain the connection between the client and OHS. Capture JOLT Request Timing Traces To collect JOLT request timing traces for an Oracle AS installation of PeopleSoft Internet Architecture: 1. add a String property named auditPWD and set the value.xml in <ORACLE_HOME>\opmn\conf for editing. After logging on. The garbage collection details are written to the log file <ORACLE_HOME>\opmn\logs\OC4J~<PIA Install Name>~default_island~<jvm instance number>. 2. 7. MaxKeepAliveRequests. 5. Stop the webserver. Locate the KeepAlive. Depending on which applications you are using. You will use this password in a later step. Point to the logon URL and logon as usual.conf for editing. the Java Garbage Collector is invoked to deallocate unreferenced objects and free up more space for the program to continue its operation. Setting the JVM heap size to a greater minimum value (preferably equal to the maximum value) avoids the performance hit incurred by dynamically growing the JVM and improves predictability. and KeepAliveTimeout lines and set them to On. 4. The JVM cannot service user requests during garbage collections. repeat steps 4 through 7. 8.PeopleTools Performance Guidelines White Paper 9/10/2010 ORACLE APPLICATION SERVER (ORACLE AS) Set JVM Heap Size to 256MB or Higher The Java virtual machine heap space is the memory region where the Java objects (both live and dead) resided. To set the heap size for PeopleSoft Internet Architecture. it also lessens the frequency of JVM garbage collection. Before logging on. Locate the process-type node for your PeopleSoft Internet Architecture installation and add this line to the value attribute of the java-options node: -Xms256m –Xmx256m –verbosegc The –verbosegc switch enables you to monitor the amount of heap usage and the time Oracle AS took for garbage collections so that you can make further adjustments if necessary. Copy and paste the log from the browser to a text file. Modify Apache KeepAlive Setting Depending on the expected interval between your users’ requests. Restart the webserver. point to the previously mentioned URL again (http://<hostname:port number>/psp/ps/?cmd=resetlog&pwd=<password from step 1>) to retrieve the log. and 30. Open <ORACLE_HOME>\Apache\Apache\conf\httpd. open opmn. and add -Dloggersize=0 to the value attribute of the java-options node. All rights reserved. 6.xml in <ORACLE_HOME>\opmn\conf for editing. you may need to set the heap size even higher. increasing KeepAlive © Copyright Oracle. locate the process type node for your PeopleSoft Internet Architecture installation. Using the Custom Properties page of the current WebProfile. 0.

the ThreadsPerChild setting in <ORACLE_HOME>\Apache\Apache\conf\httpd. You should change this setting only if you see excessive CPU consumption of the OHS process (look for apache.2_12 or later. To change this value. In most cases. you may need to increase MaxClients or ThreadsPerChild (see the next section) to ensure incoming requests are not starving for connections. In most cases. Locate the appropriate <virtual host> section and comment out the line beginning with TransferLog. open <ORACLE_HOME>\Apache\Apache\conf\mod_oc4j. You can add this comment to the JVM options: –XX:+HeapDumpOnOutOfMemoryError –XX:HeapDumpPath=/tmp If there is an OutOfMemoryError. the default value of 150 is sufficient. jhat (in JDK 6). If the entry is not there. For UNIX. Generate Heap Dumps on OutOfMemoryError If you are using JDK 1. Setting the Oc4jCacheSize to the same value as ThreadsPerChild should provide the optimal performance. The heap dump file provides valuable information to Oracle development on what’s causing the OutOfMemoryError. 17 . there is a new option to dump the JVM heap if you are running into OutOfMemoryError. or a profiler that supports the binary heap dump format.conf in <Apache_home>\conf for editing. add the following line above the first Oc4jMount entry (this assumes that you have increased ThreadsPerChild to 150): Oc4jCacheSize 150 You do not need to change this setting for UNIX.conf controls the number of concurrent threads (requests) that the Oracle HTTP Server can service. the default value of 150 is sufficient. For Windows.4.conf and search for Oc4jCacheSize. When you increase KeepAlive. the contents of the heap will be dumped to a file in the directory specified by: –XX:HeapDumpPath The heap dump file can be read by the Heap Analysis Tool (HAT). if you decide to increase ThreadsPerChild.exe in your Task Manager in Windows or do ps –ef | grep httpd in UNIX) and you expect a stable number of users making requests at interval to be longer than the default setting of 15 seconds.PeopleTools Performance Guidelines White Paper 9/10/2010 from 15 to 30 will negatively impact performance because there will be fewer available connections to service the requests. you should set the Oc4jCacheSize to the same value. the equivalent setting is MaxClients. This setting controls the number of connections between the Oracle HTTP Server and OC4J. WEBLOGIC © Copyright Oracle. Modify ThreadsPerChild and Oc4jCacheSize For Windows. All rights reserved. Disable HTTP Request Logging in mod_oc4j Open mod_oc4j.

log file severity level has been set to Info by default. check your WebLogic output message and search for the reference to NT/Posix Performance Pack. When you enable this option. In order to set the log severity (for server log) to Critical. If you do not select this redirect option. rotation.PeopleTools Performance Guidelines White Paper 9/10/2010 Log level Setting (PeopleTools 8. Severity level= Critical 2. Ensure that the Redirect stdout logging enabled check box is enabled. These settings will improve performance by reducing the overhead of log indexing. Click Save and then click Activate changes. the stdout of the JVM in which a WebLogic Server instance runs is redirected to the WebLogic logging system. All rights reserved. Domain -> configuration -> Log Filter -> click the Lock& Edit button ->New -> Name=Critical -> Finish ii. Use these memory buffer settings: 1. Log in to the Weblogic Admin console and follow this path to create a filter: i. you must use the filter because the log severity field does not provide Critical as one of the options. Filter= Critical 3.49 and Later) In Weblogic 9. Severity level= Critical 2. Severity level= Warning 2. We recommend that you set the log file severity level to Warning and set the log filter to Critical. However. To improve performance. Info. We recommend that you select the Redirect stdout logging enabled option. only three options are available for the log severity field: Debug. and Domain log Broadcaster) to Critical without using a filter. Use these standard out settings: 1. Log severity levels and log filters are independent of one another. generic socket implementation is not efficient and could cause performance issues or socket stability problems. you can set the log severity of three other types of logs (Standard out. This means setting log filters is not mandatory. Follow this navigation: Environment ->Servers ->PIA(admin) ->Logging -> Advanced ->click the Lock& Edit button iv. the stdout content is published to the server terminal console and performance is compromised. and Warning. To verify that your WebLogic Server is loading the Performance Pack correctly. When the Performance Pack is not loaded properly. and this Posix Performance Pack will use the native OS's socket implementation. WebLogic should use the Posix Performance Pack. Use these domain log broadcaster settings: 1. To configure recommended logging level: a). The severity level produces too much logging information. For the server log type. Filter= Critical viii. © Copyright Oracle. 18 . Severity level= Critical 2.2. Memory buffer. generic socket implementation is used. Filter= Critical vi. Confirm That the Posix Performance Pack is Loaded Under normal circumstances. Click the Critical link -> Edit -> Enter (SEVERITY=Critical) -> Finish -> Save -> Click Activate changes To configure logging levels: iii. v. and the Weblogic server must index all logs that caused performance degradation in internal performance tests. and so on. Use these log file settings: 1. Filter= Critical vii.

Confirm JRE Version Confirm from BEA's platform page that the installed JRE is certified (may require OS patches). see My Oracle Support Document Id 660080.2. Therefore.3.PeopleTools Performance Guidelines White Paper 9/10/2010 Set Thread Count In WebLogic 9. these are implicitly limited by other system resources such as memory. As for Windows.com/docs/cd/E13196_01/platform/suppconfigs/index. and the close() is not preemptive as in Solaris and AIX. you are allowing more socket connections to be established.1 for instructions to configure the Thread Count. threads are automatically allocated as needed. Set OS File Descriptor to 100*ThreadCount A file descriptor is required for every file that is opened. every *.oracle. you do not set the thread count.1. Setting the JVM heap size to a larger minimum value (preferably equal to the maximum value) avoids the performance hit incurred by dynamically growing the JVM and improves predictability. Set JVM Heap Size to 256MB or Higher Many customers have their JVM heap size set to a minimum heap size of 64MB and maximum size of 256MB. it is necessary to set an environmental variable to work around a JRE bug. when you increase the ThreadCount. every connection that has to open back to a client. This setting applies to JRE1. please refer to My Oracle Support Document Id 638118.html Note: For Linux.1.class file read in by WebLogic. 1. you may need to set the heap size even higher.3 and 1. To raise the file descriptors for UNIX. $ export J2SE_PREEMPTCLOSE=1 The rationale behind this setting is that the current Linux is still using the old UNIX network/thread semantics. you must increase the number of file descriptors (maxfiles and maxfiles_lim) accordingly. every jolt connection PIA/Portal make to the appserver.2. For WebLogic 8.1. All rights reserved. 19 . use the following command: csh –c “limit –h descriptors” You must also raise the number of threads limit per process (max_thread_proc) in UNIX. and there is no explicit parameter that controls them. See the following JVM Heap Size section to learn how to change the heap size for a specific web server. Increasing the setting also lessens the frequency of JVM garbage collection. Depending on which applications you are using. use the following command: ulimit –n 4096 © Copyright Oracle. and any other socket-based communication that was occurring on that machine. For more information. Note: For Unix platforms. Here is the path to the BEA’s platform page: http://download. To check the current file descriptor value.2 onwards.

xml. there is a parameter (ServletReloadCheckSecs) that dictates how often WebLogic checks whether a servlet has been modified.startPIA. This option inhibits a thread that would normally clear out unused classes (thus saving the load incurred by that thread). 15440712 bytes in 396 ms. is at end> To minimize performance degradation from Garbage Collection. See the Reducing TCP Wait Time section to learn how to change the TCP Wait Time for a specific OS. 20 . The default value for this is 11 minutes. 140 stack-marked objects> <GC: 1 register-marked handles. the Java Garbage Collector invokes to deallocate the dead objects and free up more space for the program to continue its operation. You have to start the WebLogic from the command line -. weak 0. Monitor JVM Garbage Collection The Java virtual machine heap space is the memory region where the Java objects (both live and dead) reside. Lower OS TCP/IP Cleanup/Timeout Settings Socket-based applications that are opening and closing hundreds or thousands of sockets must have their sockets marked as closed. compact: 161 ms> <GC: 0 register-marked objects.cmd: SET JAVA_OPTIONS=-hotspot –Xms256m –Xmx256m –verbosegc Here is a sample output of the GC: Sat Nov 24 22:15:34 PST 2001:<I> <WebLogicServer> Invoking garbage collection Sat Nov 24 22:15:34 PST 2001:<I> <GC> GC: Before free/total=46867368/67108856 (69%) <GC: freed 249213 objects. To monitor the amount of heap usage and the time that WebLogic takes for the garbage collection.PeopleTools Performance Guidelines White Paper 9/10/2010 In Windows NT/2000. sweep: 124 ms. 95% free (51334096/53687088)> <GC: init&scan: 6 ms. use the command line option -noclassgc. scan handles: 105 ms.cmd (instead of an NT service) to see the GC output. The goals of tuning your heap size are twofold: minimize the amount of time that you spend doing GC while maximizing the amount of clients that you can handle at a given time. there is not an explicit parameter for the number of file descriptors. In setEnv. Lower this value to 1 minute. it is marked as closed only until the OS (based on a cleanup/flush timeout) makes that socket available again. When the Java heap runs out of space. you can add the verbosegc switch to the setEnv.cmd script file. final 559. The JVM cannot service user requests during garbage collections. 559 stack-marked handles> <GC: refs: soft 0 (age >= 32). BEA also provides informationo on this topic. 35 conservatively pinned objects> <GC: last free block at 0x02A11B2C of length 35906768. Planet PeopleSoft implements a 1-minute TCP wait time. The parameter is implicitly limited by hardware resources (mainly system memory). All rights reserved. and if so reloads it: <WebAppComponent Name="PORTAL" ServletReloadCheckSecs="-1" Targets="PIA" URI="PORTAL" /> © Copyright Oracle. phantom 0> <GC: compactHeap: blocks_moved=249506> <GC: 0 explicitly pinned objects. Disable Servlet Reload In %WLS_HOME%/<peoplesoft web domain>/config. Once a process closes a socket.

All rights reserved. The messages represent the log that has been collected. Using the Custom Properties page of the current WebProfile.) Capture JOLT Request Timing Traces To capture JOLT request timing traces: 1.management.ProductionModeEnabled=%STARTMODE% "Djava. add a String property named auditPWD and set the value. 3.Domain=%DOMAIN_NAME% -Dweblogic. 6. In the weblogic domain directory.home="%BEA_HOME%" -Dweblogic.3. which reduces the amount of logs written in webserver log files. © Copyright Oracle. the value defaults to 0 – always reload. 2. We recommend that you disable the diagnostic trace log. like the following: %JAVA_HOME%\bin\java" %JAVA_OPTIONS% -classpath %CLASSPATH% Dweblogic.management. 8.sh and add a command-line option -Dloggersize=0 to the firing of the java process. repeat steps 4 through 7.‖ Set the value to *=severe.Name=%SERVER_NAME% Dbea. point to the previous URL again (http://<hostname:port number>/psp/ps/?cmd=resetlog&pwd=<password from step 1>) to retrieve the log. Log in to the Websphere admin console and navigate to ―Troubleshooting > Logs&Trace > server1 > Diagnostic trace. which is undesirable. 7. Restart the webserver Before logging on.password=%SYSTEMPASSWORD% Dweblogic. (If the field is not present. Stop the webserver.Server 4.1. If this is the case.1/lib/weblogic. introduce the field with a value of –1. Thus. After logging on. 21 .PeopleTools Performance Guidelines White Paper 9/10/2010 In a production environment. For more comprehensive data. log detail level has been set as Info by default. you should set ServletReloadCheckSecs to –1 for each of the components.discover=%DISCOVERY_MODE% -Dloggersize=0 weblogic. Point to the logon URL and logon as usual. 5. the servlets are not modified. Clear the Enable log check box.cmd/startPIA. You will use this password in a later step.policy==%BEA_HOME%/wlserver6.0. checking and reloading only incurs unnecessary work. submit the following URL to reset the existing log: http://<hostname:port number>/psp/ps/?cmd=resetlog&pwd=<password from step 1> A screen of messages appears on the browser window. open startPIA.security.49 and Later) In Websphere 6. We recommend changing the log detail level from *=info to *= severe to improve the performance up to 20 percent. WEBSPHERE Log Level Setting (PeopleTools 8. This setting produces too much logging data to logfile. Therefore. Copy and paste the log from the browser to a text file. which degrades performance in internal performance tests. Log in to the Websphere admin console and navigate to ―Troubleshooting> Logs&Trace> server1>Change Log Detail Levels.policy" Dweblogic.

Set JVM Heap Size to 256MB or Higher and Monitor JVM Garbage Collection (Refer to the WebLogic section on how to decide the JVM heap size. review the PeopleSoft Platforms Database to make sure that you are installing WebSphere into a supported environment..PeopleTools Performance Guidelines White Paper 9/10/2010 Ensure That JIT is Enabled and Class Verification is Skipped Ensure that JIT is enabled by default in the Admin console. the class verification stage is skipped during class loading. Note: Install WebSphere eFixes in any order.) © Copyright Oracle. performance test indicate that startup time is improves up to 15 percent. roll back efixes in the reverse order (from which you applied them).. Setup and Configuration Note: PeopleTools 8. for performance reasons. . For detailed installation instructions.. 22 .xml at: %PS _HOME%\webserv\{profile_name}\config\cells\{cell_name}\nodes\{node_name}\servers\server1\ and modify the thread pool maximumSize for web container. Step 2. Login to WebSphere admin console and navigate to: servers -> Application server -> server1 -> Thread Pool -> WebContainer and modify the thread pool maximumSize for the web container. By using Xverify:none with the just in time (JIT) compiler enabled. Use of IBM Http Server.4 supports a native http server within WebSphere at port 9080 and 9443. JVM property: -Xverify:none. When using this value. . throughput decreases noticeably. which listens at port 80 or 443 for http or https. All rights reserved.. for http and https. </services> 2. Note: Before you begin the installation. Step 1. Set Thread Count 1. see the ―WebSphere Install‖ document posted on Customer Connection... <services xmi:type="threadpoolmanager:ThreadPoolManager" xmi:id="ThreadPoolManager_1208430577007" enable="true"> . is optional. To remove eFixes. Therefore.. If you disable the JIT compiler. keep JIT enabled.. <threadPools xmi:id="ThreadPool_1208430577008" minimumSize="10" maximumSize="50" inactivityTimeout="3500" isGrowable="false" name="WebContainer"/> . Locate server. respectively. especially the required e-fixes needed for WebSphere.

org/XMI" xmlns:webappext="webappext.jar.jar.bootstrap.xml file rather than the startup script (startserver).jar. All rights reserved.${WAS_ROOT}/ins talledApps/peoplesoft/PORTAL/WEBINF/lib/entappletbase. Log in with a blank user ID.xml.0" xmlns:xmi="http://www.ws.jar. Click Process Definition under Additional Properties.xmi with the following content: <webappext:WebAppExtension xmi:version="2. 23 .org/2001/XMLSchema-instance" © Copyright Oracle.ibm.${WAS_ROOT}/installedApps/peoplesoft/PORTAL/WEBINF/lib/entappletssl. Other JVM Options Insert other JVM options if needed (for example. such file may not exist.${WAS_ROOT}/properties.org/2001/XMLSchema-instance" xmi:id="WebAppExtension_1" reloadInterval="0" reloadingEnabled="false" fileServingEnabled="true" directoryBrowsingEnabled="true" serveServletsByClassnameEnabled="false"> (In the PSINTERLINKS/WEB-INF directory. On the left Navigation.${WAS_ROOT}/installedApps/peoplesoft/PORTAL/WEBINF/lib/entappletp7.ws. you can go to the administration console (http://:9090/admin/) to change settings.0" xmlns:xmi="http://www.PeopleTools Performance Guidelines White Paper 9/10/2010 In %WAS_HOME%/config/server-cfg.ibm. Here you can change all the parameters where you need verbosegc and so on. If this is the case.w3. With IBM Websphere 5.jar.WSLauncher"></processDefinition> Disable Servlet Reload The servlet reload parameters in WebSphere is located in %WAS_HOME%/<peoplesoft web domain>/[PORTAL/PSIGW/PSINTERLINKS]/WEB-INF/ibm-web-ext-xmi (usually this is the first line): (In Websphere 5.${WAS_ROOT}/installedApps/peoplesoft/PORTAL/WEBINF/lib/entappletp12.) <webappext:WebAppExtension xmi:version="2.xmi" xmlns:webapplication="webapplication.${WAS_ROOT}/installedApps/peoplesoft/PORTAL/WEBINF/lib/entappletp10.runtime. the xmi file is located here: %WAS_HOME%\AppServer\config\cells\\applications\peoplesoftWAS.ear\deployments\peoplesoftWAS\PSINTERLINKS\W EB-INF.xmi" xmlns:webapplication="webapplication.StandardServer" disableJIT="false"></jvmSettings> Note that you can also turn on verbosegc here (verboseModeGarbageCollection). Click Java Virtual Machine under additional Properties.xmi" xmlns:xsi="http://www.w3.jar.xmi" xmlns:xsi="http://www. create a file called ibm-web-ext. select Servers -> Application Servers. For example: <processDefinition xmi:type="server:JavaProcessDef" xmi:id="ProcessDef_1" executableName="${JAVA_HOME}/bin/java" commandLineArguments="-noclassgc" workingDirectory="${WAS_ROOT}/bin" executableTargetKind="JAVA_CLASS" executableTarget="com.${WAS_ROOT}/installedApps/peoplesoft/PORTAL/WEBINF/lib/entapplethttp.jar" bootClasspath="" verboseModeClass="false" verboseModeGarbageCollection="false" verboseModeJNI="false" initialHeapSize="256" maximumHeapSize="256" runHProf="false" hprofArguments="" debugMode="false" debugArgs="" genericCommandLineArgs="com. Select your server name (default is server1). noglassgc) in the server-cfg.omg. locate the following lines: <jvmSettings xmi:id="JavaVirtualMachine_1" classpath="${WAS_ROOT}/lib/bootstrap.org/XMI" xmlns:webappext="webappext.jar.${WAS_ROOT}/installedApps/peoplesoft/PORTAL/WEBINF/lib/entappletp5.omg.

Capture JOLT Request Timing Trace To collect JOLT request timing traces for WebSphere: 1. © Copyright Oracle. 5.xml#Servlet_1"/> </extendedServlets> </webappext:WebAppExtension> Also copy the file ibm-web-bnd.omg.bootstrap. 8. %WAS_HOME%/<peoplesoft web domain>/META-INF/ibm-application-ext-xmi should look like this (with the reloadInterval line deleted): <applicationext:ApplicationExtension xmi:version="2. Stop the webserver.org/XMI" xmlns:applicationext="applicationext.w3. Point to the logon URL and log on as usual. repeat steps 4 through 7.WSLauncher"> 4. 24 .xmi" xmlns:xsi="http://www. submit the following URL to reset the existing log: http://<hostname:port number>/psp/ps/?cmd=resetlog&pwd=<password from step 1>.xml#WebApp_1"/> <extendedServlets xmi:id="ServletExtension_1"> <extendedServlet href="WEB-INF/web. locate the following lines: <processDefinition xmi:type="server:JavaProcessDef" xmi:id="ProcessDef_1" executableName="${JAVA_HOME}/bin/java" commandLineArguments="-Dloggersize=0" workingDirectory="${WAS_ROOT}/bin" executableTargetKind="JAVA_CLASS" executableTarget="com. A screen of messages appears on the browser window. Before logging on.PeopleTools Performance Guidelines White Paper 9/10/2010 xmi:id="WebAppExtension_1" reloadInterval="0" reloadingEnabled="false" fileServingEnabled="true" directoryBrowsingEnabled="true" serveServletsByClassnameEnabled="false"> <defaultErrorPage xsi:nil="true"/> <additionalClassPath xsi:nil="true"/> <webApp href="WEB-INF/web. In %WAS_HOME%/config/server-cfg.ibm.xml. 3.) Moreover. All rights reserved. point to the previous URL again (http://<hostname:port number>/psp/ps/?cmd=resetlog&pwd=<password from step 1>) to retrieve the log. Copy and paste the log from the browser to a text file.0" xmlns:xmi="http://www. 7.DELETE THIS LINE <reloadInterval xsi:nil="true"/>DELETE THIS LINE --> <application href="META-INF/application. add a String property named auditPWD and set the value. Using the Custom Properties page of the current WebProfile. 2.xml#Application_ID"/> </applicationext:ApplicationExtension> Refer to the same topic in WebLogic for further information.xmi from the PORTAL/WEB-INF directory.ws. For more comprehensive data.org/2001/XMLSchema-instance" xmi:id="Application_ID_Ext" reloadInterval="0"> <!-. You will use this password in a later step.xmi" xmlns:application="application. After logging on. These messages are the log that has been collected. 6. Restart the webserver.

Install the PmiSingleServerBean. 25 .ibm.0 WebSphere Application Server InfoCenter for the Advanced Edition at http://www. Go to the %WAS_HOME%\bin directory. see the Version 4. © Copyright Oracle. 8. All rights reserved. Enter this command: ra hostname 900 AES. Go to the %WAS_HOME%\bin directory.PeopleTools Performance Guidelines White Paper 9/10/2010 Using Resource Analyzer The Resource Analyzer is a new tool for the Advanced Single Server Edition of WebSphere Application Server. 5. For information on using the Resource Analyzer.com/software/webservers/appserv/infocenter. 6. 7. 2.\installableApps\PmiSingleServerBean. Restart the application server. Click Enter when prompted for the Default data source JNDI name and the JNDI name. Clicking Enter enable you to use of default values as required by the Resource Analyzer.ear -ejbdeploy false 4. To use the Resource Analyzer with the Advanced Single Server Edition of WebSphere: 1. Start the Resource Analyzer.ear file (available under the %WAS_HOME%\installableApps directory). Enter this command: seappinstall-install . 3..html.

Here is the configuration recipe to verify if Internet Explorer is configured to use the HTTP 1. 2. it will then compress the data and transmit it. Under HTTP 1.1-compliant web browsers request compressed files. the Web Server cannot send any compressed HTML files to the browser (despite that the configuration. therefore. If using IE 6 or higher. select Tools menu -> Internet Options. Here are the Internet objects that most likely remain unchanged during an online session:     Graphics objects Style Sheets Java Scripts Some HTML pages (such as the PeopleSoft Internet Architecture login page) The following web browser settings are the recommended configurations. verify that Use HTTP 1. such as dialup connections or 56K lines. 3. These configurations are usually the default settings of the respective browsers.Web Browser Configuration Take advantage of the browser’s caching ability to reduce unnecessary checking and downloading of the same Internet objects within the online transaction session. This performance feature was added for the web browsers that are using the slower bandwidth medium. Microsoft Internet Explorer Here is the configuration recipe: Internet Option->Temporary Internet Files-> Settings. Currently the following browsers are HTTP 1.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 4 . The browser decompresses the data and then renders the page. Select the Advanced tab. Verify these configurations to ensure correctness.1 protocol: 1." Essentially.1 standard known as "content-encoding.1 compliant request and receive the files uncompressed.1 is selected. Web browsers that are not HTTP 1. All rights reserved.) Most new browsers since 1998 and 1999 have been equipped to support the HTTP 1. and if the server is capable.1 settings.1 compliant:  Internet Explorer version 6 onwoards © Copyright Oracle. 26 .properties file has the Compress Response switch turned on. this means that the browser indicates to the server that it can accept content encoding.1 Compliant Web Browser Only HTTP 1. Automatically Netscape Browser Here is the configuration recipe: Edit->Preferences->Advanced->Cache->Once per session HTTP 1.

7 Netscape 7. 27 .4 and Safari are also faster than IE7. © Copyright Oracle. 8. we have found that IE8 is faster than IE7.1 Safari 2. All rights reserved.5 onwards Mozilla 1.PeopleTools Performance Guidelines White Paper 9/10/2010     Firefox 1. IE8 processes Ajax requests faster and can download images and JavaScript files much faster than IE7.50.2.0. Firefox 3. Browser comparison Through informal testing using PeopleTools 8.4 Confirm That the Required Browser Version Is Installed Confirm that the required browser version to be installed is specific to your PeopleTools release and operating system from the certifications section of My Oracle Support.

select the web profile that you are using. Gzip and Compress are supported.text/html.44 on. you can enable compression between web server and browser by selecting the Compress Response check box via PeopleSoft Internet Architecture. Go to PeopleTools->Web Profile->Web Profile Configuration. In particular. The check box is selected by default. However. you should turn off these settings.text/javascript. select the Web Profile that you are using.44 and later. the PeopleSoft Internet Architecture menu may disappear when a user opens a PeopleSoft Internet Architecture page. All rights reserved. If Cache Portal Objects is selected. CACHING Caching improves system performance by reducing service requests from the web server to the application server. Note: Some query entries are truncated when IE tries to open queries in Mircosoft Excel. this check box should be selected. the portal servlet (psp) will cache the following objects in web server memory:     Portal Registry Node (Remote and Local) Content Reference Template (Static only) If Cache Portal Objects is selected. 28 . the compression settings would cause an error for certain updates of Internet Explorer 6. Note that this is applicable only when Compress Response References is set to true. A workaround (for PeopleTools 8. Note: For PeopleTools 8.42 and later. object changes won't take effect until the objects become stale and are refreshed (see Cache Stale Interval setting below) or you restart the web server. However. This problem does not occur in PeopleTools 8. and then select the Caching tab. Gzip and Compress are supported.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 5 .41 and earlier. that is a rare scenario.text/css. cache settings are configured via PeopleSoft Internet Architecture. If the Compress Response References check box is selected. Note: The main purpose of compression is to reduce the amount of data to be transmitted. The Compress Mime Types text field specifies a comma-delimited list of the MIME-type objects that should be sent in compressed form to the browser. in general.Additional Configurations BROWSER COMPRESSION From PeopleTools 8. Therefore. Gzip and Compress are supported. which turns off JUST queries. compression comes at a price: extra CPU processing time. In cases where high-speed links are used and the gain in transmission time does not justify the loss in CPU processing time. Go to PeopleTools->Web Profile->Web Profile Configuration. compression of additional resource files from web server to the browser is enabled. and clear the Compress Response check box to turn off compression. The check box is selected by default © Copyright Oracle.43 and later) is to turn off query compression by clearing the Compress Query check box. Here is the default: application/x-javascript. turn off compression. therefore. The check box is cleared by default because there were some versions of Internet Explorer with certain settings that didn't like javascript and css in compressed format.0. Only files that have their mime types specified in the Compress Mime Types field are compressed. For PeopleTools 8.

We recommend that you set the METAXP to a high value. Setting this value to -1 disables hitcount purging.PeopleTools Performance Guidelines White Paper 9/10/2010 The Cache Stale Interval is the amount of time. The Cache Target Content check box should be selected to allow caching of target content. The following table lists the default values of the parameters in PeopleSoft Internet Architecture: Cache-Related Properties and Default Values Cache Homepage=selected Homepage Stale Interval=1200 Homepage Stale Interval is measured in seconds. before portal cache is considered stale and updated with the latest copy from the application server. Verify that your choice of browser is enabled for caching. This setting applies to the same objects as Cache Portal Objects. The portal automatically throws away all cache entries in memory after the number of requests specified in Cache Purge All Hit Count. overwriting the homepage cached on the browser. Clearing this check box disables all target content caching in the portal servlet. Note: The Browsers section specifies which web browser that you can use with homepage caching. The TargetContent tag should look like this: <TargetContent Name="TransactionContent"><Cache Scope="application" Interval="1200" >dummy</Cache></TargetContent> You can cache pagelets using the same mechanism. If your menu pages are not going to change frequently. set METAXP to 10080 (one week) or more. if a user clicks the browser's Refresh button. the homepage is accessed from the web server again. All rights reserved. Target content is cached in memory when the TargetContent tag in the template specifies that the target should be cached. even if the target tag specifies cached content. Caching the homepage is beneficial in either a production or development environment. and also adjust the specific time interval that must pass before the web server is accessed again to get a "fresh" homepage. The check box is selected by default. © Copyright Oracle. This means that the browser does not access the web server after the homepage is initially retrieved. The Portal Administrator can set system-wide options for navigation cache by using the Define Personalizations page and modifying the value for METAXP. 29 . This check box is selected by default. this is the amount of time before changes to cached objects take effect. The default setting is 1000. Here is the default setting: 86200 (24 hours). The portal caches proxied javascripts to improve performance if the Cache Proxied JavaScripts check box is selected. Only static content should appear in a template with a cached target tag. in seconds. This setting applies for all websites on this web server. You can turn this feature on or off. navigation pages can be cached on each user's browser. Homepages can also be cached on each user's browser. In other words. In any case. Caching on each browser improves user response time in traversing between cached menu pages. NAVIGATION PAGES CACHING As with homepages. We recommend that you turn on homepage cache. Doing so will keep the menu pages inside the browser cache.

Then number of new connections available is reduced. © Copyright Oracle. However. Use the default or change the value to 2 for slower networks. Users can override the METAXP value on their individual browser sessions. and create a REG_DWORD named TcpTimedWaitDelay under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TcpIp\Parameters. Select the Format tab and then select Set Option Default Value in the METAXP row. run the following command: /usr/sbin/no –a | grep tcp_timewait To set the TCP_TIMEWAIT values to 15 seconds. Note that a change to METAXP is picked up by the application server immediately. go to My Personalizations. KeepAlive is the default for Oracle Application Server. WebLogic. Key in the appropriate value and click OK. After logging on. the socket can be recycled more efficiently.Personalization Options. When the KeepAlive timing is set too long. Change the METAXP value by entering a new value for Time page held in cache and then click OK. Then click save when being brought back to the previous screen. and WebSphere.4x turn on KeepAlive. keeping the socket connection persistent occupies a socket pair between the browser and web server. Do not use navigation caching during development time because any newly added menus will not be reflected in the cache. which is too long for PeopleSoft Internet Architecture usage and tends to leave too many socket connections staying in the TIME_WAIT state. run the following command: /usr/sbin/no –o tcp_timewait =1 The tcp_timewait option is used to configure how long connections are kept in the timewait state. Set the value to 60 secs (seconds). By shortening the TCP Wait Time. We generally advise that those with PeopleTools 8. you must delete browser cache for the new METAXP to take effect. All rights reserved. HTTP KEEPALIVE HTTP KeepAlive is intended to maintain a persistent socket connection between the web browser and the web server so that no new connections are required when the HTML pages refer to other HTML objects. For Windows NT Use the registry editor. REDUCING TCP WAIT TIME The default TCP Wait Time for both NT and most UNIX operating systems is 4 minutes. Enter PPTL (PeopleTools) as the Option Category level value. the following problems occur:   The web server must manage many idle connections. For AIX To see the current TCP_TIMEWAIT value. however. because the users’ browsers already have cache control set by the previous value of METAXP. and the default is 1.PeopleTools Performance Guidelines White Paper 9/10/2010 Go to PeopleTools-> Personalization->. It is given in 15-second intervals. then click the Personalize Option button for General Options. regedit. Use navigation cache only in production systems. 30 .

AIX THREAD MODEL IBM has recommended the following environment variables setup to improve the Threading model with PeopleSoft Internet Architecture. and web server user: For Korn Shell user. For HP/UX 11 or Solaris 2. The no command operates only on the currently running kernel.profile: export export export export export export AIXTHREAD_SCOPE=S AIXTHREAD_MNRATIO=1:1 AIXTHREAD_COND_DEBUG=OFF AIXTHREAD_GUARDPAGES=4 AIXTHREAD_MUTEX_DEBUG=OFF AIXTHREAD_RWLOCK_DEBUG=OFF For C Shell user. the minimum recommended value.8 and Later As root user. database user. You must put this command in one of the rc2. you can place the ndd settings inside the /etc/rc. which performs no range checks and instead accepts all values for the variables. For Solaris Prior to 2. For HP/UX 11.cshrc file: set set set set set set AIXTHREAD_SCOPE = S AIXTHREAD_MNRATIO = 1:1 AIXTHREAD_COND_DEBUG = OFF AIXTHREAD_GUARDPAGES = 4 AIXTHREAD_MUTEX_DEBUG = OFF AIXTHREAD_RWLOCK_DEBUG = OFF TIMEOUT SETTINGS There are in general three types of timeouts: © Copyright Oracle. Set up the following environment variables for the PeopleSoft Application Server user. If used incorrectly. 31 .8 Use the parameter name tcp_close_wait_interval instead of tcp_time_wait_interval. place the following lines in the . place the following lines in the .d/nddconf file without the need of the startup scripts.config. execute the following command: ndd -set /dev/tcp tcp_time_wait_interval 60000 where 60000 is for 60 secs.d scripts to get it to set automatically at boot time.PeopleTools Performance Guidelines White Paper 9/10/2010 Note: Be careful when you use no command. the no command can cause your system to become inoperable. The command must be run again after each startup or after the network has been configured. All rights reserved.

If you increase your application server service timeouts. 9/10/2010 Timeout during a PeopleSoft Internet Architecture transaction (intratransactional): When the timeout expires. According to the PIA Answer Book: Service Timeout Specifies the number of seconds a PSAPPSRV waits for a service request.CFG configuration file on the application server. You must relogin to re-establish the state. the end-to-end timeout value should always be greater than that of its intermediate legs.‖ In other words. tcp_timewait). the transaction fails and must be resubmitted. For WebLogic 6.cfg) Type=intratransaction. which includes the time it takes at the DB server. that a client connection can remain idle (no work requested) before Tuxedo terminates a client connection. and the resources associated with the user are freed. tuexdo_receive_timeout = x sec (default 600) (in pstools.  Servlet: sessionTimeout = x sec (default 1200) (in configuration. Note that for the intratransactional timeouts. before timing out. users must only click the mouse. PSSAPSRV terminates itself and Tuxedo automatically restarts this process. 2. the user has been idling for too long. and it has to be bigger than appserver service timeout. Service Timeouts are recorded in the TUXLOG and APPSRV.properties) The receive timeout is also intratransactional. In the event of a timeout. See description (default is 60. 32 . the meta refresh tag should be less than or equal to <session-timeout> as discussed in the following section. Timeout between PeopleSoft Internet Architecture transaction (intertransactional): When the timeout expires. To reconnect.PeopleTools Performance Guidelines White Paper 1. (for example.  Webserver session timeout: <session-config><session-timeout>x</session-timeout></session-config> (in <webserver home dir>/<peoplesoft web domain>/PORTAL/WEB-INF/web.1. such as the Service Timeout setting for PSAPPSRV. in minutes.  JOLT: Client Cleanup Timeout = x min (default 60) (in psappsrv. The receive timeout indicates the maximum number of seconds that the servlet waits for a response from the application server. In other words. The meta refresh tag is in seconds and should be less than or equal to the session. their values should be ―staged. such as MgrGetObj or PprLoad to complete.timeout for the servlet. then increase the tuxedo_receive_timeout parameter to be greater than the Service Timeout values that appear in the PSAPPSRV. With this in mind.properties) This is intertransactional. All rights reserved. as one has to relogin when the servlet expires (technically this is a security setting). let’s review our timeout values. Timeout that "reserves" a resource until the expiration time before putting it back into the pool for recycling. from bottom up:  Appserver: Service Timeout = x sec (default 300) (in psappsrv.LOG.  PeopleSoft Internet Architecture: tuxedo_send_timeout = w sec (default 50) . it has to be large enough to accommodate the longest acceptable requests and queries. but in most cases this can be reduced to 10 to conserve resources): Client Cleanup Timeout: Specifies the amount of time.cfg) This is intertransactional. It is recommended to set x=1200 (20 minutes). 3. Client disconnects are transparent to a client.xml) © Copyright Oracle.

serves as both intertransactional and intratransactional in different scenarios.conf) HTTP timeout. Increase the values in pstools. The amount of time between receipt of TCP packets on a POST or PUT request. The amount of time between acknowledgements on transmissions of TCP packets in responses. In configuration. unfortunately. Setting it to be the same as (or a bit higher than) the JOLT cleanup timeout is generally a good idea. Note that setting this value too high ties up web server resources.properties if long queries are common: Set tuxedo_receive_timeout to 1500. 3. 3.  HTTP timeout: Apache: Timeout = x sec (in httpd. Solution: 1. All rights reserved. especially when users close their browsers instead of logging out. Increase values in configuration. Increase the timeout values in servlet session timeout and webserver session timeout. 2. A common problem: Sometimes in PeopleSoft Internet Architecture.properties: sessionTimeout = 3600 sec In web. Set "meta-tag" session timeout to 3600 (which enables users to use the page for 60 minutes with no time out errors).PeopleTools Performance Guidelines White Paper 9/10/2010 This is intertransactional and specifies the number of minutes (WebLogic) to wait before invalidating an unused session.xml: <session-config> <session-timeout>60</session-timeout> </session-config> 2. © Copyright Oracle. The total amount of time it takes to receive an HTTP GET request. so it may or may not be higher than the rest of the timeouts. This directive defines the amount of time Apache will wait on three occasions: 1. time out error occurs on PeopleSoft pages even when people are using the page. 33 .properties in Apache Group->Apache\htdocs\PeopleSoft.

You might even look at deferring message consumption (running the business logic) until certain times of the day or night when additional system resources may be available. the application may not be able to consume the messages at the same rate that the messages are queued by the messaging system (given a particular hardware configuration). Integration Broker has come up with an alternative to this current chunking mechanism using message segments. must you receive them as fast as other systems are sending them). These segments should be complete stand-alone data structures. Note that the processing time to determine the routings is much faster then actually processing a PeopleCode event. then you may have to look at what is happening in the notification event and optimize that. or overridden by PeopleCode. or running out of memory. This type of loading continues until the message is completely loaded with all the desired data. After one segment is populated based on a configuration parm. The actual data is sent chunked by segments to the gateway and received by the target system. or does the message data from x messages absolutely have to be run through the business logic within that minute slice of time? If the messages must be queued (that is. If the data from x messages absolutely has to be run through the business logic in that one minute slice of time. The next segment is then available for processing. then you should explore additional configuration options for optimization. Is the requirement the ability to have the messages queued at x number per minute (with the data from x messages being processed in more than that minute). a notification process) per slice of time. OPTIMIZE MESSAGE QUEUE VERSUS MESSAGE CONSUMPTION There is a difference between the messaging system being able to receive a given number of messages per slice of time and being able to process the message data (that is. This handler also executes the OnRoute PeopleCode events (OnRouteSend or OnRouteReceive) and Inbound Transformations. But if the notification process involves a lot of business logic or actions that take up a lot of server resources. you can reduce the number of this handler without impacting performance. If physical resources are a problem. that segment is serialized to XML and inserted into the IB database queue compressed. if a non-PeopleSoft system needs to send messages at a rate of x number per minute. The message can be sent either as one message (ordered segments) or multiple messages (unordered segments).PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 6 . You should determine what the real requirement is for slice of time throughput. The number of OnRoute and Transform events is typically low compared to the overall number of different messages. Message segments enable a single message to load with all the data segmented by any chunkable size desired. USE OF MESSAGE SEGMENTS FOR ORACLE DELIVERED FULL SYNC SERVICE OPERATIONS Messages (service operations) should be designed to take full advantage of as much queue partitioning as possible. These particular service operations do not take advantage of partitioning due to the way that they currently have to chunk the content data and process the notifications. The message object is responsible for this memory management. Message segments provide a way to process and send large amounts of data (Gbytes) without impacting performance due to PeopleCode processing. All rights reserved. The consumption of a segmented message in PeopleCode is straightforward. One segment at a time is © Copyright Oracle. the PeopleSoft messaging system can receive and queue them at this rate.Integration Broker CONFIGURE PSBRKHND MESSAGE BROKER HANDLER The primary purpose of this handler is to determine the appropriate routings based on the Tuxedo request received and update the appropriate database tables (queues) accordingly. 34 . For example. One area of concern is the Oracle-delivered full sync service operations.

TUNING PSADMIN PARAMETERS FOR ASYNCHRONOUS MESSAGING Many configurable parameters in PSADMIN have significant impact on performance of asynchronous-based messaging. the Tuxedo queue size is a registry parameter. Note that for AIX. 35 . The current default is set to 1000. However. The actual list is the number of associated handlers multiplied by this value.PeopleTools Performance Guidelines White Paper 9/10/2010 decompressed and serialized into a rowset. For example. Refer to IB PeopleBooks for Message PeopleCode APIs with respect to message segments. The answer to this question depends on many factors. the recycle count is set to 0. the benefits of throttling are not realized. the Tuxedo queue size is dynamic. you should use an arbitrary value. as these queues can then be part of a dedicated messaging server. which was obtained after many performance tests. This value is used for Tuxedo queue threshold determination by the pub/sub dispatchers. This value was obtained by many performance tests. however. Therefore. if the Pub/Sub servers are stand-alone. you should not have to cycle the dispatcher. it will affect performance because initialization will be performed which includes rebuilding all the inmemory queues for each active queue assigned to that dispatcher. it is a kernel parameter. the current default value of 1000 is set at such a high level that it does not impact performance and is recommended based on performance tests. if a recycle count is used. You should not have to change this value because it scales well. For NT. based on this parameter. the rowset is destroyed. From 8. which is fine if Pub/Sub is running in the same domain as the PeopleSoft Internet Architecture appservers. All rights reserved. Tuxedo Queue Size: The actual Tuxedo message queue size. This value should be 1 or 2 MB instead of using the default of 64 KB. as this is the only mechanism to initially poll the database queue for work. The queues should not get corrupted. This process repeats for the number of segments in the message. You should not have to change this value because it scales well. Therefore it’s important that this value accurately reflects the actual size. therefore. there is a point where the queue can get full and any additional requests get disregarded. Memory Queue Refresh Rate: This is the number of actual dispatches that the dispatcher will automatically rebuild in its inmemory queue for a particular queue. DISPATCHER Parameters Recycle Count: The dispatcher automatically recycles itself when this value is reached. This count is based on the number of Tuxedo requests. Dispatch List Multiplier: This is a parameter used to throttle the number of requests sent to its associated handlers. the dispatcher reads the number of queued requests and determines. After the data is inserted into the database. if there are 20 unrelated messages in a queue. ideally you should put related messages in one queue and partition accordingly. For Unix systems. The current value is set to 15. As Tuxedo requests get queued. However. The dispatcher would have to traverse all 20 queues to process those 20 messages. For high volume transaction messages. which would compromise performance due to more dispatch cycles and database reads and writes. Otherwise. and the next segment is then loaded. Scan Interval: This is the interval that the dispatcher runs its on-idle processing. You should not have to change this value because it scales well. the dispatcher will try to process the 20 messages in the queue assuming these messages are partitioned. In general. © Copyright Oracle. If you create a queue for each message. OPTIMIZE ONE MESSAGE VERSUS MULTIPLE MESSAGES PER QUEUE Another design-time consideration when creating queues is whether to have one message per queue or many messages in one queue.43. if any or all requests should be sent out for this cycle. freeing up memory. there would be 20 queues. create a queue for each message. The current default is set to 10. this value should be set to 1. This section discusses each of these parameters in detail and its impact on performance. By default. Dispatcher Queue Max Queue Size: This value is the maximum number of items (messages) per queue that the dispatcher retains in memory.

set the recycle count to 0 and create an automated script that will stagger the recycling of the handlers by using Tuxedo command line arguments to specify the specific handler. Note that with performance benchmark testing in this area. This value is in hours. This leads to the Tuxedo queue overflowing and potentially losing requests. Here is the algorithm used to determine the interval: Attempts * Ping Rate * Scan Interval) Maximum Ping Interval: This value is the maximum time between subsequent pings for a node that is in the PSNODESDOWN table. the system sets the status of the message to START. However. all associated handlers recycle at approximately the same time. However. When the dispatcher dispatches a request. A good guideline is to use the number of incoming requests per second divided by the number of associated handlers. 36 . The recycle count by default is 20000. multiplied by the average processing time per second. When there are a lot of nodes that are down due to improper configuration of routings on Service Operations. when the message system is under configured (that is. Part of the on-idle processing performs these ping requests. This value should be set to a low value—5 or lower—to limit the amount of handler crashes for one specific bad message. there are not enough handlers to process all the requests). if the PeopleCode being run causes a crash of the process. This is something to consider if memory resources are scarce. This value can potentially have a big impact on overall performance of the messaging system. This value allows for a longer time between subsequent pings. then under load. you do not want to set this value too high. with a thread count set to 5. however. Use this formula: ((Incoming requests per second)/ (# of associated handlers)) * (average processing time per request) PSPUBDSP only Ping Rate: This parameter—along with the scan interval—determines how often a node that is in the PSNODESDOWN table should be pinged to see if it is in a valid state to send a request to. The dispatcher again sends the request after the restart period has elapsed. and the next available handler will attempt to process this request and set the status to WORK. many CPU cycles are spent performing these pings. Therefore. you should have a high recycle count and monitor it to determine if it grows to an undesirable size. the system has to wait for the process (the handler) to boot up and initialize before it can be used.PeopleTools Performance Guidelines White Paper 9/10/2010 Restart Period: This is the time that the dispatcher attempts to redispatch messages that are still in the START status. This potentially leads to a lot of redundant requests that the available handlers must cycle through. Recycle Count: Because the handlers run IB Events that contain PeopleCode. The problem with a recycle count on a handler is that with proper load balancing from Tuxedo. The Tuxedo request is queued. it will attempt to process it again. one handler was able to replace three nonthreaded handlers. request that must be picked up when the restart period is reached. you can set this value higher or lower. Therefore. HANDLER Parameters Min Instances and Max Instances: These values should always be the same. If the Min Instance is not the same as the Max Instance. PSPUBHND only Thread Pool Size: This value represents the number of concurrent threads that the handler can spawn for HTTP requests. Max Retries: This value represents the number of times that the handler will attempt to process a message before the status is set to TIMEOUT. TUNING PSADMIN PARAMETERS FOR SYNCHRONOUS MESSAGING © Copyright Oracle. the request stays queued. All rights reserved. depending on the PeopleCode being run. avoiding allocations during max load. as messages would not be restarted in case of a handler crash. It is better to boot all at one time. memory leaks are likely. If this becomes a problem.

The advantage of having the application server processes on the pub/sub machine is that if the server has only pub and sub services defined. adjust the Scan Interval for each dispatcher in PSADMIN to 1. To access PeopleSoft Internet Architecture for configuring messaging. to configure multiple dedicated servers on different domains (to spread across different machines). The default is set to 5 based on performance benchmarks. Separate pub/sub domains work only for Asynch messaging. Dedicated messaging servers are assigned a certain number of queue names that result in its queue list. and then puts them in the Tuxedo in-memory queue to be processed. The gateway should ―point‖ to this application server domain for message processing. It will continue to read the DB queue and make the Tuxedo calls even before the first set of calls have come back. less the queues defined for the same type dedicated server process. In general. There are few scenarios in which having multiple domains on one box will result in performance advantages. Min Message Size For Compression: Size of message content data that will cause the Integration Broker to compress the data prior to posting to the Integration Gateway. Third-parties should always use compression if possible. This section discusses each of these parameters in detail and its impact on performance. as these will consume additional resources. Doing so helps prevent messaging traffic from being affected by the number of online users. you get event-driven notification of work to be done without the latency of polling. This list must be unique across messaging servers pointing at the same database. The second dispatcher may not be able to read from the DB queue because the first dispatcher locks certain rows while processing. Synch messaging runs as a service in the online app server. add only the server type needed for the queue. The roll of the subscription dispatcher is to take messages from the database queue and create Tuxedo calls to get them processed. create only a subscription contract server. reference the Integration Broker PeopleBooks. These domains should have application server processes (PSAPPSRV) configured in addition to pub/sub servers. In addition. CONFIGURE DEDICATED MESSAGE SERVERS FOR HIGH VOLUME ASYNCHRONOUS MESSAGING It is best to run pub/sub (asynchronous) messaging activity on dedicated servers when processing a high message volume. The dispatcher is where the partitioning logic is applied. 37 . there will be database contention and the overall performance will be significantly impacted. as this will be the fastest initial poll rate from the database queue. you can configure one or more domains. The second dispatcher can also © Copyright Oracle. The default messaging server defined by _dflt at the end of each dispatcher process creates its own queue list based on all queues in the database. With the (additional) application servers configured on the same machine as the pub and sub services.PeopleTools Performance Guidelines White Paper 9/10/2010 These are the configurable PSADMIN parameters for synchronous messaging that can affect performance. otherwise. and vice versa. When running pub/dub on a dedicated box. The dispatcher locks the rows in the DB message queue until the Tuxedo calls come back with either success or failure. Thread Pool Size: This value represents the number of concurrent threads that one PSAPPSRV process can spawn for HTTP requests. All rights reserved. The dispatcher doesn’t wait for the return of the first set of calls before moving on. figures out how many messages can be processed next (based on partitioning). PeopleSoft Internet Architecture should not be accessed on the dedicated machine. For information on how to configure dedicated servers. it must poll the database queue to determine if there is work to be done. Sync messages should be as small as possible to improve response time. remove all queues no longer in use. CONFIGURE DEDICATED MULTIPLE DOMAINS FOR HIGH-VOLUME ASYNCHRONOUS MESSAGING Pub/sub domains for high-volume messaging should usually run on a box other than that used for online users. use the PeopleSoft Internet Architecture install on the other online application servers. The reason is that each domain has a publish dispatcher and a subscription dispatcher. Within a dedicated pub/dub machine. ensure that the queue lists are indeed unique for the different dispatcher types. The dispatcher looks at the queue. This means that if you have long running notifications. Therefore. Moreover.

pack as much of the work into as few of calls as possible. so transforms and OnRequest PeopleCode should to be light. Notification PeopleCode should be as light as possible. or publish the message as late in the transaction as possible. You should use and reference the message that’s passed into the method whenever possible in PeopleCode. then add handlers rather than a new domain. Partitioning is not an issue with sync messaging. Database Layout: Plan database layout by splitting PeopleTool tables from application tables for better throughput. and the transaction takes a long time to complete. CIs should not be used for full sync processes. Minimizing calls reduces the amount of PeopleCode message overhead to instantiate request/response messages. Use CIs only if the base components are light and have quick response times. and use compression. Third-party clients should use compression. third-party messaging can take advantage of compression. If EIPs are using temp tables. 3. Empty databases do not have database statistics. After temp table population. By adding a simple relay servlet. GetMessage is a relatively heavy call. if you have a certain amount of work to be done on a remote system. create the database statistics for these tables. set the HTTP target connector property ―sendUncompressed‖ to N. Archiving: Enable the archive option on the Queue page for queues designated for EIPs. All rights reserved. commits should be frequent to minimize contention. The heavier the base component. This will cause the message data to be archived into other IB PeopleTool tables. 2. Sync messaging should © Copyright Oracle. blocking other messages in the same queue. XSLT transforms will be much faster than PeopleCode transforms. 38 . To reduce delays due to posting/queuing. APPLICATION GUIDELINES FOR ASYNCH MESSAGING You should partition messages as much as possible. Message compression is automatic for PeopleSoft-to-PeopleSoft transactions. If you are trying to configure for failover. The Full Sync EIPs are one-time in nature and hence do not need to be archived. the slower the CI. Deactivate all message queues that are not being used. if possible (we do this by default between PSFT applications). In general. If the component is light. a lock will be maintained on the queue sequence ID table. When publishing from PeopleCode. Application Guidelines for Sync Messaging Response time tends to be important in synchronous requests. Database Tuning: Create database statistics in a test environment from test runs and export them before production runs. it is possible to have a fast CI. use the enqueue option as much as possible. For third-party applications. sync messages should be small to improve response time. They may be used in incremental sync processes where volumes are not expected to be high. For example. Areas to review when using the Full Sync EIPs: 1. This will reduce locking and improve performance. Additional Tips:     Enable archiving for Full Sync EIPs or any process where archiving is not required. Note that CI performance is dependent on the underlying component. In general. Keep the number of sync requests from a client to a minimum or use synchronous threading. make sure the indexes are available for reads. After Full Sync is run. Full Sync EIPs are used for initial database creation. use large messages (multi-transaction) for full sync processes. Keep commits at the transaction level and not at the message level. Third-party clients should post to PeopleSoft in parallel. If you are going to consume resources. Transform code (either PeopleCode or XSLT) should be as light as possible. the DBA should update the database statistics for the new (grossly changed) table sizes. If you publish a message early in a transaction. For multitransaction messages. 4.PeopleTools Performance Guidelines White Paper 9/10/2010 add complications in debugging. configure using IB failover. Adding another domain takes up systems resources. Compression can reduce response time by 20 to 80 percent based on message size.

These patches fix an important thread leak issue associated with using this feature. To reduce the maximum app message size. setting the thread count equal to the number of psappsrv. you can distribute PSPUBHND via a Master/Slave configuration if the number of threads is limited by the source domain hardware. 39 .PeopleTools Performance Guidelines White Paper 9/10/2010 typically be used for remote queries.48 AND LATER) During on-idle processing. If the dispatcher is constantly busy.46 AND LATER) Synchronous Messaging: PeopleTools 8. the Asynch system will retry. go to PeopleTools->Utilities>Administration Options-> PeopleTools Options and change the Maximum App Message Size field. that machine may not keep up with the slave. If you need to send data to multiple systems at the same time. Asynchronous Messaging: As with synchronous messaging. not for remote inserts/updates/deletes.exe processes in the target domain for the messages can improve message handling response times by as much as 80 percent over a single threaded implementation. (Publishes will be rolled back). when running FULLSYNC message from a HCM instance to setup Enterprise Portal Resource Finder. Also. the SyncRequest will fail. SyncRequests do not share a transaction context with the requesting system. the on-idle processing may not get run for extended periods of time. All rights reserved. MULTITHREADED INTEGRATION BROKER (PEOPLETOOLS 8. If synch messaging is used for inserts/updates/deletes. For example. and the client transaction rolls back. Note: Make sure that you apply PeopleTools 8. The requesting application should be prepared to deal with this by using exception logic. The Asynch system is much more efficient at fanning out information to multiple target systems. which could help avoid queues not getting processed due to the previously mentioned reasons.cfg is called Load Balance Interval. If the remote system is down. Note: If needed. a component should not depend on the successful completion of a SyncRequest. In general. Setting this parameter (measured in minutes) forces the dispatcher to perform on-idle processing at fixed intervals. MASTER/SLAVE When setting up a master/slave configuration using machines with different CPU processing power. the SyncRequest will not be rolled back. If you use the slower machine as master. use threaded sync requests or possibly Asynch messaging. If a SyncRequest has been completed.SyncRequest() and enables users to configure the number of message handling threads. CONFIGURE LOAD BALANCE INTERVAL (PEOPLETOOLS 8.06 or later if you are not on PeopleTools 8. As a result. the slaves would sit idle and throughput would not be maximized.48. we recommend setting the number of threads for PSPUBHND equal to the number of psappsrv processes in the target domain. We suggest manually setting the value back to the default after the FULLSYNC messages are complete because this setting affects all message types.47. use the more powerful machine as the master. REDUCING MAXIMUM APP MESSAGE SIZE Some operations may benefit from smaller message size. In PeopleTools 8. a new configuration parameter in psappsrv. the Integration Broker dispatcher will ping nodes that are down (Publication Dispatcher only) and also synchronize its in-memory queue with the database queue table. © Copyright Oracle. reducing the maximum app message size from default of 10MB to 25K enables the process to run significantly faster. or should use the Asynch system.48 and later.46 provides a multithreaded version of IntBroker. resulting in failed messages not getting retried or new messages not getting processed. If the remote system is down.12 or later and PeopleTools 8.46.

the problem disappeared. which is invoked periodically based on the value of the Scan Interval. application server.2253 [10/24/00 13:46:25 SubConProcess](1) (NET.333): The service PSSUBHND_dflt could not be sent because of a blocking condition within Tuxedo on the client.1784 [10/24/00 13:46:22](1) (NET. Second Error: >PSSUBHND_dflt. All rights reserved.PeopleTools Performance Guidelines White Paper 9/10/2010 SCAN TIME SETTING FOR APP MESSAGING An Oracle database user who has database logging turned on may see a large volume of archive log created.333): The service PSSUBHND_dflt could not be sent because of a blocking condition within Tuxedo on the client. The Archive Log (or Redo log) is a side effect created by the Application Messaging Dispatchers’ select statement. Application Messaging has been enhanced to minimize the side effect on Oracle logging.346): Failed to execute SubConProcess request PSSUBHND_dflt. The PSSUBHND instances were too busy erring out to handle even one subscription.333): The service PSSUBHND_dflt could not be sent because of a blocking condition within Tuxedo on the client. you can avoid this problem. INTERNAL. 40 . © Copyright Oracle. and process scheduler (not the DB) and restart them in the correct order. As long as you follow the correct shut down procedures.2253 [10/24/00 13:46:25](2) Service SubConProcess failed Resolution: This problem was appearing when the nightly backup inadvertently shut down the database while the appserver was running. When we tested shutting down everything in the correct order. COMMIT. PSSUBDSP_dflt. PUBSUB ERROR AND APP SERVER LOG FILE GROWING Problem: These PSSUBDSP_dflt errors were occurring upon starting the App server.1784 [10/24/00 13:46:22](1) (NET. this problem does occur. no access to the PS system was possible in three-tier mode.1784 [10/24/00 13:46:22](1) (NET. however. PSSUBDSP_dflt. Two-tier mode invoked no errors. If. PSSUBDSP_dflt. The contents of the Oracle Archive log contained the following: SET TRANSACTION READ WRITE. There are hundreds of entries like this. shut down the web server. While these errors occurred.

shmmni = 4096 kernel. FOR SOLARIS MSGMAP=2048 © Copyright Oracle. do not lower TCP_WAIT below 60 seconds on any system. which is loaded when the system boots. # except for shmall which is varies depending on physical memory kernel. <h4 These settings can be found in the /etc/sysctl.Operating System Settings For a large environment with many domains. In the Linux kernel. The correct settings also vary depending on factors such as available physical memory. and close more than 3000 sockets per second to see a problem. For reliable TCP behavior. the number of sockets that can be in a TCP_WAIT state is limited. The sysctl name is net. so information presented in this section may be incomplete. FOR LINUX The default settings and available tuning options vary from one Linux kernel version to the next.conf file.ip_local_port_range = 10000 65000 # allow more/larger IPC message queues kernel.sem = 250 256000 64 1024 After you change the sysctl. TCP_WAIT Unlike other systems. the parameter is hard coded at 60 seconds and requires a recompile to change.ipv4.msgmax = 1048576 kernel.msgmni = 512 kernel. Kernel parameters of this size will provide a good deal of resources and are not uncommon in our customer environments.msgmnb = 1048576 # set IPC shared memory blocks. you must establish.file-max = 65536 # use wider range for local ports. you can load the updated values from that file into your running system with sysctl -p.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 7 .shmmax = 33554432 kernel. and PeopleTools component configuration. number of processors. # raise max open fd limits fs.tcp_max_tw_buckets and the default value is 180000. # setup all Tools components to use port numbers between 1024 and 10000 net. If you use this default. To prevent DOS attacks. use the following kernel parameters.conf file.shmall = 1073741824 # adjust IPC semaphore settings kernel. # these are system defaults. TCP_WAIT is not an adjustable parameter. 41 . All rights reserved. process.ipv4.

All rights reserved.PeopleTools Performance Guidelines White Paper MSGMAX=65536 MSGMNB=65536 MSGMNI=1024 MSGSEG=32767 MSGTQL=1024 SEMMAP=512 SEMMNI=512 SEMMNU=4096 SEMUME=10 SEMMNS=4096 SEMMSL=8 9/10/2010 FOR HP-UX dbc_max_pct=10 dbc_min_pct=8 default_disk_ir=1 fs_async=1 max_thread_proc=2048 maxfiles=2048 maxfiles_lim=4096 maxssiz=200802304 (191. 42 .5 MB) maxswapchunks=2048 maxuprc=512 maxusers=2000 msgmap=2048 msgmax=65535 msgmnb=65535 msgmni=1024 msgseg=32767 msgtql=2046 semmap=512 semmni=512 semmns=4096 semmnu=4096 FOR TRU64 ipc: msg_max msg_mnb msg_mni msg_map msg_tql shm_max shm_min shm_mni shm_seg sem_mni sem_mnu sem_mns sem_msl sem_opm sem_ume sem_vmx sem_aem = = = = = = = = = = = = = = = = = 262144 262144 16384 20000 4096 4294967295 1 300 100 4096 1048 819200 1000 400 1048 32767 16384 © Copyright Oracle.

otherwise. swapping will occur. © Copyright Oracle. 43 . for example Oracle and the Tru64 Java Fast VM. However. All rights reserved. or three-quarters of the value of perproc-address-space) per_proc_address_size = 4294967296 (4096MB) This is needed if you must compile large numbers of Cobol programs. require that you properly set per_proc_data_size. Many applications. the per_proc_data_size should be less than the physical memory available on the system.PeopleTools Performance Guidelines White Paper 9/10/2010 ssm_threshold=8388608 num_of_sems = 1024 max_kernel_ports = 22487 inet: tcpnodelack = 0 tcbhashnum = 16 tcbhashsize = 8192 ipqmaxlen = 1024 ipqmaxlen = 2048 ipqs = 1 ipqs = 32 tcp_mssdflt = 1460 tcp_msl = 60 pmtu_enabled = 0 tcp_sendspace = 61440 tcp_recvspace = 61440 udp_ttl=60 vfs: bufcache = 1 fifo_do_adaptive = 0 socket: somaxconn = 65535 sominconn = 65535 proc: per_proc_data_size = 3221225472 (3072MB.

" Default is 3600 (1 hour).TXT) reaper_interval How often (in sec) to look for and delete expired events. ns_param permission_max_idle default_kn_expires "+10" (Recommended) How long (in sec) the permission can stay in cache if the tunnel is closed. which increases the time the PSTOKEN of the agent is expired at the RENSERVER. which caused a steady increase in RENSERVER memory. Default is 30000 (30 seconds). ns_param default_kn_expires reaper_interval 600 (Recommended) Default to use if an event is received without a kn_expires header. © Copyright Oracle. which caused a steady increase in RENSERVER memory.Call Telephony Interface (CTI) RENSERVER PARAMETERS (PSRENCONFIG. Default is 3600 (1 hour). interval_topic_reaper = 3000000 (Recommended) heartbeats_to_miss New parameter specifies the number of heartbeats to miss before the session is set for deletion. ns_param mtu_size 1500 (Recommended) PSMCAPI PARAMETERS (RENCLIENT. All rights reserved. 44 . Default is 60.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 8 . ns_param mtu_size permission_max_idle 300 (Recommended) New parameter to pad the network TCP packets with additional data to reduce latency in TCP ACK packets. Default is 2. Use "infinity" or something like "+3600" for 1 hour. which keeps the session alive for an extended period of time.PROPERTIES) interval_topic_reaper Topic reaper interval in milliseconds. must be at least "+5.

Increase to below recommended value to handle higher call rate (more than 10 cps). 45 . mtu_size=1300 (Recommended) PSMCAPI JAVA OPTIONS (STARTSERVER.PeopleTools Performance Guidelines White Paper 9/10/2010 heartbeats_to_miss = 10 mtu_size (Recommended) New parameter to pad the network TCP packets with additional data to reduce latency in TCP ACK packets. All rights reserved.BAT) Java Heap Size Options Default is –Xms256m –Xmx512m. -Xms512m -Xmx768m (Recommended) © Copyright Oracle.

To shutdown PSAESRV.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 9 . Because PSAE recycles after each use. when you configure the Process Scheduler. PSAE is equivalent to PSAESRV. PSAE does not have any possible memory leakage problem that may occupy the precious system memory. All rights reserved.PSAESRV Max Instances =0 Recycle Count=1000 Allowed Consec Service Failures=2 © Copyright Oracle. If you have an application engine job that runs longer than 10 seconds. Our studies have shown that PSAE is as good as PSAESRV for most practical purposes. 46 . In short. Values for config section . you can change the default of the PSAESRV instance to 0. PSAE is a cleaner workhorse.PSAE and PSAESRV The benefits of PSAESRV versus PSAE are a popular topic of discussion. cleaning up any outstanding SQL cursors to the database that may have been left behind. PSAE has the added advantage of being recycled at the end of each application engine job.

See the "Set Application Server JVM Options" section on how to do this. While PSQuery and rowset data are supported data sources. if there is a burst of report requests. You should set the Max Instance Count of PSANALYTICSRV to a value equal to or greater than the maximum number of concurrent reports that you must run. Use SQR or other mechanisms to generate the XML File as a preprocessing step. 47 . While submitting BOE reports through your Peoplesoft application.48 AND LATER) Consider the following tips when using XMLPublisher:    Increase JVM heap size to 512MB. be converted to XML File during the report processing. we recommend that you configure a dedicated application server domain and install the BOE server on a separate machine. Depending on the size of the document. QAS repository files. BOE will request data via the integration gateway and Query Access Services (QAS). In addition. and Report Repository files. For better performance. For more complex reports that require the RTF template. the PSANALYTICSRV processes spawned to handle the request will continue to consume memory if you set recycle count to greater than 0 (eventually the idle processes will shut down).PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 10 . © Copyright Oracle. set the Minutes Before an Idle Connection is closed setting to a lesser value (1 minute) to free up resources from inactive users more quickly. BUSINESS OBJECTS ENTERPRISE (PEOPLETOOLS 8.48 AND LATER) For customers who have a large reporting load and have converted the report format to Business Object Enterprise 11 (BOE). Use PDF for reports where the PDF template will suffice. take greater care when designing the RTF template and data source. if you are running large reports. PSANALYTICSRV recycles after each request. Reason: the XML File is the most optimal data source for an XMLP report. By default. QAS will make requests to PSANALYTICSRV to retrieve the actual data. when generating BOE reports.Reporting Tools XMLPUBLISHER (PEOPLETOOLS 8. Using SQR or other mechanisms is one optimization technique. the memory footprint of the PSANALYTICSRV may be high. configure these locations such that the physical files are created on fast disks that are optimized for faster read and write. However. in effect. If you are running many small reports that take less than 1 minute to finish. it may be beneficial to set recycle count to a greater value to minimize the cost of restarting PSANALYTICSRV. All rights reserved. and it is better to set the recycle count to 0. You can change this setting from the BOE Management Console. lots of physical files are created in various layers: BOE temporary files. they will. to avoid the reporting load affecting other online users.

You can use this information to determine the optimal number of PSAPPSRV processes.1 © Copyright Oracle. PPM provides a breakdown of the response time for the request and enables you to see time consumed by individual SQL statements or PeopleCode executions. All rights reserved. psadmin You can use psadmin to monitor Tuxedo queueing. See the Application Server Guidelines section for more details. PeopleSoft Performance Monitor You can capture detailed performance information for individual requests using PeopleSoft Performance Monitor (PPM). See PeopleBooks for more details.Monitoring Tools PeopleSoft Ping PeopleSoft Ping is a convenient monitoring facility using PeopleSoft Internet Architecture. 48 . The Document Id is 747510. Select PeopleTools->Utilities->PeopleSoft Ping. and it shows the time spent in different tiers of the PeopleSoft system. For more information on PPM. see the White paper entitled "PeopleSoft Performance Monitor" on My Oracle Support.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 11 .

The Swan Look and Feel results in additional requests to your webserver including:    More javascript More images More CSS (Cascading Style Sheets) Once cached on the browser. Javascript manipulation and XML processing can slightly increase the amount of time required by the browser to load the page. there are no more requests for these files. This feature can be disabled via a user personalization change.50 includes many GUI enhancements that improve the look and feel of the online experience. All rights reserved.Version 8. Ajax has been shown to reduce the number of bytes transferred to the browser in some situations when partial page updates occur. This is due to the browser HTML engine applying the new updates to the HTML page.50 Enhancements Version 8. The information in this chapter is intended to explain how some of the GUI enhancements actually work to give you a better understanding of how they might affect your environment. It is enabled for all prompt fields. we have not encountered any required tuning or configuration above and beyond what was already being performed for release 8. This value cannot be changed. Partial Page Refresh (aka Ajax Updates) To achieve Ajax updates for a page required a new infrastructure on the browser to handle the responses as well as additional Javascript processing.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 12 .49. Although these enhancements affect all of the tiers in your PeopleSoft environment. This reduces your network utilization. and then choose from the list of retrieved values. Swan Look and Feel To achieve a more modern look and feel requires additional images. . The amount of time that the browser waits before requesting a list of values is . wait for the list to populate.50 GUI Enhancements Version 8. Autocomplete (aka Type Ahead) Autocomplete vastly improves the user experience. Modal Windows Modal Windows are used for a number of tasks including    messages prompt look ups secondary pages 49 © Copyright Oracle.5 seconds. In one step. the user can enter search data. This reduces the amount of typing and clicks that the user has to perform to find the desired value. style sheets and Javascript. It allows the user to perform partial searches on prompt fields without having to navigate to the prompt page.

however it may be questioned during load testing. Employee Info.    An iFrame is a separate window within the main browser window or HTML page This enables the ability to display two HTML pages within the same browser window This iFrame can be resized and moved around within the browser window For each page with a Modal. Deferred Mode vs.1 applications to aid in providing additional data to the user on specific fields.    You will see your http requests increase to support this feature and as a result more Jolt requests and some increase in web server CPU time This additional requests may increase the webserver and Appserver CPU time accordingly The impact of this enhancement is dependent upon the actual test that is performed during load testing Scrollable Grids / Grids Zoom Grids have been enhanced to allow for a much better user experience. It Provides contextual data in an easy to access window on a transaction page without the need to navigate to another page. Features include:     One click Customization – grids can be customized using 1 click instead of navigating to another page Grid Zoom allows the user to see more rows of data in a modal window than they could have seen on the actual page Grid zoom also allows for quicker data entry into the grid Scrollable grids – allows more rows of data to be accessible to the user while not impacting the overall size of the page. © Copyright Oracle. 50 . All rights reserved. Department ID etc. the browser makes an additional request to the appserver   The additional request happens at page load time for the iFrame This iFrame infrastructure is reused for all the Modal lookups on the same page We have attempted to minimize the affect of this additional request from a performance perspective. Users can scroll through these rows while the column headers remain fixed Mouse Over Pages This features has been used across the 9. thus there is a minor performance overhead. These pages are loaded in the same appserver request as the main page.PeopleTools Performance Guidelines White Paper 9/10/2010 To Achieve the look and feel of a floating modal window required the use of an HTML tag called an iFrame. if any. This page generally contains additional data pertaining to Vendor ID. It also supplies additional data to the end user while reducing the number of clicks required to navigate within the application. but there is only a minor impact to performance. Interactive Mode Ajax and the other features discussed here are considered Usability features and are not performance improvements. It is not recommended to change pages from deferred to interactive mode without considering the impact to performance as this will increase the load on your system.

When designing an application that will invoke QAS service operations. it is important to consider performance. Asynchronous Query Execution © Copyright Oracle. QAS provides several web service operations. including but not limited to:      Network performance Application server performance Database server performance Query complexity Amount of data in the result set Note: Amount of data in the result set is determined by two factors:   Number of rows of data Numbe of columns in each row In general if you expect most queries to be simple in nature and result sets on the small size (e. then you may want to consider other modes of query execution. The amount of time that it takes to reply to the request depends on several factors.Query Access Service (QAS) QAS QAS (Query Access Services) allows application developers to create web service-based applications that can retrieve data from PeopleSoft applications. In particular. QAS utilizes the PeopleSoft Integration Broker framework to satisfy requests. The full result of the query will be included in the reply. there are three modes of query execution that each have particular performance characteristics:    Synchronous Query Execution Asynchronous Query Execution Sync/Poll Query Execution Synchronous Query Execution When a synchronous query execution request is issued. then synchronous query execution may be an appropriate query execution mode. or if response time is critical.g.. 51 . All rights reserved. the calling application process must wait for a reply.PeopleTools Performance Guidelines White Paper 9/10/2010 Chapter 13 . not thousands of rows). hundreds of rows. If you expect query complexity to be high and/or you expect that large result sets will be commonplace.

This mode of execution is best suited for returning large or small numbers of rows of data. The query result set resulting from an asynchronous query execution request is posted to the requesting application in one result post. The maximum size of the result block can be configured. In synch/poll execution. One query may result in one or more result blocks being passed. the fewer blocks are returned and total response time for all blocks is less. the larger the response block. Sync/Poll Query Execution When a sync/poll query execution request is issued. When the result set is created. the calling application process does not have to wait for the result set to be returned. At this point the calling application does not have any query results. In sync/poll execution. it is recommended that asynchronous query execution be used only when you expect query result sets to be small. Response data that consists of large number of columns with fewer rows of data has a slower response than response data which consists of fewer columns and more rows.000 to 1. this will result in too many blocks containing very few rows. one block returned for each Get Query Results request. QAS will post to the calling application the result set. if a smaller block size (less than 100. All rights reserved. must be designed to be able to accept that post and process it accordingly. Large result sets will take more time to convey in the network and take more time to process. it will lead to a JAVA out of memory exception. Requesting a query be executed in synch/poll mode with block size = 0 or Max will result in all data in one block. the return to the request includes a unique transaction id.000) is used. even though the response size may be smaller. It will have to issue additional web service calls to get the query results. This is probably not what you want to do. if the heap size in the web server is not sufficient to retrieve the large response block. but the user has to wait longer for the response. of course. When the calling program requests query results using the Get Query Results web service operation and passing the unique transaction id. 52 . The calling application. © Copyright Oracle. Thus. The query will be run. Optimal request block size in KB is in the range from 100. After QAS receives the request it queues the request internally in the Integration Broker Pub/Sub system. query results will be returned in blocks. Performance Considerations Which execution model to run will depend on the number of rows and columns returned in the response.PeopleTools Performance Guidelines White Paper 9/10/2010 When an asynchronous query execution request is issued.000. Control returns very quickly to the calling process. and the query result set will be stored internally. For a large result set this means that the message posted to the calling application can become quite large. Keep the following guidelines in mind:       Synchronous execution is not recommended for large result sets. In synch/poll execution. It is the mode typically used by reporting applications accessing PeopleSoft data via QAS.000.

Client SocketTimeout=600000 ms or Max limit approved for the query response time. All rights reserved.PeopleTools Performance Guidelines White Paper 9/10/2010 Configuration Recommendations Recommended configuration options include:      Minimum Web Server Heap Size: Min & Max=512MB Client Heap Size: Min & Max=1024MB. © Copyright Oracle. 53 . Sync/Poll: PSBRKHND instance count needs to be increased as response block count increases. Sync/Poll: Optimal Request Block Size in KB in the range from 100000 to 1000000.

Copy edited and inserted numerous queries.PeopleTools Performance Guidelines White Paper 9/10/2010 Appendix B – Revision History Authors        Samuel To Michael Turner Michael Simons Ravi Selvaraj Indraneel Ganguli Dhinakaran Veeraraghavan David Nix Reviewers On Octocber 2007. 54 .4 (inherited from 8. Minor changes for browser performance and 8. Modified file name.50 content for GUI features. Added 8. the following people reviewed this White paper:       Marc Varennes Ravi Shankar Colleen Murray Willie Suh Sunil Kulkarni Syamala Aramandla Revision History Date 2010-09-10 2010-06-23 Description Posted new version on 8.50 Query Access Service (QAS) Added 8.50 GUI features.1 Performance RedPaper. version 8) 2010-06-22 2010-06-21 11/19/07 07/01/2002 © Copyright Oracle. All rights reserved. Created document for PeopleTools 8. Updated formatting.51 GA date although no content was changed.

49 information:  Added information about Weblogic9. 55 . All rights reserved.3 logging level settings to improve performance © Copyright Oracle.Rearranged and expanded section on Navigation Pages Caching. Kernel Configurations – Modified file descriptor limit for HP-UXAdded proc parameters for Tru64  01/02/2004 Revised:    Application Server Guidelines – Increased Recycle Count value.Added explanation on PSAPPSRV instance Web Server Guidelines – Updated Execute Thread Count discussion. added workaround for Linux.   Web Server Guidelines – Updated service pack information for WebLogicUpdated BEA link. and added Linux to the section 06/06/2007 Updated document with 8.PeopleTools Performance Guidelines White Paper 9/10/2010 Date 12/20/2002 Description Revised. Added section on load balancing Additional Guidelines .0. Added Jolt Request timing monitoring toolAdded WebSphere Resource Analyzer information Additional Guidelines – Updated discussion about Compression Web Server Guidelines – Updated with information about Oracle Application Server Call Telephony Interface – Added new chapter PSAE and PSAESRV – Added new chapter 11/04/2005    02/06/2006 05/23/2006 10/23/2006 Changed formatting Added missing step (set auditPwd) to the instructions to enable JOLT request timing trace Updated document with 8.48 information:      Added information about preload cache. dynamic recycling and application server JVM options Added information on jolt session pooling. Added explanation on session timeout. weighted load-balancing and dumping heap on OutOfMemoryError Added Integration Broker section Added Reporting Tools section Renamed Kernel Settings section to Operating System Settings section.Added comment on compression and high-speed link.2 & Websphere 6.1.

506. Ltd. electronic or mechanical. All rights reserved. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International. UNIX is a registered trademark licensed through X/Open Company. Intel 56 and Intel Xeon are trademarks or registered trademarks of Intel Corporation.506.7000 Fax: +1.A. Other names may be trademarks of their respective owners. whether expressed orally or implied in law. Pre-load Cache. the AMD logo. for any purpose. This document is not warranted to be error-free. Opteron.S. CA 94065 U. This Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores. Worldwide Inquiries: © Copyright Oracle. All rights reserved.PeopleTools Performance Guidelines White Paper 9/10/2010 Date Description     Added information about to ensure JIT is enabled and class verification skipped Added information about tuning Asynch and Sync messaging on Integration Broker section Modified contents in PSAPPSRV instances. Oracle and/or its affiliates. 0110 document may not be reproduced or transmitted in any form or by any means. We specifically disclaim any liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document.com Oracle and Java are registered trademarks of Oracle and/or its affiliates. Parallel boot sections Added information about supported browsers in browser section Copyright © 2010.650. App server Dynamic recycle. PeopleTools Performance Guidelines White Paper This document is provided for information purposes only and the contents hereof are subject to change without notice. Inc.7200 oracle. AMD. without our prior written permission. including implied warranties and conditions of merchantability or fitness for a particular purpose. Phone: +1. and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. nor subject to any other warranties or conditions.650. .

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->