PeopleSoft Online Performance
Guidelines
Agenda
Introduction
Web Browser configuration
Web Server configuration
Application Server
PIA
PeopleSoft Internet Architecture
Introduction
Pure Internet Architecture
Communication mechanism
Architecture Overview
Server Process
Request Queues
Back to the basic
Production vs Development setup
Timeout
Cache
[Prod: on, Dev: off]
[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
Tuned the Operating System
PeopleSoft Internet
Architecture
Application
Server
RDBMS
Server
Services
Services
RDBMS
RDBMS
Instance
Instance
Portal
Portal
Processor
Processor
Web
Server
Java
Java
Servlets
Servlets
HTTP/HTML
Web
Browser
Portal
Portal
Servlet
Servlet
Presentation
Presentation
Relay
Relay Servlet
Servlet
Integration
Integration
Relay
Relay Servlet
Servlet
JOLT
T
U
X
E
D
O
User
User Interface
Interface
Generator
Generator
App
App Messaging
Messaging
Processor
Processor
Bus
Bus Interlink
Interlink
Processor
Processor
Component
Component
Processor
Processor
Application
Application
Data
Data Tables
Tables
S
Q
L
Application
Application
Meta
Meta data
data
SQL
Portal
Portal
Registry
Registry
Process
Process
scheduler
scheduler
Query
Query
Processor
Processor
Application
Application
Engine
Engine
Batch
Batch
Processes
Processes
Security
Security
Manager
Manager
Process
Process
Scheduler
Scheduler
Server
Server
Web Browser Settings
Application
Server
RDBMS
Server
Services
Services
RDBMS
RDBMS
Instance
Instance
Portal
Portal
Processor
Processor
Web
Server
Java
Java
Servlets
Servlets
HTTP/HTML
Web
Browser
Portal
Portal
Servlet
Servlet
Presentation
Presentation
Relay
Relay Servlet
Servlet
Integration
Integration
Relay
Relay Servlet
Servlet
JOLT
T
U
X
E
D
O
User
User Interface
Interface
Generator
Generator
App
App Messaging
Messaging
Processor
Processor
Bus
Bus Interlink
Interlink
Processor
Processor
Component
Component
Processor
Processor
Application
Application
Data
Data Tables
Tables
S
Q
L
Application
Application
Meta
Meta data
data
SQL
Portal
Portal
Registry
Registry
Process
Process
scheduler
scheduler
Query
Query
Processor
Processor
Application
Application
Engine
Engine
Batch
Batch
Processes
Processes
Security
Security
Manager
Manager
Process
Process
Scheduler
Scheduler
Server
Server
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)
Some HTML pages (such as PIA Login page)
MS Internet Explorer
Configuration Recipe
Internet Option
Temporary Internet Files
Settings
Automatically
Netscape
Configuration Recipe
Edit
Preferences
Advanced
Cache
Once per session
HTTP 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
Under HTTP 1.1 settings, verify that Use HTTP 1.1 is selected
HTTP 1.1 compliant Web
Browser
Web Server Settings
Application
Server
RDBMS
Server
Services
Services
RDBMS
RDBMS
Instance
Instance
Portal
Portal
Processor
Processor
Web
Server
Java
Java
Servlets
Servlets
HTTP/HTML
Web
Browser
Portal
Portal
Servlet
Servlet
Presentation
Presentation
Relay
Relay Servlet
Servlet
Integration
Integration
Relay
Relay Servlet
Servlet
JOLT
T
U
X
E
D
O
User
User Interface
Interface
Generator
Generator
App
App Messaging
Messaging
Processor
Processor
Bus
Bus Interlink
Interlink
Processor
Processor
Component
Component
Processor
Processor
Application
Application
Data
Data Tables
Tables
S
Q
L
Application
Application
Meta
Meta data
data
SQL
Portal
Portal
Registry
Registry
Process
Process
scheduler
scheduler
Query
Query
Processor
Processor
Application
Application
Engine
Engine
Batch
Batch
Processes
Processes
Security
Security
Manager
Manager
Process
Process
Scheduler
Scheduler
Server
Server
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
ftp://ftp.peoplesoft.com/outgoing/GSC/weblogic/5.10
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
Weblogic.system.executeThreadCount=100
JVM Heap Size
Set JVM Heap Size between 64MB to 512
MB
Set min and max to the same value
-verbosegc
-noclassgc
WebLogic 5.1
Win/NT Configuration Recipe
Regedit HKEY_LOCAL_MACHINE SOFTWARE BEA
Systems WebLogic 5.1.0 MAX_HEAP_SIZE
MIN_HEAP_SIZE
Increase beyond 64 MB
Set MIN_HEAP_SIZE = MAX_HEAP_SIZE
UNIX Configuration Recipe
Edit startWebLogic.sh
Increase beyond 64 MB
Set MIN_HEAP_SIZE = MAX_HEAP_SIZE
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
Do nothing for Win/NT
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
CompressResponse=true
PortalCompressResponse=true
PortalCompressResponse=true
PortalAcceptCompressedEncodings=true
PortalAcceptCompressedEncodings=true
How to tell Compression is on?
Multiple AppServer domains connectionInformation=true
connectionInformation=true
Control-J
Modified Configuration.properties
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:
/usr/sbin/no o tcp_timewait =1
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
KeepAlive.
Turn off HTTP KeepAlive
For Apache:
Modified httpd.conf
KeepAlive
KeepAlive Off
Off
MaxKeepAliveRequests
MaxKeepAliveRequests 00
KeepAliveTimeout
KeepAliveTimeout 200
200
For WebLogic
Modified Weblogic.properties
weblogic.httpd.http.keepAlive.enable=false
weblogic.httpd.http.keepAlive.enable=false
weblogic.httpd.http.keepAliveSecs=60
weblogic.httpd.http.keepAliveSecs=60
weblogic.httpd.https.keepAliveSecs=120
weblogic.httpd.https.keepAliveSecs=120
Administer Personalization
Multi-row insert
Caching
CachingNavigation
NavigationPages
Pageson
onthe
thebrowser
browser
METAXP
METAXP == 2000
2000
Application Server Settings
Application
Server
RDBMS
Server
Services
Services
RDBMS
RDBMS
Instance
Instance
Portal
Portal
Processor
Processor
Web
Server
Java
Java
Servlets
Servlets
HTTP/HTML
Web
Browser
Portal
Portal
Servlet
Servlet
Presentation
Presentation
Relay
Relay Servlet
Servlet
Integration
Integration
Relay
Relay Servlet
Servlet
JOLT
T
U
X
E
D
O
User
User Interface
Interface
Generator
Generator
App
App Messaging
Messaging
Processor
Processor
Bus
Bus Interlink
Interlink
Processor
Processor
Component
Component
Processor
Processor
Application
Application
Data
Data Tables
Tables
S
Q
L
Application
Application
Meta
Meta data
data
SQL
Portal
Portal
Registry
Registry
Process
Process
scheduler
scheduler
Query
Query
Processor
Processor
Application
Application
Engine
Engine
Batch
Batch
Processes
Processes
Security
Security
Manager
Manager
Process
Process
Scheduler
Scheduler
Server
Server
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.
NT Task Manager
NT: Perfmon
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:
CPU for PS Processes:
Virtual memory size is:
123.543 MB
11 %
198.098 MB
For all PSAPPSRV Processes:
Resident memory size is:
CPU for PS Processes:
Virtual memory size is:
108.453 MB
9 %
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
Run the command pq
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:
maxInMemoryObjects=0