Siebel CRM Performance Tuning Guide Siebel Innovation Pack 2015, Rev. A E54321_01 |
|
Previous |
Next |
View PDF |
This chapter provides an overview of Oracle's Siebel Business Applications architecture and infrastructure and provides introductory information about tuning the Siebel applications for performance and scalability. It contains the following topics:
Related Books
Siebel Deployment Planning Guide
Siebel Installation Guide for the operating system you are using
Siebel System Administration Guide
Configuring Siebel Business Applications
Every implementation of Siebel Business Applications is unique. Your Siebel application architecture, infrastructure, and configurations might differ depending on your business model.
Performance and scalability are defined as follows in the context of this guide:
Performance. A Siebel application's ability to function, generally measured in response time or throughput.
For example, measures of performance might include the time required to log into the Siebel application or to display a Siebel view in the Siebel Web Client, or the volume of transactions (sometimes referred to as requests) that a server component can process in a given time period.
Some typical inhibitors of performance are inadequate hardware, excessive network round trips, heavy customizations, and poor networking infrastructure.
Scalability. A Siebel application's ability to continue to perform well as volumes increase.
Scalability is generally measured in hardware terms; for example, maintaining acceptable performance after adding new processors on existing computers (vertical scalability) or new Siebel Server computers (horizontal scalability) to process an increased number of users.
Some typical inhibitors of scalability are an inflexible application module structure and an inability to run parallel processes.
For more definitions of terminology related to performance and scalability, see "Performance Tuning Terminology".
Figure 2-1 shows a generic representation of the architecture and infrastructure of a Siebel Business Applications deployment. Your Siebel applications might be deployed differently. For descriptions of individual entities included in this illustration, see Siebel Deployment Planning Guide, Siebel System Administration Guide, and the Siebel Installation Guide for the operating system you are using.
The following list provides information about tuning specific areas of the Siebel applications architecture and infrastructure.
Performance in many of these areas can be monitored and analyzed using Siebel Application Response Measurement (Siebel ARM), which is described in Chapter 14, "Monitoring Siebel Application Performance with Siebel ARM," and Chapter 15, "Analyzing Siebel ARM Data."
Siebel Application Object Managers. Siebel Application Object Managers are Siebel Server components that reside on a Siebel Server and support users accessing Siebel applications through the Siebel Web Client and a Web server, or through external applications.
Running Siebel Application Object Manager components has significant performance and scalability implications. In general, the goal for tuning a Siebel Application Object Manager is to maximize scalability with little or no performance degradation as more users use Siebel applications.
Although Siebel Application Object Manager components can be tuned for optimal performance, capacity for this and all other Siebel Server components is ultimately limited by Siebel Server computer resources such as CPU and memory. For more information about tuning this area, see Chapter 3, "Tuning the Siebel Application Object Manager for Performance."
Siebel Web Client. The means for end users to access Siebel application features and data. Siebel Web Client uses a Web browser.
The response time experienced by the Siebel Web Client end user is subject to the configuration and tuning of Siebel Enterprise elements such as the Siebel Application Object Manager, network bandwidth and latency, Web server, Siebel database, and the Siebel application configuration (represented in the Siebel repository file). It is also subject to local computer resources and settings, including browser settings such as those for caching.For more information about tuning this area, see Chapter 5, "Tuning Siebel Web Client for Performance," See also Chapter 12, "Tuning Customer Configurations for Performance."
Siebel Communications Server. Siebel Communications Server provides an infrastructure to support several kinds of communications activities for Siebel Business Applications users, including session communications (such as voice calls) and inbound and outbound communications (such as email).
Siebel Communication Server processing can affect end user response time, and might demand additional Siebel Application Object Manager resources to support user sessions. Performance and scalability is subject to third-party server configuration and capacity and Siebel Server computer resources and configuration. For more information about tuning this area, see Chapter 6, "Tuning Siebel Communications Server for Performance."
Siebel Workflow. Siebel Workflow is an interactive environment that automates business processes such as automating escalation of events and notification of appropriate parties; routing and assigning work; processing work; and enforcing authorization and transition rules.
Siebel Workflow processing can affect end user response time (for synchronous requests), and might demand additional Siebel Application Object Manager resources to support user sessions. Performance and scalability is subject to Siebel Server computer resources and configuration. For more information about tuning this area, see Chapter 7, "Tuning Siebel Workflow for Performance."
Siebel Configurator. Siebel Configurator supports order management and product configuration functions for Siebel applications.
Siebel Configurator processing can affect end user response time (for configuration sessions), and might demand additional Siebel Application Object Manager resources to support user sessions. Performance and scalability is subject to Siebel Server computer resources and configuration. For more information about tuning this area, see Chapter 8, "Tuning Siebel Configurator for Performance."
Siebel Enterprise Application Integration (Siebel EAI). Siebel EAI provides components for integrating Siebel Business Applications with external and internal applications, and provides inbound and outbound interfaces to and from a Siebel application.
Siebel EAI processing can affect end user response time (for real-time interfaces), and might demand additional Siebel Application Object Manager resources to support user sessions. Performance and scalability is subject to Siebel Server computer resources and configuration.
For more information about tuning this area, see Chapter 9, "Tuning Siebel EAI for Performance."
Siebel Enterprise Integration Manager (Siebel EIM). Siebel EIM provides components that transfer data between the Siebel database and other corporate data sources. For more information about tuning this area, see Chapter 10, "Tuning Siebel EIM for Performance."
Siebel Remote. Siebel Remote provides components that allow Siebel Mobile Web Clients (typically operating remotely, in disconnected mode on a laptop) to connect to a Siebel Server and exchange updated data and files, a process known as synchronization. For more information about tuning this area, see Chapter 11, "Tuning Siebel Remote for Performance."
Siebel Tools. Siebel Tools is an integrated development environment for configuring aspects of a Siebel application, including elements in the data objects, business objects, and user interface objects layers. Siebel scripting languages are also managed in the Siebel Tools environment.
Siebel Tools configurations and scripting play a critical role in the performance and scalability of a configured Siebel application. Customizations made through Siebel Tools partly determine the degree to which performance and scalability of a particular deployment differs from the original installation.
Appropriate configuration optimizes operations in the Siebel database and does not add unnecessary overhead to supporting user sessions. (Siebel Tools itself does not play a role in the Siebel applications at run-time.)
For more information about tuning this area, see Chapter 12, "Tuning Customer Configurations for Performance."
Operating systems. For more information about tuning your Microsoft Windows or UNIX operating system, see Chapter 13, "Tuning Operating Systems for Performance."
Figure 2-2 illustrates how a user request is processed within the Siebel Business Applications architecture and infrastructure (generically presented), and shows potential areas for performance tuning. For a description of each portion of this data flow, see Siebel System Administration Guide and other relevant documents on the Siebel Bookshelf.
A typical Siebel client request flows from the user's Siebel Web Client through the system, and back again, following the general flow outlined below.
A user performs an action that initiates a request. For example, the user clicks a link in the Site Map to navigate to a particular view. The request is generated by the Web browser and Siebel Web Client framework.
The request goes through the network, using a new or an existing HTTP connection. The request might go through a network router, proxy server, cache engine, or other mechanism.
If present, Web server load balancing software evaluates the request and determines the best Web server to forward the request to. It then forwards the request to a Web server.
The Web server receives the HTTP request, determines that it is a Siebel application request, and forwards the request to the Siebel Web Server Extension (SWSE) installed on the Web server.
The SWSE parses the HTTP message and generates a Siebel Internet Session Network Application Programming Interface (SISNAPI) message, based on the content of the HTTP message. SWSE also parses the incoming cookie to obtain the user session ID.
If you are using Siebel load balancing, then SWSE forwards the request to a Siebel Server in round-robin fashion.
If you are using a third-party HTTP load balancer, then SWSE forwards the request to the load balancer. The load balancer uses customer-configured routing rules to forward the request to a Siebel Server.
SISNAPI is a messaging format that runs on top of the TCP/IP protocol. It is used for network communication between Siebel Servers and SWSE.
On the Siebel Server, the SCBroker component receives the initial request for a session and forwards it to a Siebel Application Object Manager process. Subsequent communication for the session does not use SCBroker. For more information, see "Siebel Application Object Manager Infrastructure" and related topics.
The Siebel Application Object Manager receives and processes the SISNAPI message sent from SWSE.
If a database query is needed to retrieve the information, the Siebel Application Object Manager formulates the SQL statement and sends the request to the Siebel database over a database connection. The database request goes through the database connection, using a protocol format that is specific to the database connector.
The database executes the SQL statement and returns data back to the Siebel Application Object Manager. The Siebel Application Object Manager forwards the message to the Web server that originated it. If you are using a third-party HTTP load balancer, then the message might go through the load balancer before reaching the Web server.
The SWSE on the Web server receives the SISNAPI message, and translates it back to HTTP. It then forwards the HTTP message to the Web server. The message is now in the form of Web page content.
The Web server load balancer, if present, then forwards the Web page content through the original HTTP connection to the end user's Web browser.
The Web browser and the Siebel Web Client framework process and display the return message.
Table 2-1 provides definitions of specific terms related to performance and tuning Siebel Business Applications. For definitions of performance and scalability, see "About Performance and Scalability".
For more information about some of these terms and concepts (including concurrent users and think time) in the context of tuning Siebel Application Object Manager components, see "Performance Factors for Siebel Application Object Manager Deployments".
Table 2-1 Performance Tuning Terminology