Skip Headers
Siebel CRM Performance Tuning Guide
Siebel Innovation Pack 2015, Rev. A
E54321_01
  Go to Documentation Home
Home
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
View PDF  

14 Monitoring Siebel Application Performance with Siebel ARM

This chapter provides an overview of performance monitoring using the Siebel Application Response Measurement (Siebel ARM) feature. It contains the following topics:

For information about how to analyze the data that the Siebel ARM feature collects, see Chapter 15, "Analyzing Siebel ARM Data."

About Siebel Application Response Measurement

Siebel ARM is a framework for capturing critical performance data in Siebel Business Applications. This data is saved in binary file format. For information about how to analyze the data in these files, see Chapter 15, "Analyzing Siebel ARM Data."

Siebel ARM captures response times at key monitoring points within the Siebel Server infrastructure. These Siebel ARM monitoring points are classified in the following distinct areas within the Siebel infrastructure:

  • Web Server Time. Time duration a request has spent on the Web server.

  • Infra-Network Time. Time duration between a request from the Web server and the Siebel Server (including the network time).

  • Siebel Server Time. Time duration for the request to be processed by the Siebel Server and the Siebel database server (time between Server Thread (SMI) and any database-layer calls).

  • Database Time. Time for any Siebel database-layer calls.

  • Application-Specific Time. Time duration spent in application-specific areas of the infrastructure.

The Siebel ARM feature monitors system performance in the infrastructure and application-specific areas in the following list. The areas in Table 14-1 are listed as they appear in Siebel ARM output. The name in parentheses after the area name represents the area symbol, which also appears in Siebel ARM output. In this table, MWC represents the Mobile Web Client.

Table 14-1 Siebel Infrastructure and Application Areas Monitored by Siebel ARM

Area Monitored by Siebel ARM Area Monitored by Siebel ARM

SARM Framework (SARM)

Assignment Manager (AM)

Web Engine (SWE)

Fulfillment Engine (FSFULFILL)

Build Web Page (SWEPAGE)

Preventative Maintenance Engine (FSPREVMNT)

Web Server Plugin (SWSE)

Siebel Loyalty (LOY)

Database Connector (DBC)

Handheld Sync (HHSYNC)

Application Server (INFRA)

SmartScript (SMARTSCRIPT)

Workflow (WORKFLOW)

Siebel Anywhere (SIEBANYWHERE)

eScripts (SCRIPT)

Communications Channel Manager (CSMM)

Request Broker (SRB)

Communications Server Service (CSS)

File System Manager (FSM)

Customer/Order Management - Configurator (COMCFG)

Business Service (BUSSRVC)

EAI Transports (EAITRANSP)

Email Response (EMR)

MWC Profiler (MWC)

Security / Authentication (SEC)

Communications Outbound Manager (COM)

Object Manager (OBJMGR)

Universal Inbox (UINBOX)

Siebel Repository (SRF)



Each area listed contains one or more subareas, which further define the timing and performance of their respective area. The number of areas and subareas present in Siebel ARM files depends on the granularity level, which is configured by the parameter SARM Granularity Level. For more information about this parameter, see "About Siebel ARM Parameters and Variables". For more information about the format of Siebel ARM files, see "About Siebel ARM Files".

About Siebel ARM Parameters and Variables

The following parameters on the Siebel Server and equivalent environment variables on the Web server enable and configure the Siebel ARM feature. The Siebel ARM parameters and environment variables are equivalent in function and similar in naming convention.

See Table 14-2 for a listing of each Siebel ARM parameter and its equivalent environment variable. Descriptions of each parameter and environment variable follow the table. For more information about enabling Siebel ARM using these parameters and environment variables, see "Enabling and Configuring Siebel ARM".

Table 14-2 Siebel ARM Parameters and Environment Variables

Parameter Display Name Parameter Alias Environment Variable Name

SARM Granularity Level

SARMLevel

SIEBEL_SARMLevel

SARM Buffer Size

SARMBufferSize

SIEBEL_SARMBufferSize

SARM Period

SARMPeriod

SIEBEL_SARMPeriod

SARM Max Number of Files

SARMMaxFiles

SIEBEL_SARMMaxFiles

SARM Data File Size

SARMFileSize

SIEBEL_SARMFileSize

Not applicable for Siebel Server

Not applicable for Siebel Server

SIEBEL_SARMThreshold


SARM Granularity Level

This parameter or equivalent environment variable specifies the amount of response measurement detail logged to Siebel ARM files, and effectively enables or disables the Siebel ARM feature. SARM Granularity Level has the following settings:

  • 0 (OFF). This setting is the default value and disables Siebel ARM.

  • 1 (ARM). This setting captures general application performance and is based on the application response measurement (ARM) standard. At this level, Siebel ARM collects information such as process and component boundaries, third-party software calls, database measurements, workflow execution, and script performance. Use this level for general performance monitoring.

  • 2 (Detail). This setting captures the information at level 1 as well as detailed information such as steps of workflow execution, construction of large objects, reading of large files, and crossing significant architectural areas. Use this level for problem diagnostics.

SARM Buffer Size

The Siebel ARM framework uses a buffered data generation mechanism. Siebel ARM collects data and stores it in memory. After the in-memory data size reaches a threshold defined by the SARM Buffer Size parameter or equivalent environment variable, Siebel ARM outputs the stored data to file on a physical disk. SARM Buffer Size is specified in bytes. The default value is 5000000 (5,000,000 bytes, approximately 5 MB). Valid settings correspond to values ranging from 100,000 bytes to 50,000,000 bytes.


Note:

Siebel ARM also outputs stored data to file based on elapsed time, which is defined by the SARM Period parameter or environment variable. The SARM Period setting can determine the size of the data saved to file rather than the threshold value defined by SARM Buffer Size.

For example, if the setting of SARM Buffer Size is 5 MB and there are five instances (processes) of the component, then the total memory used is 25 MB.

SARM Period

Siebel ARM collects data and stores it in memory. The time period specified by the SARM Period parameter or equivalent environment variable determines when Siebel ARM outputs the stored data to file on a physical disk regardless of the value set for SARM Buffer Size. The value of SARM Period is specified in minutes, and has a default value of 3 minutes. The valid settings range from 1 minute to 60 minutes.


Note:

Only use SARM Period to output Siebel Server performance data based on elapsed time. Siebel ARM outputs Web server performance data based only on the SARM Buffer Size value. For more information about SARM Buffer Size, see "SARM Buffer Size".

SARM Max Number of Files

This parameter or equivalent environment variable specifies the maximum number of Siebel ARM files created per component instance. The default value is 4, and there is no predefined upper limit to the number of files Siebel ARM creates. (SARM Data File Size configures how large a file becomes before a new file is stored on the physical disk.)

The number of active Siebel ARM files per component process is the value of SARM Max Number of Files plus 1. Siebel ARM removes the oldest file for that process only after the file representing SARM Max Number of Files plus 1 reaches the value of SARM Data File Size. For an example of how to calculate memory usage, see "SARM Data File Size".

SARM Data File Size

This parameter or equivalent environment variable specifies how large a file becomes before Siebel ARM stores data in a new file on the physical disk. The value of SARM Data File Size is specified in bytes. The default value is 15000000 (15,000,000 bytes, approximately 15 MB), and there is no predefined upper limit to file size.

Until the specified size is reached, Siebel ARM continues to append file segments to the current file. When the file limit is reached, Siebel ARM creates a new file. (SARM Max Number of Files configures the number of files maintained by Siebel ARM.)

When Siebel ARM reaches the file number specified by SARM Max Number of Files (that is, the number of files of size SARM Data File Size has reached the value of SARM Max Number of Files), Siebel ARM removes the first file (that is, the oldest file) when the next file reaches the SARM Data File Size limit.

Therefore, the maximum amount of disk space used is approximately SARM Max Number of Files plus 1 times the number of bytes represented by the value of SARM Data File Size. This amount of memory is per-process (per component instance).

For example, if SARM Data File Size is 15 MB, SARM Max Number of Files is 4, and there are 5 instances (processes) of the component, then the maximum amount of disk space consumed is approximately 375 MB; that is, 15 MB per file, times 5 files per process, times 5 processes (instances of the component).

SIEBEL_SARMThreshold Environment Variable

If you are using the Siebel ARM Analyzer Tool, then set the SIEBEL_SARMThreshold environment variable to 0 on the Web server computer. Otherwise, user session data will not be available to the Siebel ARM Analyzer Tool, and the XML output file will be blank.

Enabling and Configuring Siebel ARM

Enabling and configuring Siebel Application Response Measurement (Siebel ARM) involves two tasks:

  • Setting Siebel ARM parameters on the Siebel Server.

  • Setting Siebel ARM environment variables on the Web server.

Setting Siebel ARM Parameters on the Siebel Server

Perform the following procedure to enable and configure Siebel ARM on the Siebel Server. By default, Siebel ARM is disabled.


Note:

If any of the Siebel ARM parameters that you want to set are not visible, then make sure that the parameter Show Advanced Objects (alias ShowAdvancedObjects) is set to TRUE for the server component Server Manager (alias ServerMgr), or click Advanced to view the parameters in a server configuration view.

To enable and configure Siebel ARM an the Siebel Server 

  1. Set the parameter SARM Granularity Level (alias SARMLevel) to a value of 1 or 2 to enable Siebel ARM on the Siebel Server.

    You can enable Siebel ARM at either the enterprise, Siebel Server, or server component level. For more information about this parameter and its settings, see "About Siebel ARM Parameters and Variables".

  2. Set the other Siebel ARM-related parameters to configure the Siebel ARM file characteristics on the Siebel Server.

    You can configure Siebel ARM at the Siebel Server or server component level. For more information about these parameters, see "About Siebel ARM Parameters and Variables".

For more information about setting Siebel Server parameters using the Server Manager GUI or command-line interface, and for background information about parameter administration, see Siebel System Administration Guide.

Setting Siebel ARM Environment Variables on the Web Server

Perform the following procedure to enable and configure Siebel ARM on the Web server computer.

To enable and configure Siebel ARM on the Web server 

  1. Set the environment variable SIEBEL_SARMLevel to a value of 1 or 2 to enable Siebel ARM on the computer hosting the Web server.

    For more information about this environment variables and its settings, see the description for SARM Granularity Level in "About Siebel ARM Parameters and Variables".

  2. Set the other Siebel ARM-related environment variables to configure the Siebel ARM file characteristics on the computer hosting the Web server.

    For more information about these environment variables, see "About Siebel ARM Parameters and Variables".

For more information on setting environment variables on both Microsoft Windows and UNIX, see Siebel System Administration Guide.

Guidelines for Converting Siebel ARM File

Review the following information as recommendations when converting Siebel ARM files.

  • Set the Siebel ARM granularity to level 1 for monitoring production deployments; set the granularity to level 2 for diagnostic purposes.

  • Set the SARM Max Number of Files parameter to 0 in order to disable Siebel ARM file creation. This scenario can be useful when you are enabling Siebel ARM for use with other third-party response measurement tools.

  • Make sure that the Siebel ARM feature has flushed data to the Siebel ARM file before converting the file. The Siebel ARM feature creates an empty Siebel ARM file before data is flushed to the file. For more information about this process, see the descriptions for SARM Data File Size and SARM Period in "About Siebel ARM Parameters and Variables".

  • Change the value of SARM Memory Size Limit or SARM Period to a lower setting if the Siebel ARM files remain empty on a consistent basis. For more information about this process, see the descriptions for SARM Data File Size and SARM Period in "About Siebel ARM Parameters and Variables".

  • Make sure that the Siebel ARM file name and path name, as necessary, are correct when referencing the Siebel ARM files in the commands.

  • (Siebel ARM Analyzer Tool only) If the Siebel ARM Analyzer Tool cannot convert large Siebel ARM files or the output file is too large, then split the Siebel ARM file by using the -p flag with the tool. For more information about the -p flag, see Table 15-9.

  • Concatenate Siebel ARM files to increase the amount of performance data for a given process. For example, as the Siebel ARM feature can save numerous Siebel ARM binary files for each process, concatenate these files to view performance data for multiple requests for this process. For more information about the number of files saved, see the description for SARM Max Number of Files in "About Siebel ARM Parameters and Variables".


    Tip:

    Use a third-party utility to concatenate Siebel ARM files on Windows. Use the command cat list_of_files > filename.sarm to concatenate Siebel ARM files on UNIX.


    Note:

    Only concatenate Siebel ARM files of the same process.

  • Gather performance analysis data on your Siebel application before customizing the application. These baseline measurements provide a good reference when monitoring the performance of your Siebel application after any customizations.

  • Run a user session trace analysis if there are performance problems for an individual user during a particular session. The user trace session data identifies each request that the user made and identifies which request required the longest time when compared to a base line.

  • Use the performance aggregation data to diagnose performance at a given point in time or for a certain process. Reviewing the data by group can diagnose the area that is performing poorly. After reviewing a high-level view of the performance data, extrapolate a more detailed review by running the comma-separated value analysis. For more information about running this analysis, see "Running Siebel ARM Data CSV Conversion".

  • Compile performance aggregation data over a period of time to determine a trend analysis.