Académique Documents
Professionnel Documents
Culture Documents
Siebel Performance
Hints Monitoring Diagnosis
Architecture Overview Component Scalability Scalability Across Components Network Scalability Performance Optimization Performance Management
PDA
Web Server(s)
Siebel Web Server Extension
Data Manager
SIEB SYNC
Local DB
Voice Interaction
Siebel Replication
Regional Siebel DB Server
Email Interaction
Mobile Client
Has local copy of Siebel database User-specific subset of data Local server functionality Quasi-web server Business Object and Data Manager functionality Uses High Interactivity interface
Web Server
SWSE
Siebel Web Server Extensions Web Server Plug-In Manages communications to Siebel Enterprise Includes cache for static files (images, etc)
Web Server
SWSE
Holds Enterprise Configuration Stores component definitions, parameters, and connectivity information
Stored in siebns.dat file Provides Connectivity information when Resonate not used
Load Balances Object Manager Components Provides resilience for load balanced components Provides session management Simplifies firewall configuration Not always needed
Web Server
SWSE
Framework for running server components Obtains configuration information from the Gateway Name Server Runs as a Windows service Siebel Enterprise Server is a logical grouping of Siebel Servers
Web Server
SWSE
A type of program, executed as a task Examples: Object Manager Handling client requests Workflow Process Manager Processing Workflows File System Manager Handling access to Siebel File System
Interactive
Interactive mode components start tasks automatically in response to client requests. Interactive mode component tasks execute for as long as the client maintains the session, and end when the client disconnects.
Batch
Batch mode components execute tasks in response to requests. Batch mode component tasks execute until they finish processing. Internal batch tasks are initiated by other Siebel Server tasks External batch tasks are initiated by Server Manager
Multi-threaded
Multi-threaded components have multiple execution streams within a single process.. So each operating system process can support multiple Siebel Tasks. i.e. Object Managers
Architecture Overview Component Scalability Scalability Across Components Network Scalability Performance Optimization Performance Management
Component Scalability
Multi-Threaded Components
Create multiple threads &/or processes (tasks) Control distribution through component parameters
Multi-Threaded Components
Can have multiple processes as well as multiple threads Important to control ratio of threads to processes
Can have major impact on performance Determined primarily by rate of switches between threads 100:1 good starting point for Client Object Managers Assumes 30sec think time For 15 sec think time use 50:1
Memory Scalability
15%
MinMTServers 10
Object Managers
Load balanced (Resonate Central Dispatch) Not valid for eConfigurator Object Manager
Siebel Remote
Manual allocation of mobile client to Siebel Server
Server Requests
Server Request Broker &/or Server Request Processor
Special cases
CTI eConfigurator
Vertical Scalability
Siebel Server
Enterprise Server
Siebel Server
Siebel Server
Horizontal Scalability
Load Balancing
Web Client
Web Client
Web Client
Web Client
Web Client
Web Client
Load Balancing
Web Server + SWSE Web Server + SWSE
Siebel Server
Siebel Server
Enterprise Server
Architecture Overview Component Scalability Scalability Across Components Network Scalability Performance Optimization Performance Management
Accepts requests from other Components Will try to service request locally
If component is available on same Siebel Server then this is always used
Multi-threaded component
May need to increase MaxTasks
Assignment Manager
Server Request Broker Workflow Process Manager
Run Object Assignment Manager TaskAssignment Is available on this Run server? Server Server Request Assignment onRequest Broker local server Broker Workflow Process Manager
Assignment Manager
Assignment Manager
Server Request Broker Workflow Process Manager
Run Object Workflow Is Workflow Manager Process Manager Server Request Broker
Assignment Manager
available on Server this server? WhichRequest other serversBroker have workflow Choose server online? on roundWorkflow robin basis Process
Manager
Eligible requests submitted through Server Request Broker Normally runs on all Siebel Servers
S_SRM_REQUEST
SRProc
Sleep Interval
Request Queue
SRBroker
Task
Architecture Overview Component Scalability Scalability Across Components Network Scalability Performance Optimization Performance Management
Connection Pooling
Connections use native database protocols Some components directly access native protocol
Object Managers
Shared
Shared
Specialized
Siebel Database
Processes (components)
Architecture Overview Component Scalability Scalability Across Components Network Scalability Performance Optimization Performance Management
Consider using common log file for multi-threaded components that generate too many log files Consider using multiple instances/server tasks for certain activities
e.g. Parallel EIM, multiple Workflow Policy Groups, etc.
EAI Optimization
Minimize fields in Integration Components
Keep XML records small
XML is very verbose and needs to be parsed
EAI Optimization
Reduce SessPerSisnConn for EAI Adapters
Do this only if you are going to bombard adapter, i.e. little or no think times
For very high throughput systems where you are dedicating EAI machines
Consider letting the SRB forward BIM requests to dedicated machines BIM processing can become bottleneck if BIM processing is complex May be necessary to have a higher EAI Adapter:BIM machine ratio (i.e. 1:x)
MVG Applets
Keep to a minimum as they increase SQL complexity Use primary joins as much as possible; reduces number of SQL statements
Pages with more than three applets will perform slower for HI applications
Reason for this is not really the number of applets, rather the number of fields
PickLists set Long List to TRUE if returning large data sets Tree Applets can be slow
They generate Bill of Materials type queries
Browser Validation
Reduces the need for server communications to validate data entry Implement through browser script
Minimize Popups
Limit columns in List Applets
Browser Settings
Dont clear cache except when necessary Ensure Empty Temporary Internet Files Folder when browser is closed option is not enabled.
Uncached
GET: icon.gif
25KB
icon.gif RESPONSE: icon.gif DATE: 10/10/03 09:25:08 LAST-MODIFIED: 10/08/03 07:14 DATE: 10/08/03 07:14
Cached
2KB
icon.gif
DATE: 10/10/03 09:25 RESPONSE: Not-modified icon.gif DATE: 10/08/03 07:14
0KB
icon.gif
DATE: 10/10/03 09:25 EXPIRES: 10/12/03 14:13:08 icon.gif DATE: 10/08/03 07:14
Architecture Overview Component Scalability Scalability Across Components Network Scalability Performance Optimization Performance Management
Ask questions of the relevant people need more information than The system seems to be slow
Diagnosis Tools
Database SQL Trace (SQL Server Profiler) Siebel Server Object Manager SQL Trace Web Server SWSE Statistics Page Web Server SWSE Log Web Server Log (e.g. IIS log) Server Resource Utilisation tools Windows: PerfMon, Task Manager
TECHNOTE 361
Memory Utilization in Siebel eBusiness Applications
TECHNOTE 382
How can users generate Performance Monitor information into a log file?
Use Database SQL Trace or Siebel Component SQL Trace to identify poor-performing queries
Correct Application Configuration Add indexes (except unique indexes) Refresh database statistics (not on Oracle)
SWSE Log
<Install Dir>/SWEApp/log/ssyymmdd_nn.log Set log=details in eapps.cfg file for more detailed logging Set environment variables for full detail SIEBEL_SESSMGR_TRACE=1 SIEBEL_SISNAPI_TRACE=1 SIEBEL_LOGEVENTS=ALL Restart Web Server
Event
Total Time
siebel.TCPIP.None.None://jmullisp4:2320/si ebel/SCCObjMgr_enu/jmullisp4/!1.8c0. 14.6779 Total Time: Time for all users HTTP requests 4023.3ec3708d General Stats-Count: # user HTTP requests SADMIN
General Stats-Mean: Average time for each user HTTP request Frequency-Mean: Average time between each user HTTP request
Session Identification
!A.B.C.D A = Siebel Server Id B = Siebel Server Component Process Id C = Siebel Server Component Task Id D = Timestamp All values in hexadecimal Use to map session information to Siebel Server Task logfile
Use to measure
Client Response times under high user load Resource usage under high user load Web Servers, Siebel Servers, Database Server, Network Scalability of Siebel environment
Hardware
Use full duplication of production hardware, if possible If not, scale down numbers of servers proportionately
Database
Tune Object Manager SQL prior to volume performance test exercise Utilise Object Manager SQL trace flags
Benefits
Proactive monitoring of application response time Diagnosis of response time problems in the application and infrastructure Enables tuning of applications to meet service level commitments Enables diagnosis of memory consumption
Siebel Server
SARM Start
Server Component
SARM Stop SARM Correlation Key
SARM Framework
SARM Start
Server Component
SARM Stop
SARM Log
ARM Log
User Interface
Physical UI Rendering Logical UI Object Manager Data Manager EAI
Timers
Web Server Time
Network Time SWE Time Workflow Time Script Time SRB Time Comp Time
Database Time
Siebel Database
External Database
Legacy Application
Architecture Overview Component Scalability Scalability Across Components Network Scalability Performance Optimization Performance Management