63
1 Configuring & Tuning the Configuring & Tuning the PeopleSoft Application PeopleSoft Application Server Server

Configuring PIA

Embed Size (px)

DESCRIPTION

PeopleSoft Internet architecture

Citation preview

Page 1: Configuring PIA

11

Configuring & Tuning the Configuring & Tuning the PeopleSoft Application PeopleSoft Application

ServerServer

Page 2: Configuring PIA

22

AgendaAgenda

Inside the PeopleSoft Internet Inside the PeopleSoft Internet Architecture (PIA)Architecture (PIA)

In Depth Coverage of the Application In Depth Coverage of the Application Server's Role in PIAServer's Role in PIA

Installation Issues, Architecture Installation Issues, Architecture ConsiderationsConsiderations

Monitoring, Tuning, and Automating TasksMonitoring, Tuning, and Automating Tasks High Availability and ClusteringHigh Availability and Clustering Questions/AnswersQuestions/Answers

Page 3: Configuring PIA

33

Part I: Inside the PeopleSoft Part I: Inside the PeopleSoft Internet Architecture (PIA)Internet Architecture (PIA)

Page 4: Configuring PIA

44

Architecture HistoryArchitecture History

Application

server

DB

server

Windows

RPC SQL

DB

server

Windows

SQL

Application

server

DB

server

Browser

HTTP/HTTPS Jolt/Tuxedo SQLWeb

server

RenderingCode

ApplicationCode

Page 5: Configuring PIA

55

PeopleSoft Internet PeopleSoft Internet ArchitectureArchitecture

PeopleSoft Application ServerPeopleSoft Application Server Controls all application logic/HTML/XML Controls all application logic/HTML/XML

generationgeneration Jolt/Tuxedo interface to servlet/web Jolt/Tuxedo interface to servlet/web

serverserver LDAP authentication optional (Active LDAP authentication optional (Active

Directory) Directory) Application

server

DB

serverWeb

server

Browser

HTTP/HTTPS Jolt/Tuxedo SQL

LDAP

Page 6: Configuring PIA

66

PeopleTools Development PeopleTools Development EnvironmentEnvironment

PeopleSoft Designer (IDE)PeopleSoft Designer (IDE) IDE talks to DB Server, or Application IDE talks to DB Server, or Application

ServerServer Runs in Windows-only environmentRuns in Windows-only environment Most objects are stored in the databaseMost objects are stored in the database

Application

server

DB

server

Web

server

Browser

Jolt/Tuxedo SQL

Win

SQL

Jolt/Tuxedo

HTTP/HTTPS

Page 7: Configuring PIA

77

RuntimeRuntime HTML/XML Generation HTML/XML Generation

Occurs on Application ServerOccurs on Application Server Page definitions written in a proprietary Page definitions written in a proprietary

code is stored in databasecode is stored in database Developer does not code HTML; does Developer does not code HTML; does

not need to know web programmingnot need to know web programming HTML automatically generated from HTML automatically generated from

page definitionpage definition Page design is somewhat limited Page design is somewhat limited Pages have a standard look and feelPages have a standard look and feel

Page 8: Configuring PIA

88

PIA Web Applications/ServletsPIA Web Applications/Servlets Page: end user’s connection to PeopleSoft Page: end user’s connection to PeopleSoft

appsapps Portal: gathers content from multiple Portal: gathers content from multiple

sourcessources Report Distribution: user’s interface to Report Distribution: user’s interface to

batch reportsbatch reports Application Messaging Gateway: transmits Application Messaging Gateway: transmits

publish/subscribe (ie XML) messages publish/subscribe (ie XML) messages between nodesbetween nodes

XML Link: used for Business InterlinksXML Link: used for Business Interlinks Integration Broker: next generation Integration Broker: next generation

application messaging/XML linkapplication messaging/XML link Sync Gateway: used for mobile connectivitySync Gateway: used for mobile connectivityWeb

Page 9: Configuring PIA

99

PIA Web PIA Web Applications/Servlets Applications/Servlets

Integration BrokerIntegration Broker Messaging (sync/async) across the Messaging (sync/async) across the

enterpriseenterprise Web services based hub that handles Web services based hub that handles

system to system interactionssystem to system interactionsExternalSystems

ExternalSystems

Application

server

DB

server

Web

serverBrowser

Jolt/Tuxedo SQLHTTP/HTTPS

XML

Page 10: Configuring PIA

1010

In Depth Coverage of the Application In Depth Coverage of the Application Server's Role in PIAServer's Role in PIA

Page 11: Configuring PIA

1111

Application Server DomainsApplication Server Domains

Built around Tuxedo ‘domains’ Built around Tuxedo ‘domains’ Tuxedo developed by Bell Labs in 1983Tuxedo developed by Bell Labs in 1983 BEA buys Tuxedo from Novell in 1995BEA buys Tuxedo from Novell in 1995 Provides many benefitsProvides many benefits

Scalability (multiple instances of app server Scalability (multiple instances of app server processes, fewer connections to database)processes, fewer connections to database)

Restartability/fault tolerance of app server Restartability/fault tolerance of app server processesprocesses

Load balancing of app server processesLoad balancing of app server processes

Page 12: Configuring PIA

1212

Application Server DomainsApplication Server Domains

Domains consist of two itemsDomains consist of two items Sub-directory within $PS_HOME/appservSub-directory within $PS_HOME/appserv Set of server processesSet of server processes

RelationshipsRelationships Domains to Machines: Many-to-1Domains to Machines: Many-to-1 Domains to Databases: Many-to-1Domains to Databases: Many-to-1 Databases to Domains: 1-to-1Databases to Domains: 1-to-1

Page 13: Configuring PIA

1313

Application Server DomainsApplication Server Domains

Simple domain on one application Simple domain on one application server machineserver machine

BROWSERBROWSER WEB SERVER

WEB SERVER

APPLICATION SERVER

APPLICATION SERVER

HRdatabase

HRdatabase

HRDomain

HRDomain

Page 14: Configuring PIA

1414

Application Server DomainsApplication Server Domains

Multiple domains per application Multiple domains per application server - each domain associated with server - each domain associated with a different URLa different URL

BROWSERBROWSER WEB SERVER

WEB SERVER

APPLICATION SERVER

APPLICATION SERVER

HRdatabase

HRdatabase

HRDomain

HRDomain

FSDomain

FSDomain FS

database

FSdatabase

Page 15: Configuring PIA

1515

Application Server DomainsApplication Server Domains

Fault resilient – multiple machinesFault resilient – multiple machines

BROWSERBROWSER

WEB SERVER

WEB SERVER

APPLICATION SERVER

APPLICATION SERVER

HRdatabase

HRdatabaseHR

Domain

HRDomain

FSDomain

FSDomain

FSdatabase

FSdatabase

APPLICATION SERVER

APPLICATION SERVER

FSDomain

FSDomain

HRDomain

HRDomain

WEB SERVER

WEB SERVER

Page 16: Configuring PIA

1616

APPLICATION SERVERAPPLICATION SERVER

Application Server DomainsApplication Server Domains

BBLBBL

WorkstationHandler

WorkstationHandler

WorkstationHandler

WorkstationHandler

WorkstationListener

WorkstationListener

1st Request1st Request

RequestRequest

RequestRequest

RequestRequest

PSAPPSRVPSAPPSRV

PSAPPSRVPSAPPSRV

PSAPPSRVPSAPPSRV

PSQRYSRVPSQRYSRV

PSQRYSRVPSQRYSRV

APPSRV QAPPSRV Q

QRYSRV QQRYSRV Q

Page 17: Configuring PIA

1717

BEA Tuxedo BEA Tuxedo CommunicationsCommunications

QueueQueue A process used when an application needs to A process used when an application needs to

communicate in a time-independent fashioncommunicate in a time-independent fashion TransactionTransaction

Groups logical actions together and allows Groups logical actions together and allows the operation to be undone the operation to be undone

EventEvent A server is notified when the information it A server is notified when the information it

wants is available or when something has wants is available or when something has happenedhappened

Page 18: Configuring PIA

1818

TUXEDO Communication TUXEDO Communication ModelsModels

Synchronous Request/Response: Synchronous Request/Response: tpcall(), tpcall(), TxRPCTxRPC

Asynchronous Request/Response: Asynchronous Request/Response: tpacall(), tpacall(),

tpgetrply()tpgetrply()

Conversation: Conversation: tpconnect(), tpsend(), tprecv()tpconnect(), tpsend(), tprecv()

Unsolicited Notification: Unsolicited Notification: tpnotify(), tpbroadcast()tpnotify(), tpbroadcast()

Event: Event: tppost(), tpsubscribe()tppost(), tpsubscribe()

Queued Request/Response: Queued Request/Response: tpenqueue(), tpenqueue(),

tpdequeue()tpdequeue()

Page 19: Configuring PIA

1919

PeopleSoft ServersPeopleSoft Servers PSAPPSRVPSAPPSRV

Performs panel builds and panel savePerforms panel builds and panel save Caches object definitions & business logic in memory to Caches object definitions & business logic in memory to

speed processing speed processing PSQCKSRV PSQCKSRV (optional)(optional)

Performs a subset of fast, non-transactional, read-only Performs a subset of fast, non-transactional, read-only requestsrequests

PSSAMSRVPSSAMSRV Performs transactional SQL requestsPerforms transactional SQL requests

PSQRYSRVPSQRYSRV Handles SQL request from PS QueryHandles SQL request from PS Query

Messenger Services Messenger Services Publishing Broker: Publishing Broker: PSBRKDSP, PSBRKHND Publishing Contractor: PSPUBDSP, PSPUBHND Subscription Contractor: PSSUBDSP, PSSUBHND

Page 20: Configuring PIA

2020

Application Server DomainsApplication Server Domains

PSADMINPSADMIN Command line utility to create and administer domainsCommand line utility to create and administer domains Domain statusDomain status For use by the Application Server administratorFor use by the Application Server administrator

psappsrv.cfgpsappsrv.cfg Contains domain specific settingsContains domain specific settings For use by the Application Server administratorFor use by the Application Server administrator

Many other files behind the scenesMany other files behind the scenes Process Scheduler domains use same procedureProcess Scheduler domains use same procedure

Page 21: Configuring PIA

2121

Installation Issues and Architecture Installation Issues and Architecture ConsiderationsConsiderations

Page 22: Configuring PIA

2222

Two Main Discussion PointsTwo Main Discussion Points

AppServer SizingAppServer Sizing Simple InstallSimple Install

Page 23: Configuring PIA

2323

AppServer SizingAppServer Sizing Measure against a known workloadMeasure against a known workload TPC/C Ratings (http://www.tpc.org)TPC/C Ratings (http://www.tpc.org) Compare the TPC/C ratingsCompare the TPC/C ratings Compare the different models Compare the different models Physical or Logical Servers?…Physical or Logical Servers?… Are the Servers, OS, etc. supported by Are the Servers, OS, etc. supported by

PeopleSoft? PeopleSoft? Upgrade options? Upgrade options?

Page 24: Configuring PIA

2424

AppServer SizingAppServer Sizing

PeopleSoft BenchmarksPeopleSoft Benchmarks Rule-of-Thumb: Application Server needs 6 Rule-of-Thumb: Application Server needs 6

times more processing power than a web times more processing power than a web server server

Estimate the concurrent usage patternsEstimate the concurrent usage patterns Categorize the users into light, medium Categorize the users into light, medium

and heavyand heavy

Page 25: Configuring PIA

2525

AppServer Sizing

Estimate the number of Light, Medium & Power users

Estimated load by user type Light User TPC/C = 60 Medium User TPC/C = 100 Power User TPC/C= 30

For Example Calculation, Assume 500 light users 100 medium users 10 power users

Page 26: Configuring PIA

2626

App Server Sizing

Calculating the TPC figures For 500 Light Users, 60 X 500 = 30,000 For 100 Med Users, 100 X 100 = 10,000 For 10 Power Users, 300 X 10 = 3,000

Thus Total Appserv TPC units = 43,000 You have to find a server that would deliver at

least this many TPC units Add any additional work load

Memory???? PS recommends 512MB per 25 users Add 1.5MB per each additional user

Page 27: Configuring PIA

2727

Appserver Sizing: Remember!

Highly CPU bound Large memory foot print in psappsrv Memory growth may result in

fragmentation of main memory Watch for the recycle count to recycle

the appserv at periodic intervals. “Caching is good; Queuing is bad”

Page 28: Configuring PIA

2828

Comes right off the Tuxedo CDComes right off the Tuxedo CD Install.sh or setup.exeInstall.sh or setup.exe UNIX/AIX ftpUNIX/AIX ftp Tuxedo 6.5/Jolt 1.2 certified Tools 7.05 – 8.4xTuxedo 6.5/Jolt 1.2 certified Tools 7.05 – 8.4x

Max install approx. 160MBMax install approx. 160MB SoftwareSoftware DocsDocs WebGUI AdminWebGUI Admin

Upgrading Tuxedo?Upgrading Tuxedo? Win - Must uninstall old version!Win - Must uninstall old version! UNIX – Tuxedo 6.3 vs 6.5?UNIX – Tuxedo 6.3 vs 6.5?

Simple InstallSimple Install

Page 29: Configuring PIA

2929

Simple InstallSimple Install

AppServer AdministratorAppServer Administrator Existing vs. New UserExisting vs. New User

Environment VariablesEnvironment Variables TUXDIRTUXDIR PATHPATH NLSPATHNLSPATH

Validate InstallValidate Install $TUXDIR/udataobj/lic.txt$TUXDIR/udataobj/lic.txt ““PeopleSoft Edition – Built on BEA – PeopleSoft Edition – Built on BEA –

March 21, 2000”March 21, 2000”

Page 30: Configuring PIA

3030

Simple InstallSimple Install

Problems with the Install?Problems with the Install? Right CD?Right CD? Disk Space?Disk Space? Windows - uninstall complete?Windows - uninstall complete? UNIX/AIX /var/tmp sizing?UNIX/AIX /var/tmp sizing?

Page 31: Configuring PIA

3131

Simple InstallSimple Install ConfigurationConfiguration

PSADMINPSADMIN Command line utility to create and administer Command line utility to create and administer

domainsdomains Domain statusDomain status For use by the application server administratorFor use by the application server administrator

New InstallNew Install Domains?Domains?

Sub-directory within $PS_HOME/appservSub-directory within $PS_HOME/appserv Set of server processesSet of server processes You can have more than one domain per You can have more than one domain per

machinemachine Each domain only connects to one Each domain only connects to one

databasedatabase Multiple domains can connect to the same Multiple domains can connect to the same

databasedatabase

Page 32: Configuring PIA

3232

Simple InstallSimple Install ConfigurationConfiguration

UpgradesUpgrades Recreate Domain!!!!!!!!!Recreate Domain!!!!!!!!! Tuxedo may not change but PIA does!Tuxedo may not change but PIA does!

Creating the Domain (PSADMIN)Creating the Domain (PSADMIN) Updates psappsrv.cfg, generates psappsrv.ubb, Updates psappsrv.cfg, generates psappsrv.ubb,

creates pstuxcfgcreates pstuxcfg Appserver Size TemplatesAppserver Size Templates IDsIDs Determine ports in advance (tracking is a good idea)Determine ports in advance (tracking is a good idea)

WSL (7000)WSL (7000) WSH Random assignmentWSH Random assignment JSL (9000)JSL (9000) JSH = JSL + Max Handler!JSH = JSL + Max Handler! JRAD (9100)JRAD (9100)

Page 33: Configuring PIA

3333

Simple InstallSimple Install

Problems?Problems? Bad IDBad ID Wrong DatabaseWrong Database No 2-Tier accessNo 2-Tier access Unavailable PortUnavailable Port No BBLNo BBL Add to Path?Add to Path?

Page 34: Configuring PIA

3434

Monitoring, Tuning, and Automating TasksMonitoring, Tuning, and Automating Tasks

Page 35: Configuring PIA

3535

Most Common Performance Most Common Performance Problems - Web & App. Server Problems - Web & App. Server

S/WS/W

http://www.newport-group-inc.com/

Page 36: Configuring PIA

3636

Typical PeopleSoft Daily Typical PeopleSoft Daily MonitoringMonitoring

Database componentsDatabase components System logsSystem logs Process SchedulerProcess Scheduler Application Server(s) Application Server(s) Web Server(s)Web Server(s) Report ServerReport Server File ServerFile Server Network operationNetwork operation Customer Connection for patches Customer Connection for patches

and code updatesand code updates

Page 37: Configuring PIA

3737

Monitor Application ServerMonitor Application Server The PeopleSoft Administrator can check The PeopleSoft Administrator can check

the status of each application server the status of each application server domain from the PSADMIN program domain from the PSADMIN program

Log filesLog files For each domain should be checked at least For each domain should be checked at least

dailydaily File size should also be checked; they can File size should also be checked; they can

grow quite large, especially if the trace grow quite large, especially if the trace options are enabledoptions are enabled

Check for queuing at peak and normal Check for queuing at peak and normal timestimes

Page 38: Configuring PIA

3838

Automated MonitoringAutomated Monitoring

echo pq | tmadmin -r 2> /dev/null > echo pq | tmadmin -r 2> /dev/null > domainlogdomainlog

while test 1 -eq 1while test 1 -eq 1

dodo

echo pq | tmadmin -r 2> /dev/null >> echo pq | tmadmin -r 2> /dev/null >> domainlogdomainlog

sleep 5sleep 5

donedone

Page 39: Configuring PIA

3939

Automated MonitoringAutomated Monitoring

Quest - FoglightQuest - Foglight TivoliTivoli BMC – PatrolBMC – Patrol

Page 40: Configuring PIA

4040

TroubleshootingTroubleshooting Validate that all servers and services Validate that all servers and services

are still runningare still running Check whether or not some additional Check whether or not some additional

servers need to be loaded (according servers need to be loaded (according to the workload)to the workload)

Check the ULOG files for error Check the ULOG files for error messagesmessages

Check the status of the database the Check the status of the database the application is working withapplication is working with

Page 41: Configuring PIA

4141

Troubleshooting (cont’d)Troubleshooting (cont’d)

Check whether the limit of IPC Check whether the limit of IPC resources has been reachedresources has been reached

Check the free space status of each Check the free space status of each involved directoryinvolved directory

Check for network problemsCheck for network problems Check whether there are enough BEA Check whether there are enough BEA

TUXEDO licensesTUXEDO licenses

Page 42: Configuring PIA

4242

TuningTuning How do you know you have a problem?How do you know you have a problem? Record “normal” baseline performance Record “normal” baseline performance

metricsmetrics Change a configuration value and then Change a configuration value and then

testtest Use a load tester (i.e. Mercury Use a load tester (i.e. Mercury

LoadRunner) LoadRunner) Monitor transactions per min, CPU, Monitor transactions per min, CPU,

memory, and disk utilizationmemory, and disk utilization Compare results to baseline metricsCompare results to baseline metrics Readjust performance metric if Readjust performance metric if

necessarynecessary

Page 43: Configuring PIA

4343

PSAPPSEVR MemoryPSAPPSEVR Memory

ApplicationApplication Memory UseMemory Use Users Per Users Per ProcessProcess

CRMCRM 100-150 MB100-150 MB 50 Users50 Users

HRMSHRMS 100-150 MB100-150 MB 30 Users30 Users

Supply ChainSupply Chain 300-500 MB300-500 MB 10-20 Users10-20 Users

FinancialsFinancials 150-300 MB150-300 MB 20-30 Users20-30 Users

* PeopleSoft recommends using these values for estimating memory usage

Page 44: Configuring PIA

4444

PSAPPSERVR MemoryPSAPPSERVR Memory Windows 2000Windows 2000

Add up the “Memory Usage” and “Virtual Add up the “Memory Usage” and “Virtual Memory Usage” columnsMemory Usage” columns

This is not an absolute value because some This is not an absolute value because some processes are sharedprocesses are shared

Should not exceed 70% of real memoryShould not exceed 70% of real memory Check page/sec for page swapping Check page/sec for page swapping Should be below 100 hard page swapping / secShould be below 100 hard page swapping / sec

UNIXUNIX Use ps_chk_domain (search for Use ps_chk_domain (search for

“Chistopher Che”)“Chistopher Che”) Use vmstat and check po and pi Use vmstat and check po and pi

columns for pagingcolumns for paging

Page 45: Configuring PIA

4545

Recycle CountRecycle Count

The AppServer caches panel objects to The AppServer caches panel objects to memorymemory

If memory usage gets too high If memory usage gets too high swapping occursswapping occurs

Set Recycle Count = 2000Set Recycle Count = 2000 Check for memory swappingCheck for memory swapping To minimize the cost of re-caching, set To minimize the cost of re-caching, set

EnableServerCaching=2 EnableServerCaching=2

Page 46: Configuring PIA

4646

TimeoutsTimeouts

Timeout during a PIA transactionTimeout during a PIA transaction Transaction fails and must be Transaction fails and must be

resubmittedresubmitted Values should be stagedValues should be staged

Timeout between PIA transactionTimeout between PIA transaction User has been idle too longUser has been idle too long

Timeout that reserves a resource Timeout that reserves a resource until expiration timeuntil expiration time

Page 47: Configuring PIA

4747

Application Server TipsApplication Server Tips

Adjust timeout parameters in orderAdjust timeout parameters in order Apache → Jserv → Jolt → Servlet → PIA → App Apache → Jserv → Jolt → Servlet → PIA → App

serviceservicehttpd.conf httpd.conf zone.properties zone.properties

psappsrv.cfg psappsrv.cfg configuration.properties configuration.properties pstools.properties pstools.properties psappsrv.cfgpsappsrv.cfg

Page 48: Configuring PIA

4848

Application Server TipsApplication Server Tips

tmadmintmadmin PrintQueue (pq)PrintQueue (pq)

PrintServer (psr)PrintServer (psr)

Page 49: Configuring PIA

4949

Application Server TipsApplication Server Tips Tuxedo settingsTuxedo settings

Message size, queue, segment, semaphore Message size, queue, segment, semaphore Win2k: Control Panel-> Bea Tux-> IPC ResourcesWin2k: Control Panel-> Bea Tux-> IPC ResourcesUNIX: kernel prefix with msg*,sem*,shm*UNIX: kernel prefix with msg*,sem*,shm*

Page 50: Configuring PIA

5050

Application Server TipsApplication Server Tips OS tuning - NT/Win2KOS tuning - NT/Win2K

TcpTimedWaitDelay, MaxUserPortTcpTimedWaitDelay, MaxUserPort OS tuning - UNIXOS tuning - UNIX

UNIX: kernel prefix with tcp*UNIX: kernel prefix with tcp* Process priority, increase load page sizeProcess priority, increase load page size

Jolt handlerJolt handler Max handlers * Max Clients per Handler >= Max handlers * Max Clients per Handler >=

# of active users# of active users

Page 51: Configuring PIA

5151

High Availability (HA) High Availability (HA) and and

ClusteringClustering

Page 52: Configuring PIA

5252

HA and Clustering TopicsHA and Clustering Topics

PeopleSoft Internet Architecture (PIA) PeopleSoft Internet Architecture (PIA) and Clusteringand Clustering

InfrastructureInfrastructure Webserver ClusterWebserver Cluster

WebLogicWebLogic WebSphereWebSphere

Application Server ClusterApplication Server Cluster Database Server ClusterDatabase Server Cluster Example Clustered EnvironmentExample Clustered Environment

Page 53: Configuring PIA

5353

TermsTerms

High AvailabilityHigh Availability A system designed to avoid loss of A system designed to avoid loss of

serviceservice Continuous AvailabilityContinuous Availability

Non-stop serviceNon-stop service Fault Tolerance Fault Tolerance

Method for achieving very high levels Method for achieving very high levels of availabilityof availability

Page 54: Configuring PIA

5454

DowntimeDowntime Is 99.9% good enough?Is 99.9% good enough?

20,000 incorrect drug prescriptions per year20,000 incorrect drug prescriptions per year 500 incorrect surgical operations each week500 incorrect surgical operations each week 3,500 US babies dropped at delivery each 3,500 US babies dropped at delivery each

yearyear 22,000 checks deducted from the wrong 22,000 checks deducted from the wrong

bank accounts each hourbank accounts each hour Your heart fails to beat 32,000 times each Your heart fails to beat 32,000 times each

yearyear

Page 55: Configuring PIA

5555

Clustering and HAClustering and HA Set target for Quality of Service (QOS)Set target for Quality of Service (QOS)

Scalability (i.e hundreds of thousands of Scalability (i.e hundreds of thousands of users)users)

99.9% availability99.9% availability Clustering methodClustering method

Load balanceLoad balance ReplicationReplication OS clusteringOS clustering

OS clusteringOS clustering Used only in DB TierUsed only in DB Tier

Page 56: Configuring PIA

5656

Application

server

DB

server

Browser

HTTP/HTTPS Jolt/Tuxedo SQLWeb

server

PIA ClusteringPIA Clustering

Also considerAlso consider ScalabilityScalability AvailabilityAvailability SecuritySecurity

Sticky Sessions Load Balance

Load Balance OS Cluster or Replication

Page 57: Configuring PIA

5757

DMZ

Internet

VLAN1

VLAN3

VLAN2

Router Router

Lan1

Lan2

UID

Ext

Int

hp proliant DL360g3

01

Lan1

Lan2

UID

Ext

Int

hp proliant DL360g3

01 ClusteredVIP Address

LoadBalancer

VLAN4Lan1

Lan2

UID

Ext

Int

hp proliant DL360g3

01

Lan1

Lan2

UID

Ext

Int

hp proliant DL360g3

01

Web Servers

Web Servers

ClusteredVIP Address

hp proliant DL560

hp proliant DL560

hp proliant DL740 1 2 3 4 5

Router

CorporateNet

AppServer1

AppServer2

DatabaseServer

LoadBalancer

Firewall

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

OPEN

RAIDStorage

Redundant Architecture

Page 58: Configuring PIA

5858

InfrastructureInfrastructure Internet AccessInternet Access

BGP 4 (Border Gateway Protocol)BGP 4 (Border Gateway Protocol) FatPipeFatPipe

RoutersRouters Enable Packet Filtering, Port Blocking, etc for securityEnable Packet Filtering, Port Blocking, etc for security

Firewalls - Load balancedFirewalls - Load balanced Remove routing and forwarding if firewall is multi-homedRemove routing and forwarding if firewall is multi-homed

Hardware Load Balancer for scalabilityHardware Load Balancer for scalability Reverse Proxy ServerReverse Proxy Server

Microsoft ISAMicrosoft ISA StorageStorage

RAID 0+1 (striping and mirror)RAID 0+1 (striping and mirror) RAID 5RAID 5 AutoRAIDAutoRAID

Page 59: Configuring PIA

5959

Webserver ClusterWebserver Cluster

Use hardware load balancerUse hardware load balancer Cisco LocalDirectorCisco LocalDirector Enable sticky genericEnable sticky generic Sticky timeout greater than PeopleSoft sessionSticky timeout greater than PeopleSoft session Create a http probeCreate a http probe Monitor syslog for failureMonitor syslog for failure

Instances can use different portsInstances can use different ports Maximum scalabilityMaximum scalability Minimum upgrade issuesMinimum upgrade issues

Page 60: Configuring PIA

6060

Application Server ClusterApplication Server Cluster

Multiple Processes per domainMultiple Processes per domain Load balance to domain – randomLoad balance to domain – random Load balance to process – round robinLoad balance to process – round robin Edit configuration.propertiesEdit configuration.properties

Comma separated list of JOLT hosts:portComma separated list of JOLT hosts:port psserver=AppHost1:9000,AppHost1:9100psserver=AppHost1:9000,AppHost1:9100

,AppHost2:9000,AppHost2:9100,AppHost2:9000,AppHost2:9100

Page 61: Configuring PIA

6161

Database ClusterDatabase Cluster

Replication Replication Lots of choicesLots of choices

Database clustering Database clustering Very complicated and expensiveVery complicated and expensive Requires O/S Lock ManagerRequires O/S Lock Manager

OS ClusteringOS Clustering AIX – HACMPAIX – HACMP Compaq – TruClusterCompaq – TruCluster HP – Service GuardHP – Service Guard Solaris – Sun ClusterSolaris – Sun Cluster Windows – MSCSWindows – MSCS

Page 62: Configuring PIA

6262

HA – Key PointsHA – Key Points

Plan redundant infrastructure on paper and Plan redundant infrastructure on paper and then test in a labthen test in a lab

Justify each redundant itemJustify each redundant item Keep it simpleKeep it simple

Some equipment may not require redundancySome equipment may not require redundancy Avoid O/S clusters Avoid O/S clusters

Continue to make backupsContinue to make backups Learn how troubleshoot the systemLearn how troubleshoot the system

Use monitoring toolsUse monitoring tools

Page 63: Configuring PIA

6363

Questions / DiscussionQuestions / Discussion