PeopleSoft Online Performance...

40
PeopleSoft Online Performance Guidelines

Transcript of PeopleSoft Online Performance...

PeopleSoft Online Performance Guidelines

Agenda

• Introduction• Web Browser configuration• Web Server configuration• Application Server

PIA

PeopleSoft Internet ArchitectureIntroduction

Pure Internet Architecture

Communication mechanism

Architecture Overview

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

• Tuned the Operating System

ApplicationServer

Web Server T

UXEDO

RDBMSServer

SQLSQL

SQLJOLTJOLTHTTP/HTMLHTTP/HTML

ServicesServices

App MessagingProcessor

App MessagingApp MessagingProcessorProcessor

QueryProcessor

QueryQueryProcessorProcessor

ComponentProcessor

ComponentComponentProcessorProcessor

Bus InterlinkProcessor

Bus InterlinkBus InterlinkProcessorProcessor

User InterfaceGenerator

User InterfaceUser InterfaceGeneratorGenerator

ProcessschedulerProcessProcess

schedulerscheduler

PortalProcessor

PortalPortalProcessorProcessor

SecurityManagerSecuritySecurityManagerManager

ApplicationEngine

ApplicationApplicationEngineEngine

RDBMSInstanceRDBMSInstance

ApplicationData TablesApplicationApplicationData TablesData Tables

ApplicationMeta data

ApplicationApplicationMeta dataMeta data

PortalRegistryPortalPortal

RegistryRegistry

BatchProcesses

BatchProcesses

ProcessScheduler

Server

ProcessProcessSchedulerScheduler

ServerServer

JavaServletsJava

Servlets

PortalServletPortalPortalServletServlet

PresentationRelay ServletPresentationPresentationRelay ServletRelay Servlet

IntegrationRelay ServletIntegrationIntegration

Relay ServletRelay Servlet

PeopleSoft Internet Architecture

Web Browser

ApplicationServer

Web Server T

UXEDO

RDBMSServer

SQLSQL

SQLJOLTJOLT

ServicesServices

App MessagingProcessor

App MessagingApp MessagingProcessorProcessor

QueryProcessor

QueryQueryProcessorProcessor

ComponentProcessor

ComponentComponentProcessorProcessor

Bus InterlinkProcessor

Bus InterlinkBus InterlinkProcessorProcessor

User InterfaceGenerator

User InterfaceUser InterfaceGeneratorGenerator

ProcessschedulerProcessProcess

schedulerscheduler

PortalProcessor

PortalPortalProcessorProcessor

SecurityManagerSecuritySecurityManagerManager

ApplicationEngine

ApplicationApplicationEngineEngine

RDBMSInstanceRDBMSInstance

ApplicationData TablesApplicationApplicationData TablesData Tables

ApplicationMeta data

ApplicationApplicationMeta dataMeta data

PortalRegistryPortalPortal

RegistryRegistry

BatchProcesses

BatchProcesses

ProcessScheduler

Server

ProcessProcessSchedulerScheduler

ServerServer

JavaServletsJava

Servlets

PortalServletPortalPortalServletServlet

PresentationRelay ServletPresentationPresentationRelay ServletRelay Servlet

IntegrationRelay ServletIntegrationIntegration

Relay ServletRelay Servlet

Web Browser Settings

Web Browser

HTTP/HTMLHTTP/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)– Some HTML pages (such as PIA Login page)

• Configuration Recipe→ Internet Option→ Temporary Internet Files→ Settings→ Automatically

MS Internet Explorer

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

ApplicationServer

Web Server T

UXEDO

RDBMSServer

SQLSQL

SQLJOLTJOLT

ServicesServices

App MessagingProcessor

App MessagingApp MessagingProcessorProcessor

QueryProcessor

QueryQueryProcessorProcessor

ComponentProcessor

ComponentComponentProcessorProcessor

Bus InterlinkProcessor

Bus InterlinkBus InterlinkProcessorProcessor

User InterfaceGenerator

User InterfaceUser InterfaceGeneratorGenerator

ProcessschedulerProcessProcess

schedulerscheduler

PortalProcessor

PortalPortalProcessorProcessor

SecurityManagerSecuritySecurityManagerManager

ApplicationEngine

ApplicationApplicationEngineEngine

RDBMSInstanceRDBMSInstance

ApplicationData TablesApplicationApplicationData TablesData Tables

ApplicationMeta data

ApplicationApplicationMeta dataMeta data

PortalRegistryPortalPortal

RegistryRegistry

BatchProcesses

BatchProcesses

ProcessScheduler

Server

ProcessProcessSchedulerScheduler

ServerServer

JavaServletsJava

Servlets

PortalServletPortalPortalServletServlet

PresentationRelay ServletPresentationPresentationRelay ServletRelay Servlet

IntegrationRelay ServletIntegrationIntegration

Relay ServletRelay Servlet

Web Server Settings

Web Browser

HTTP/HTMLHTTP/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 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

– Increase beyond 64 MB– Set MIN_HEAP_SIZE = MAX_HEAP_SIZE

→ MIN_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

PortalCompressResponse=true

PortalAcceptCompressedEncodings=true

CompressResponse=true

PortalCompressResponse=true

PortalAcceptCompressedEncodings=true

How to tell Compression is on?

Multiple AppServer domainsControl-JModified Configuration.properties

connectionInformation=trueconnectionInformation=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 TcpTimedWaitDelayunder HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\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

weblogic.httpd.http.keepAlive.enable=falseweblogic.httpd.http.keepAliveSecs=60weblogic.httpd.https.keepAliveSecs=120

weblogic.httpd.http.keepAlive.enable=falseweblogic.httpd.http.keepAliveSecs=60weblogic.httpd.https.keepAliveSecs=120

KeepAlive OffMaxKeepAliveRequests 0KeepAliveTimeout 200

KeepAlive OffMaxKeepAliveRequests 0KeepAliveTimeout 200

• For WebLogic– Modified Weblogic.properties

Administer Personalization

• Multi-row insert

Caching Navigation Pages on the browser

METAXP = 2000

Caching Navigation Pages on the browser

METAXP = 2000

ApplicationServer

Web Server T

UXEDO

RDBMSServer

SQLSQL

SQLJOLTJOLT

ServicesServices

App MessagingProcessor

App MessagingApp MessagingProcessorProcessor

QueryProcessor

QueryQueryProcessorProcessor

ComponentProcessor

ComponentComponentProcessorProcessor

Bus InterlinkProcessor

Bus InterlinkBus InterlinkProcessorProcessor

User InterfaceGenerator

User InterfaceUser InterfaceGeneratorGenerator

ProcessschedulerProcessProcess

schedulerscheduler

PortalProcessor

PortalPortalProcessorProcessor

SecurityManagerSecuritySecurityManagerManager

ApplicationEngine

ApplicationApplicationEngineEngine

RDBMSInstanceRDBMSInstance

ApplicationData TablesApplicationApplicationData TablesData Tables

ApplicationMeta data

ApplicationApplicationMeta dataMeta data

PortalRegistryPortalPortal

RegistryRegistry

BatchProcesses

BatchProcesses

ProcessScheduler

Server

ProcessProcessSchedulerScheduler

ServerServer

JavaServletsJava

Servlets

PortalServletPortalPortalServletServlet

PresentationRelay ServletPresentationPresentationRelay ServletRelay Servlet

IntegrationRelay ServletIntegrationIntegration

Relay ServletRelay Servlet

Application Server Settings

Web Browser

HTTP/HTMLHTTP/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 thepsappsrv 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 scriptHere 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 itsoperation.

Virtual memory refers to the process virtual address size, this include memory that has beenpaged out to the physical disk. If the Virtual memory continues to increase, the “RecycleCount” ofthe 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