PeopleSoft Online Performance
Guidelines
Agenda
• Introduction
• Web Browser configuration
• Web Server configuration
• Application Server
PIA
PeopleSoft Internet Architecture
Introduction
Server Process Request Queues
Back to the basic
• Production vs Development setup
– Timeout [Prod: on, Dev: off]
– Cache [Prod: on, Dev: off]
• LAN speed between each leg
– ping -l [size] -r [route_count] [hostname] – ftp test
– DataMover Export at different legs
• Sufficient memory
– any paging
– hardware cache enable
Application Server Web Server T U X E D O RDBMS Server SQL SQL S Q L JOLT JOLT HTTP/HTML HTTP/HTML Services Services App Messaging Processor App Messaging App Messaging Processor Processor Query Processor Query Query Processor Processor Component Processor Component Component Processor Processor Bus Interlink Processor Bus Interlink Bus Interlink Processor Processor User Interface Generator User Interface User Interface Generator Generator Process scheduler Process Process scheduler scheduler Portal Processor Portal Portal Processor Processor Security Manager Security Security Manager Manager Application Engine Application Application Engine Engine RDBMS Instance RDBMS Instance Application Data Tables Application Application Data Tables Data Tables Application Meta data Application Application Meta data Meta data Portal Registry Portal Portal Registry Registry Batch Processes Batch Processes Process Scheduler Server Process Process Scheduler Scheduler Server Server Java Servlets Java Servlets Portal Servlet Portal Portal Servlet Servlet Presentation Relay Servlet Presentation Presentation Relay Servlet Relay Servlet Integration Relay Servlet Integration Integration Relay Servlet Relay Servlet
PeopleSoft Internet
Architecture
Web BrowserApplication Server Web Server T U X E D O RDBMS Server SQL SQL S Q L JOLT JOLT Services Services App Messaging Processor App Messaging App Messaging Processor Processor Query Processor Query Query Processor Processor Component Processor Component Component Processor Processor Bus Interlink Processor Bus Interlink Bus Interlink Processor Processor User Interface Generator User Interface User Interface Generator Generator Process scheduler Process Process scheduler scheduler Portal Processor Portal Portal Processor Processor Security Manager Security Security Manager Manager Application Engine Application Application Engine Engine RDBMS Instance RDBMS Instance Application Data Tables Application Application Data Tables Data Tables Application Meta data Application Application Meta data Meta data Portal Registry Portal Portal Registry Registry Batch Processes Batch Processes Process Scheduler Server Process Process Scheduler Scheduler Server Server Java Servlets Java Servlets Portal Servlet Portal Portal Servlet Servlet Presentation Relay Servlet Presentation Presentation Relay Servlet Relay Servlet Integration Relay Servlet Integration Integration Relay Servlet Relay Servlet
Web Browser Settings
Web Browser
HTTP/HTML
Web Browser Settings
• Reduce unnecessary checking and downloading of the same Internet objects within the online
transaction session.
• The Internet objects that most likely remain unchanged during an online session are:
– Graphics objects (*.jpg, *.gif) – Style Sheets (*.css)
– Java Scripts (*.js)
• Configuration Recipe
→ Internet Option
→ Temporary Internet Files → Settings
→ Automatically
Netscape
• Configuration Recipe
→ Edit → Preferences → Advanced → CacheHTTP 1.1 compliant Web
Browser
• Only HTTP 1.1 compliant web browsers request
compressed files. Web browsers that are not HTTP 1.1 compliant request and receive the files un-compressed, therefore the Web Server will not be able to send any compressed HTML file to the browser (despite the configuration.properties has the Compress Response switch turns on.)
Which Browser is HTTP 1.1
compliant?
• Netscape 4.5 and above, including the new Netscape 6
• Explorer versions 4 and above (other than IE Mac versions 4.5/5 which do not support HTTP 1.1 compression).
– Here is the configuration recipe to verify if Internet Explorer is configured to use the HTTP 1.1 protocol:
– 1. Open the Internet Options property sheet • If using IE 4, this is located under the View menu • If using IE 5, this is located under the Tools menu – 2. Select the Advanced tab
HTTP 1.1 compliant Web
Browser
Application Server Web Server T U X E D O RDBMS Server SQL SQL S Q L JOLT JOLT Services Services App Messaging Processor App Messaging App Messaging Processor Processor Query Processor Query Query Processor Processor Component Processor Component Component Processor Processor Bus Interlink Processor Bus Interlink Bus Interlink Processor Processor User Interface Generator User Interface User Interface Generator Generator Process scheduler Process Process scheduler scheduler Portal Processor Portal Portal Processor Processor Security Manager Security Security Manager Manager Application Engine Application Application Engine Engine RDBMS Instance RDBMS Instance Application Data Tables Application Application Data Tables Data Tables Application Meta data Application Application Meta data Meta data Portal Registry Portal Portal Registry Registry Batch Processes Batch Processes Process Scheduler Server Process Process Scheduler Scheduler Server Server Java Servlets Java Servlets Portal Servlet Portal Portal Servlet Servlet Presentation Relay Servlet Presentation Presentation Relay Servlet Relay Servlet Integration Relay Servlet Integration Integration Relay Servlet Relay Servlet
Web Server Settings
Web Browser
HTTP/HTML
WebLogic Service Pack
• Under normal circumstances, WebLogic should be using the "Posix Performance Pack", and this will use the native OS's socket implementation. When the "Performance Pack" is not loaded properly,
generic socket implementation will be used, which is not efficient and there could be performance
issue or socket stability problems.
• service pack can be obtained from
Logs
– Mon Sep 24 15:43:40 PDT 2001:<I> <ListenThread> Listening on port: 3300
– Mon Sep 24 15:43:40 PDT 2001:<I> <SSLListenThread> Listening on port: 5443
– Mon Sep 24 15:43:40 PDT 2001:<I> <Posix Performance Pack> System has file descriptor limits of - soft: '256', hard: '1024'
– Mon Sep 24 15:43:40 PDT 2001:<I> <Posix Performance Pack> Using effective file descriptor limit of: '1024' open sockets/files.
– Mon Sep 24 15:43:40 PDT 2001:<I> <Posix Performance Pack> Allocating: '3' POSIX reader threads
– Mon Sep 24 15:43:41 PDT 2001:<I> <WebLogicServer> WebLogic Server started
WebLogic Thread Count
• Increase ExecuteThreadCount
• change the weblogic.properties as
JVM Heap Size
• Set JVM Heap Size between 64MB to 512
MB
• Set min and max to the same value
• -verbosegc
WebLogic 5.1
• Win/NT Configuration Recipe
– Regedit → HKEY_LOCAL_MACHINE → SOFTWARE → BEA Systems→ WebLogic → 5.1.0 → MAX_HEAP_SIZE
– Increase beyond 64 MB
– Set MIN_HEAP_SIZE = MAX_HEAP_SIZE
• UNIX Configuration Recipe
– Edit startWebLogic.sh
– Increase beyond 64 MB
File Descriptor
• A file descriptor is required for every file that is opened, every *.class file read in by weblogic, every jolt connection
• To raise the file descriptors for UNIX, use the following command:
• ulimit –n 4000
Web Server Settings
• Enable Compression (Gzip, deflate) responses; in
particular for WAN/Dialup users.
• PIA will try to send compressed HTML response
to the compression-enabled (HTTP 1.1 enabled)
browser, such as Microsoft IE 5 or above.
• Modified Configuration.properties
CompressResponse=true PortalCompressResponse=true PortalAcceptCompressedEncodings=true CompressResponse=true PortalCompressResponse=true PortalAcceptCompressedEncodings=trueHow to tell Compression is on?
Multiple AppServer domains Control-J
Modified Configuration.properties
connectionInformation=true
Reducing TCP Wait time
• The default TCP Wait Time for both NT
and most UNIX operating systems are 4
minutes, which is too long for PIA usage
and tends to leave too many socket
connections staying in the TIME_WAIT
state.
• By shortening the WAIT time, the socket
can be recycled more efficiently.
NT: TCP Wait Time
• Use the registry editor, regedit, and create a REG_DWORD named TcpTimedWaitDelay under
HKEY_LOCAL_MACHINE\SYSTEM\Curre ntControlSet\Services\TcpIp\Parameters
UNIX: TCP Wait Time
• For HP and SUN • As root do:
– ndd -set /dev/tcp
tcp_time_wait_interval 60000
• where 60000 is for 60 secs, the minimum recommended value. You must put this
command in one of the rc2.d scripts to get it to be automatically set at boot time
• For AIX
• To set the TCP_TIMEWAIT values to 15 seconds, run the followign command:
HTTP KeepAlive
• Socket connection needs File Descriptor
• Reusing a socket helps performance, but ….
• Too many KeepAlive packets, jam the pipe.
• HTTP 1.0 does not do good job in socket reuse.
• Many CLOSE_WAIT.
– netstat -a
• To make it simple, turn off
the HTTP
Turn off HTTP KeepAlive
• For Apache:
– Modified httpd.conf weblogic.httpd.http.keepAlive.enable=false weblogic.httpd.http.keepAliveSecs=60 weblogic.httpd.https.keepAliveSecs=120 weblogic.httpd.http.keepAlive.enable=false weblogic.httpd.http.keepAliveSecs=60 weblogic.httpd.https.keepAliveSecs=120 KeepAlive Off MaxKeepAliveRequests 0 KeepAliveTimeout 200 KeepAlive Off MaxKeepAliveRequests 0 KeepAliveTimeout 200• For WebLogic
– Modified Weblogic.propertiesAdminister Personalization
• Multi-row insert
Caching Navigation Pages on the browser
METAXP = 2000
Caching Navigation Pages on the browser
Application Server Web Server T U X E D O RDBMS Server SQL SQL S Q L JOLT JOLT Services Services App Messaging Processor App Messaging App Messaging Processor Processor Query Processor Query Query Processor Processor Component Processor Component Component Processor Processor Bus Interlink Processor Bus Interlink Bus Interlink Processor Processor User Interface Generator User Interface User Interface Generator Generator Process scheduler Process Process scheduler scheduler Portal Processor Portal Portal Processor Processor Security Manager Security Security Manager Manager Application Engine Application Application Engine Engine RDBMS Instance RDBMS Instance Application Data Tables Application Application Data Tables Data Tables Application Meta data Application Application Meta data Meta data Portal Registry Portal Portal Registry Registry Batch Processes Batch Processes Process Scheduler Server Process Process Scheduler Scheduler Server Server Java Servlets Java Servlets Portal Servlet Portal Portal Servlet Servlet Presentation Relay Servlet Presentation Presentation Relay Servlet Relay Servlet Integration Relay Servlet Integration Integration Relay Servlet Relay Servlet
Application Server Settings
Web Browser
HTTP/HTML
Memory resources
• .Make sure don't have too many PSAPPSRV
processes booted. During peak usage times, you should see some small amount of queuing for the psappsrv processes.
If you have too many processes, this will affect performance. The extra PSAPPSRV processes will not only take up memory space and CPU time from the OS, the main issue is that each
PSAPPSRV will not be 'sufficiently' cached. I.e. Each PSAPPSRV can only cache a portion of the user panels. It will take much longer time to fully cache each PSAPPSRV.
UNIX ps_chk_domain script
Here is a sample output of the ps_chk_domain script:Please Enter your application server domain name?? PT81
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: 123.543 MB CPU for PS Processes: 11 % Virtual memory size is: 198.098 MB For all PSAPPSRV Processes:
Resident memory size is: 108.453 MB CPU for PS Processes: 9 %
Virtual memory size is: 106.559 MB
---Resident memory refers to the real physical memory currently required by the process for its operation.
Virtual memory refers to the process virtual address size, this include memory that has been paged out to the physical disk. If the Virtual memory continues to increase, the “RecycleCount” of the AppServer should be lowered.
Determine queue length
• To determine the queue length of the specific domain, do the following steps:
• run psadmin
• Go to “PeopleSoft Domain
Administration” for the specific domain name
• Select “TUXEDO command line”
PSAPPSRV Recycle Count
• In PSAPPSRV.CFG
• It is recommended to set Recycle Count at 2000.
• For PeopleTools 8.15 and earlier:
• Set the Recycle Count at 2000.
• For PeopleTools 8.16 and after:
• The default value for Recycle Count is already set to 2000.
• The ‘recycle count’ should be adjusted so that no memory swapping is introduced because of a high ‘recycle count’ value. (See session above for how to determine memory swapping.)
• To minimize the cost of re-caching the AppServer, it is important to enable ‘File Cache’ on the AppServer. To enable Server Caching, set the EnableServerCaching=1, which is the default value.
MaxInMemoryObjects
• For PeopleTools 8.16 and before
• We have the MaxInMemoryObjects • Benefit:
– Keep memory footprint low
• Disadvantage:
– very CPU intensive
• Recommendation: