This document discusses configuring and tuning the PeopleSoft application server. It begins with an overview of the PeopleSoft Internet Architecture (PIA) and the application server's role. It then covers installation issues and architecture considerations like application server sizing. The document also discusses monitoring, tuning and automating tasks for the application server as well as high availability and clustering.
This document discusses configuring and tuning the PeopleSoft application server. It begins with an overview of the PeopleSoft Internet Architecture (PIA) and the application server's role. It then covers installation issues and architecture considerations like application server sizing. The document also discusses monitoring, tuning and automating tasks for the application server as well as high availability and clustering.
This document discusses configuring and tuning the PeopleSoft application server. It begins with an overview of the PeopleSoft Internet Architecture (PIA) and the application server's role. It then covers installation issues and architecture considerations like application server sizing. The document also discusses monitoring, tuning and automating tasks for the application server as well as high availability and clustering.
This document discusses configuring and tuning the PeopleSoft application server. It begins with an overview of the PeopleSoft Internet Architecture (PIA) and the application server's role. It then covers installation issues and architecture considerations like application server sizing. The document also discusses monitoring, tuning and automating tasks for the application server as well as high availability and clustering.
Download as PPT, PDF, TXT or read online from Scribd
Download as ppt, pdf, or txt
You are on page 1of 63
1
Configuring & Tuning the
PeopleSoft Application Server 2 Agenda
Inside the PeopleSoft Internet Architecture (PIA) In Depth Coverage of the Application Server's Role in PIA
Installation Issues, Architecture Considerations Monitoring, Tuning, and Automating Tasks High Availability and Clustering Questions/Answers 3 Part I: Inside the PeopleSoft Internet Architecture (PIA) 4 Architecture History Application server DB server Window s RPC SQL DB server Windo ws SQL Application server DB server Brows er HTTP/HTTPS Jolt/Tuxedo SQL Web server Rendering Code Application Code 5 PeopleSoft Internet Architecture PeopleSoft Application Server Controls all application logic/HTML/XML generation Jolt/Tuxedo interface to servlet/web server LDAP authentication optional (Active Directory) Application server DB server Web server Brows er HTTP/HTTPS Jolt/Tuxedo SQL LDAP 6 PeopleTools Development Environment PeopleSoft Designer (IDE) IDE talks to DB Server, or Application Server Runs in Windows-only environment Most objects are stored in the database Application server DB server Web server Brows er Jolt/Tuxedo SQL Wi n SQL Jolt/Tuxedo HTTP/HTTPS 7 Runtime HTML/XML Generation Occurs on Application Server Page definitions written in a proprietary code is stored in database Developer does not code HTML; does not need to know web programming HTML automatically generated from page definition Page design is somewhat limited Pages have a standard look and feel 8 PIA Web Applications/Servlets Page: end users connection to PeopleSoft apps Portal: gathers content from multiple sources Report Distribution: users interface to batch reports Application Messaging Gateway: transmits publish/subscribe (ie XML) messages between nodes XML Link: used for Business Interlinks Integration Broker: next generation application messaging/XML link Sync Gateway: used for mobile connectivity Web 9 PIA Web Applications/Servlets Integration Broker Messaging (sync/async) across the enterprise Web services based hub that handles system to system interactions External Systems Application server DB server Web server Brows er Jolt/Tuxedo SQL HTTP/HTTPS XML 10 In Depth Coverage of the Application Server's Role in PIA 11 Application Server Domains Built around Tuxedo domains Tuxedo developed by Bell Labs in 1983 BEA buys Tuxedo from Novell in 1995 Provides many benefits Scalability (multiple instances of app server processes, fewer connections to database) Restartability/fault tolerance of app server processes Load balancing of app server processes 12 Application Server Domains Domains consist of two items Sub-directory within $PS_HOME/appserv Set of server processes Relationships Domains to Machines: Many-to-1 Domains to Databases: Many-to-1 Databases to Domains: 1-to-1 13 Application Server Domains Simple domain on one application server machine BROWSER WEB SERVER APPLICATION SERVER HR database HR Domain 14 Application Server Domains Multiple domains per application server - each domain associated with a different URL BROWSER WEB SERVER APPLICATION SERVER HR database HR Domain FS Domain FS database 15 Application Server Domains Fault resilient multiple machines BROWSER WEB SERVER APPLICATION SERVER HR database HR Domain FS Domain FS database APPLICATION SERVER FS Domain HR Domain WEB SERVER 16 APPLICATION SERVER Application Server Domains BBL Workstation Handler Workstation Handler Workstation Listener 1 st Request Request Request Request PSAPPSRV PSAPPSRV PSAPPSRV PSQRYSRV PSQRYSRV APPSRV Q QRYSRV Q 17 BEA Tuxedo Communications Queue A process used when an application needs to communicate in a time-independent fashion Transaction Groups logical actions together and allows the operation to be undone Event A server is notified when the information it wants is available or when something has happened 18 TUXEDO Communication Models Synchronous Request/Response: tpcall(), TxRPC Asynchronous Request/Response: tpacall(), tpgetrply() Conversation: tpconnect(), tpsend(), tprecv() Unsolicited Notification: tpnotify(), tpbroadcast() Event: tppost(), tpsubscribe() Queued Request/Response: tpenqueue(), tpdequeue() 19 PeopleSoft Servers PSAPPSRV Performs panel builds and panel save Caches object definitions & business logic in memory to speed processing PSQCKSRV (optional) Performs a subset of fast, non-transactional, read-only requests PSSAMSRV Performs transactional SQL requests PSQRYSRV Handles SQL request from PS Query Messenger Services Publishing Broker: PSBRKDSP, PSBRKHND Publishing Contractor: PSPUBDSP, PSPUBHND Subscription Contractor: PSSUBDSP, PSSUBHND 20 Application Server Domains PSADMIN Command line utility to create and administer domains Domain status For use by the Application Server administrator psappsrv.cfg Contains domain specific settings For use by the Application Server administrator Many other files behind the scenes Process Scheduler domains use same procedure 21 Installation Issues and Architecture Considerations 22 Two Main Discussion Points AppServer Sizing Simple Install
23 AppServer Sizing Measure against a known workload TPC/C Ratings (http://www.tpc.org) Compare the TPC/C ratings Compare the different models Physical or Logical Servers? Are the Servers, OS, etc. supported by PeopleSoft? Upgrade options? 24 AppServer Sizing PeopleSoft Benchmarks Rule-of-Thumb: Application Server needs 6 times more processing power than a web server Estimate the concurrent usage patterns Categorize the users into light, medium and heavy 25 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 26 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 27 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 28 Comes right off the Tuxedo CD Install.sh or setup.exe UNIX/AIX ftp Tuxedo 6.5/Jolt 1.2 certified Tools 7.05 8.4x Max install approx. 160MB Software Docs WebGUI Admin Upgrading Tuxedo? Win - Must uninstall old version! UNIX Tuxedo 6.3 vs 6.5? Simple Install 29 Simple Install AppServer Administrator Existing vs. New User Environment Variables TUXDIR PATH NLSPATH Validate Install $TUXDIR/udataobj/lic.txt PeopleSoft Edition Built on BEA March 21, 2000 30 Simple Install Problems with the Install? Right CD? Disk Space? Windows - uninstall complete? UNIX/AIX /var/tmp sizing? 31 Simple Install Configuration PSADMIN Command line utility to create and administer domains Domain status For use by the application server administrator New Install Domains? Sub-directory within $PS_HOME/appserv Set of server processes You can have more than one domain per machine Each domain only connects to one database Multiple domains can connect to the same database 32 Simple Install Configuration Upgrades Recreate Domain!!!!!!!!! Tuxedo may not change but PIA does! Creating the Domain (PSADMIN) Updates psappsrv.cfg, generates psappsrv.ubb, creates pstuxcfg Appserver Size Templates IDs Determine ports in advance (tracking is a good idea) WSL (7000) WSH Random assignment JSL (9000) JSH = JSL + Max Handler! JRAD (9100) 33 Simple Install Problems? Bad ID Wrong Database No 2-Tier access Unavailable Port No BBL Add to Path? 34 Monitoring, Tuning, and Automating Tasks 35 Most Common Performance Problems - Web & App. Server S/W http://www.newport-group-inc.com/ 36 Typical PeopleSoft Daily Monitoring Database components System logs Process Scheduler Application Server(s) Web Server(s) Report Server File Server Network operation Customer Connection for patches and code updates 37 Monitor Application Server The PeopleSoft Administrator can check the status of each application server domain from the PSADMIN program Log files For each domain should be checked at least daily File size should also be checked; they can grow quite large, especially if the trace options are enabled Check for queuing at peak and normal times 38 Automated Monitoring echo pq | tmadmin -r 2> /dev/null > domainlog while test 1 -eq 1 do echo pq | tmadmin -r 2> /dev/null >> domainlog sleep 5 done
39 Automated Monitoring Quest - Foglight Tivoli BMC Patrol 40 Troubleshooting Validate that all servers and services are still running Check whether or not some additional servers need to be loaded (according to the workload) Check the ULOG files for error messages Check the status of the database the application is working with 41 Troubleshooting (contd) Check whether the limit of IPC resources has been reached Check the free space status of each involved directory Check for network problems Check whether there are enough BEA TUXEDO licenses
42 Tuning How do you know you have a problem? Record normal baseline performance metrics Change a configuration value and then test Use a load tester (i.e. Mercury LoadRunner) Monitor transactions per min, CPU, memory, and disk utilization Compare results to baseline metrics Readjust performance metric if necessary 43 PSAPPSEVR Memory Application Memory Use Users Per Process CRM 100-150 MB 50 Users HRMS 100-150 MB 30 Users Supply Chain 300-500 MB 10-20 Users Financials 150-300 MB 20-30 Users * PeopleSoft recommends using these values for estimating memory usage 44 PSAPPSERVR Memory Windows 2000 Add up the Memory Usage and Virtual Memory Usage columns This is not an absolute value because some processes are shared Should not exceed 70% of real memory Check page/sec for page swapping Should be below 100 hard page swapping / sec UNIX Use ps_chk_domain (search for Chistopher Che) Use vmstat and check po and pi columns for paging 45 Recycle Count The AppServer caches panel objects to memory If memory usage gets too high swapping occurs Set Recycle Count = 2000 Check for memory swapping To minimize the cost of re-caching, set EnableServerCaching=2 46 Timeouts Timeout during a PIA transaction Transaction fails and must be resubmitted Values should be staged Timeout between PIA transaction User has been idle too long Timeout that reserves a resource until expiration time 47 Application Server Tips Adjust timeout parameters in order Apache Jserv Jolt Servlet PIA App service httpd.conf zone.properties psappsrv.cfg configuration.properties pstools.properties
psappsrv.cfg 48 Application Server Tips tmadmin PrintQueue (pq)
PrintServer (psr) 49 Application Server Tips Tuxedo settings Message size, queue, segment, semaphore Win2k: Control Panel-> Bea Tux-> IPC Resources UNIX: kernel prefix with msg*,sem*,shm* 50 Application Server Tips OS tuning - NT/Win2K TcpTimedWaitDelay, MaxUserPort OS tuning - UNIX UNIX: kernel prefix with tcp* Process priority, increase load page size Jolt handler Max handlers * Max Clients per Handler >= # of active users 51 High Availability (HA) and Clustering 52 HA and Clustering Topics PeopleSoft Internet Architecture (PIA) and Clustering Infrastructure Webserver Cluster WebLogic WebSphere Application Server Cluster Database Server Cluster Example Clustered Environment 53 Terms High Availability A system designed to avoid loss of service Continuous Availability Non-stop service Fault Tolerance Method for achieving very high levels of availability
54 Downtime Is 99.9% good enough? 20,000 incorrect drug prescriptions per year 500 incorrect surgical operations each week 3,500 US babies dropped at delivery each year 22,000 checks deducted from the wrong bank accounts each hour Your heart fails to beat 32,000 times each year 55 Clustering and HA Set target for Quality of Service (QOS) Scalability (i.e hundreds of thousands of users) 99.9% availability Clustering method Load balance Replication OS clustering OS clustering Used only in DB Tier 56 Application server DB server Brows er HTTP/HTTPS Jolt/Tuxedo SQL Web server PIA Clustering Also consider Scalability Availability Security
Sticky Sessions Load Balance Load Balance OS Cluster or Replication 57 DMZ Internet VLAN1 VLAN3 VLAN2 Router Router Lan1 Lan2 UID Ext Int hp proliant DL360g3 0 1 Lan1 Lan2 UID Ext Int hp proliant DL360g3 0 1 Clustered VIP Address Load Balancer VLAN4 Lan1 Lan2 UID Ext Int hp proliant DL360g3 0 1 Lan1 Lan2 UID Ext Int hp proliant DL360g3 0 1 Web Servers Web Servers Clustered VIP Address hp proliant DL560 hp proliant DL560 hp proliant DL740 1 2 3 4 5 Router Corporate Net App Server1 App Server2 Database Server Load Balancer 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 RAID Storage Redundant Architecture 58 Infrastructure Internet Access BGP 4 (Border Gateway Protocol) FatPipe Routers Enable Packet Filtering, Port Blocking, etc for security Firewalls - Load balanced Remove routing and forwarding if firewall is multi-homed Hardware Load Balancer for scalability Reverse Proxy Server Microsoft ISA Storage RAID 0+1 (striping and mirror) RAID 5 AutoRAID 59 Webserver Cluster Use hardware load balancer Cisco LocalDirector Enable sticky generic Sticky timeout greater than PeopleSoft session Create a http probe Monitor syslog for failure Instances can use different ports Maximum scalability Minimum upgrade issues 60 Application Server Cluster Multiple Processes per domain Load balance to domain random Load balance to process round robin Edit configuration.properties Comma separated list of JOLT hosts:port psserver=AppHost1:9000,AppHost1:9100,App Host2:9000,AppHost2:9100 61 Database Cluster Replication Lots of choices Database clustering Very complicated and expensive Requires O/S Lock Manager OS Clustering AIX HACMP Compaq TruCluster HP Service Guard Solaris Sun Cluster Windows MSCS 62 HA Key Points Plan redundant infrastructure on paper and then test in a lab Justify each redundant item Keep it simple Some equipment may not require redundancy Avoid O/S clusters Continue to make backups Learn how troubleshoot the system Use monitoring tools 63 Questions / Discussion