Saturday

Application Server Configuration

These are the importnat application server configuration files -
  • psappsrv.val,
  • psappsrv.cfg,
  • psappsrv.ubx,
  • psappsrv.ubb,
  • psappsrv.env,
  • psappsrv.psx,
  • psappsrv.lst,
  • PSTUXCFG

psappsrv.val

This is the validation file for interactive configuration dialog. The responses given while configuring app server domain using psadmin utility are validated against values in this file.


psappsrv.cfg

It specifies most of the configuration of an application server domain. It is combined with psappsrv.ubx by the ubbgen utility to produce psappsrv.ubb and psappsrv.env. The variables that appear in psappsrv.ubx are used as part of tuxedo configuration, variables which are not there in psappsrv.ubx and are in psappsrv.cfg are directly read from this file by the application server processes. e.g. EnableDataMonitoring

Important sections/parameters in psappsrv.cfg
1) Startup Section -
Database Signon Settings - specifies how application server processes connect to database.
DBName
UserID - used to start the application server. [* Create a peoplesoft operator ID that has only the privilege to start the application server.]
2) Database Options - Database specific configuration options.
  • UseLocalOracleDB = 0 (default); if set to 1, the server processes will attempt to make a direct shared-memory connection to the database. It works only if the application server and database server are on the same node.
  • EnableDBMonitoring = 1(enabled by default); Enabling this parameter causes application server to write a string to the session information using DBMS_APPLICATION_INFO.SET_CLIENT_INFO package. Database session of peoplesoft processes can be therefore read from V$SESSION [SELECT CLIENT_INFO, PROGRAM FROM V$SESSION WHERE CLIENT_INFO IS NOT NULL;]
3) Security Section - Security settings
  • Use the database for additional signon authentication.
  • Validate Signon with Database - Default value is 0, If this option is set, user login will fail unless corresponding database user account is created for every application user.
4) Workstation and Jolt Listener -
  • Multiplexing Factor - Tuxedo default parameter for the multiplexing factor is 10, means 10 clients per handler. Peoplesoft delivered default is 40 for both JSL and WSL.
  • By reducing number of clients per handler, more WSH and JSH processes will be required, and more return queues to the handler process will be created. This will reduce contention on the return queues.
  • Total number of clients that can connect to application server via the WSL is the maximum number of handlers multiplied by multiplexing factor. If the number of clients per handler is reduced, maximum number of handlers should be increased by the same factor to allow support to same number of concurrent connections.
  • Timeout parameter - expressed in minutes. Peoplesoft default is 5 minutes, servlet or windows client silently authenticate itself to the application server.
  • Tuxedo Jolt Compression Threshold - Set a very large compression threshold so no messages are large enough to be compressed. Servlet and application server should be located physically close to each other on same low latency network. A double compression is a waste of resource so this should be avoided if compression is enabled at hardware level.
5) Domain Settings - General setting for application server, generally the Domain name should be the name of the database. If there are multiple application servers on the same peoplesoft database, give each one a different Domain ID. DomainID appears in V$SESSION.CLIENT.INFO, and it is adentifiable which application server the session relates. Give Log Directory value here if app server logs are stored on different location.
6) Server Trace Settings - This should be enabled only in a limited test environment.  
7) Remote Call section - Synchronously initiate batch COBOL programs on application server from PIA rather than scheduling corresponding process on scheduler. When PSAPPSRV initiate sthe COBOL process, it is in fact in middle of executing routine, and PSAPPSRV cannot handle any other service until a remote call finishes and the service is complete. The risk here is if there are many remote calls and performance degrades then all the PSAPPSRV could be blocked and the application server will hang.
8) Peoplesoft Server Processes - The server definitions contain a number of parameters-
  • Minimum and Maximum number of processes.
  • Service Timeout - maximum amount of time that a service request can spend either on queue or active on the server process before it is timed out.
  • Recycle Count - Server processes recycle after handling the number of number of services specified. Recycle count parameter helps in hiding memory leaks and relinquish allocated memory.
  • Max Fetch Size - This parameter controls the amount of data that can be fetched by the SqlRequest or SqlQuery service executed by PSAPPSRV.
9) PSQCKSRV or PSQRYSRV - When a query is submitted from the PIA, the entire result set is returned to the servlet is a single tuxedo message, although a part of it may be displayed at a time.
10) Cache Settings


psappsrv.ubx:

Tuxedo template file used by ubbgen to generate psappsrv.ubb and psappsrv.env. It contains variables whose values are specified in psappsrv.cfg file. The output file contains the literal values of these variables.

Important sections/parameters in psappsrv.ubx

1) Environment Variables - are read by ubbgen with getenv() function, e.g. TUXDIR.

2) Configuration Variables - defined in Tuxedo template file. ubbgen looks up the values of these variables in psappsrv.cfg3) Special Variables - e.g. MAXSERVERS etc.4) Prompted Variables - all other variables are prompted, these specifies a number of Yes/No questions asked during configuration.5) TUXEDO Servers section - Default clause in this section specifies default parameters that apply to all servers unless overridden by the individual server definition.
CLOPT- command line options, e.g. a server can be started MAXGEN times in the GRACE period before it is marked as being in error. 

TMSYSEVT- the only server process delivered by BEA. It is not configured by default and is used only when Tuxedo Administration Console is to be used to administer the domain.
IPCKEY- this is ID of bulletin board shared memory segment. It is passed to PSWATCHSRV so that it can search BB for locked servers.

* A single Tuxedo domain can be split across more than one physical machines to permit load-balancing but peoplesoft neither uses nor support this.



Mandatory Servers in an application server domain -
  1. PSWATCH SRV,
  2. PSAPPSRV,
  3. PSSAMSRV,
  4. PSMONITOSRV.

PSWATCHSRV (Watch Server)- this does not connect to database and does not advertise or handles any service. Its job is to kill those server processes which are stuck and cant be shut down. There is only one instance of PSWATCHSRV, maximum and minimum number of instances of this server is hard-coded as one.

 
Main Application Server (PSAPPSRV): The heart of application server domain which authenticates users and is responsible for generating pages, building HTML and processing business logic.

If PSQCKSRV and/or PSQRYSRV are configured in domain, then the services that they advertise are no longer advertised by PSAPPSRV. The services to be advertised are specified by -s parameter within server's command line options. There are 3 formats for this parameter-
1) -s@psappsrv.lst; this file specifies and lists all the services that are available with different servers.
2) -s<ServiceName> e.g. -sSqlQuery
3) -s<ServiceName:FunctionName> e.g. -sSqlQuery:SqlRequest


PSSAMSRV: This server process is only used by 3-tier clients and mostly when submitting requests to process scheduler. This server is mandatory and cannot be disabled. This server is never spawned.

Performance Monitor Server (PSMONITORSRV): This server is always configured and it has 3 functions-1) measuring tuxedo performance, 2) resolving Master/Slave failover for IB and 3) cancelling ad-hoc queries.



Quick Server (PSQCKSRV): Its a copy of PSAPPSRV but used for quick services. PSQCKSRV handles the very short duration services such as simple SQL queries. These queries get through the application server quickly and these have not to wait in the queue behind the larger and slower services. This server is never used by PIA.

Query Server (PSQRYSRV): Again, a copy of PSAPPSRV and handles the long running queries issued from PSQuery tool in PIA or from a 3-tier PSQuery client. It advertises two services  -sICQuery, -sSqlQuery:SqlRequest. If this server is enabled, then the service Timeout of this service is taken from the tuxedo service section for PSQRYSRV, not from PSAPPSRV.

Debug Server (PSDBGSRV): Application designer makes a persistent connection to this server and only one debug server can be configured in a app server domain. It runs on port 9500.

Real-Time Notification Server (PSRENSRV): It is a modified webserver used to send real time event notifications e.g. report related notifications to PIA users. Its primary purpose is to publish events to web browser.

Performance Collator Server (PSPPMSRV): The server collects performance metrics and inserts them into Performance Monitor tables- PSPMTRANSHIST, PSPMEVENTHIST etc.

A tools only database can be configured with multiple collators in a cluster to provide failover and scalability.

On Global Administration page (PeopleTools, Performance Monitor, Administration, Global Administration, you specify the PPMI URL stored in monitoring system database and the URL is used by PSPPMSRV to locate the PPMI servlet with which to register. The syntax is http(s)://<host:port>/ppmi/<site_name>/. You specify the PPMI userID and PPMI password which is passed by PSPPMSRV to PPMI servlet which verifies the userID/pswd and whether user has the permission to access ppmi servlet. This user must have a permission list with ppmi access selected (delivered one is PTPMCLNT)

Analytic Servers (PSANALYTICSRV): The server writes analytics - issues with running the application to log file.

Application Messaging Servers: There are up to 6 different server processes that can be configured to support application messaging(IB). Multiple instances of these server processes can be configured based on demand or in a heavy IB activity domain. These are -

PSBRKDSP, PSBRKHND
PSPUBDSP, PSPUBHND
PSSUBDSP, PSSUBHND

PSMSGDSP & PSMSGHND: Overhead of the application messaging can be significant in
a development environment so the developer template specifies these two messaging servers configuration.


7) Tuxedo SERVICES Section - This section defines different service attributes which you can set as required. These values affect load balancing, spawning of the servers and de-queuing of the requests. Peoplesoft delivers all services with same load and priority.

8) PS_ENVFILE Section -  This section contains information that peroplesoft uses to generate the server process environment file which is read by every server process as it starts and it sets the environment variables for that server process.


psappsrv.ubb: This file is generated by ubbgen and serves as domain configuration source file, all the variables from psappsrv.ubx are resolved to literals in this file. It is useful to examine this file to see what is currently set, however this file should never be modified. The changes should be made only in psappsrv.ubx and psappsrv.cfg.


psappsrv.env: Generated by ubbgen and is read by each application server process as it starts.


psappsrv.cfx (Configuration Template files): These files are template files which stores the delivered configuration templates - developer, large, medium and small. 

psappsrv.psx: This is template file for messaging section of .cfg and .ubx files.



PSSTUXCFG

The peoplesoft process ubbgen reads psappsrv.cfg and psappsrv.ubx and generates psappsrv.ubb and psappsrv.env files. Tuxedo utility - tmloadcf complies the psappsrv.ubb into binary configuration file PSTUXCFG. When the domain is started, the BBL is established and it reads the PSTUXCFG and starts the rest of the domain. ubbgen and tmloadcf processes are run back to back without a pause by psadmin utility.


pswinsrv.cfg: Configuration file that is used when app server and/or process scheduler is configured to start as a windows service. Its parameters are -

Service Start Delay - Delay in seconds. Its period of time that elapse before starting the PS windows service.
Application Server Domains- Comma separated list of domains those will be started with this service.
Process Scheduler Domains - Comma separated list of PRCS domains.


Application Server Administration

No comments:

Post a Comment

Followers