This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
All accessed through a browser High Interactivity (Employee facing)
Very demanding on browser Can only run on strictly defined browser configurations Rich user interface
Standard Interactivity (Customer facing) Less demanding on browser Can run on wide variety of browsers Standard web user interface
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
Siebel Enterprise Server – SWSESiebel Enterprise 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
Enterprise Server
Siebel Server
Component
Siebel Server
Component
Gateway Server
GatewayName Server
Resonate CentralDispatch
Siebel Enterprise Server – Gateway ServerSiebel Enterprise Server – Gateway Server
Serves as a single entry point
Includes Siebel Gateway Name Server Siebel Enterprise
configuration data (static) Siebel Enterprise
operations data (dynamic)
Optionally includes Resonate Central Dispatch Load balancing
Web Server
SWSE
Enterprise Server
Siebel Server
Component
Siebel Server
Component
Gateway Server
GatewayName Server
Resonate CentralDispatch
Siebel Enterprise Server – Gateway Name ServerSiebel Enterprise Server – Gateway Name Server
Holds Enterprise Configuration
Stores component definitions, parameters, and connectivity information Stored in siebns.dat file Provides Connectivity
information when Resonate not used
Dynamically registers Siebel Server and component availability
Web Server
SWSE
Enterprise Server
Siebel Server
Component
Siebel Server
Component
Gateway Server
GatewayName Server
Resonate CentralDispatch
Siebel Enterprise Server – Resonate Central DispatchSiebel Enterprise Server – Resonate Central Dispatch
Load Balances Object Manager Components
Provides resilience for load balanced components
Provides session management
Simplifies firewall configuration
Not always needed
Web Server
SWSE
Enterprise Server
Siebel Server
Component
Siebel Server
Component
Gateway Server
GatewayName Server
Resonate CentralDispatch
Architecture Overview – Siebel ServerArchitecture Overview – Siebel Server
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
Enterprise Server
Siebel Server
Component
Siebel Server
Component
Gateway Server
GatewayName Server
Resonate CentralDispatch
Architecture Overview – Server ComponentsArchitecture Overview – Server Components
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
Web Server
SWSE
Enterprise Server
Siebel Server
Component
Siebel Server
Component
Gateway Server
GatewayName Server
Resonate CentralDispatch
Architecture Overview – Server Component TypesArchitecture Overview – Server Component Types
Different types of component run in different ways: Background
Background mode components execute tasks to perform background operations for the Siebel Server. After a background mode component task starts, it runs until you explicitly stop the task, or until the Siebel Server itself is shut down.
InteractiveInteractive 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.
BatchBatch 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 tasksExternal batch tasks are initiated by Server Manager
Different types of component execute in different platforms: Single Threaded
Single threaded components have one execution stream per process. So each operating system process supports a single Siebel Task.i.e. EIM
Multi-threadedMulti-threaded components have multiple execution streams within a single process.. So each operating system process can support multiple Siebel Tasks.i.e. Object Managers
Performance and ScalabilityPerformance and Scalability
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
Can set additional processes to spawn on demand Will always start minimum number specified Will start additional processes as needed to maintain process:thread
ratio Limit on maximum number of processes
Memory ScalabilityMemory Scalability
Multi-Process, Multi-Threaded model All threads in a process share the same memory space Each Process has a separate memory space
No single process needs a large memory space Operating system manages memory allocation If a single process needs more than 1GB there’s normally something
wrong No need for large process memory model (‘/3GB’ switch) Can use Microsoft PAE for access to large memory capacities
Operating system can allocate memory to each process
Maximum number of tasks (MaxTasks) Maximum number of Tasks per component per server One thread per task Some additional background “system” threads - not counted by MaxTasks
Maximum number of Multi-Threaded servers (MaxMTServers) An MTServer is a multi-threaded component process This defines the maximum number of MTServers per component per server
Minimum number of Multi-Threaded servers (MinMTServers) This defines the minimum number of MTServers per component per server Sets the number of MTServers started on server startup
Configuring the Object ManagersConfiguring the Object Managers
Set MaxTasks = peak (concurrent users + anonymous users) Anonymous users are used for login screens before user authenticates Typically set to 10%-15% of concurrent user count
Set MaxMTServers = MaxTasks / 100 An MTServer is equivalent to single instance of Object Manager 100 : 1 ratio is assuming “average” 30 second think time between user
operations If average user think time is 15 seconds then ratio is 50 : 1 ( 50% of 100:1) If average user think time is 60 seconds then ratio is 200 : 1 (200% of 100:1)
Set MinMTServers = MaxMTServers Setting MinMT Servers < MaxMTServers may cause delay of service for
“new” users as MTServer gets initialized.
Multi-Threaded Component Parameter ExampleMulti-Threaded Component Parameter Example
Object Manager configuration for 800 Call Center users
Concurrent Users800 Call Center Users
MaxTasks920
MinMTServers10
Object Manager Level
MaxMTServers10
100:1
Anonymous Users12015%
Round up to maintain100:1 ratio
MaxTasks1000
Scaling Across Siebel ServersScaling Across Siebel Servers
Depends on how component task initiated Component Group Assignment
Which servers a component is available on
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
Manual Requests (start task) Manually specified server
Server Request Broker & Server Request ProcessorServer Request Broker & Server Request Processor
Server Request Broker (SRBroker) Used to start synchronous Siebel Server tasks Server Request Broker & Server Manager are the only components
which directly start tasks. New in Siebel 7 Replaces Server Request Manager (SRMSynch) in Siebel 2000 Background component Multi-threaded component
Need to set MaxTasks accordingly
Server Request Processor (SRProc) Used to start asynchronous Siebel Server tasks Manages queued requests Calls SRBroker to manage task execution Background component
Server Request BrokerServer Request Broker
Accepts requests from other Components
Will try to service request locally If component is available on same Siebel Server then this is always
used
If not available locally then will use other Siebel Servers Maintains internal table of components available on each Siebel
Server Will route requests round Siebel Servers in turn (round-robin)
Multi-threaded component May need to increase MaxTasks
Should always be running on all servers
Siebel Server – Siebel Server – Server Request BrokerServer Request Broker
ServerRequestBroker
ServerRequestBroker
ServerRequestBroker
WorkflowProcess
Manager
WorkflowProcess
Manager
ObjectManager
Run Assignment
Task
AssignmentManager
Run Assignment
on local server
AssignmentManager Is Assignment
available on this server?
Siebel Server – Siebel Server – Server Request BrokerServer Request Broker
ServerRequestBroker
ServerRequestBroker
ServerRequestBroker
WorkflowProcess
Manager
WorkflowProcess
Manager
ObjectManager
Run Workflow Process
AssignmentManager
Which other servers have
workflow online?
Is Workflow Manager
available on this server?
AssignmentManager
Choose server on round-robin basis
Server Request ProcessorServer Request Processor
Processes asynchronous requests
Request submitted by creating record in table S_SRM_REQUEST
Server Request Processor reads from table Request must:
Be active (reached activation time) Not be specified for a different Siebel Server Not being processed by other Server Request Processor
Eligible requests submitted through Server Request Broker
Normally runs on all Siebel Servers
Siebel Server – Siebel Server – Server Request ProcessorServer Request Processor
S_SRM_REQUEST SRProc
SRBroker
Task
Sleep Interval
Request Queue
Performance and ScalabilityPerformance and Scalability
Siebel 7 can pool sessions at two levels: Web server to Siebel Enterprise
SISNAPI Connection Pooling Multiple SISNAPI (Siebel) sessions through one TCP session Reduces operating system overhead and network traffic Enabled by default
Set to 20 Controlled by component parameter:
‘Number of Sessions per SISNAPI Connection’
Siebel Object Manager to Database Database connection pooling SQL traffic for multiple Siebel users through one database session Reduces session overheads on database server Disabled by default Suitable for larger deployments (over 500 concurrent users)
Database session uses login for first user to establish session
Database connection pooling controls Defined as component parameters Set to ‘-1’ to disable (default)
Specialized (Dedicated) Database sessions All valid per component process (MT Server) per Siebel Server MaxTrxDbConns - Maximum number of specialized DB sessions MinTrxDbConns - Minimum number of specialized DB sessions
to be kept in pool
Shared Database sessions Valid per component per Siebel Server MaxSharedDbConns - Maximum number of shared DB
sessions MinSharedDbConns - Minimum number of shared DB
Enabling View Caching for High Interactive mode Set in user preferences Faster client response times, by as much as 1 second Better network behavior Expensive, 3MB per view cached Most users use < 10 views / pages Uses LRU mechanism to flush out cache
If not using eAdvisor or browser based eConfigurator On cfg file set “EnableCDA = FALSE”
Set “Timed Statistics” Off
Set all Log Levels to 1
EAI OptimizationEAI Optimization
Minimize fields in Integration Components
Keep XML records small XML is very verbose and needs to be parsed
Lump several records into one transaction will achieve higher throughput
If possible keep records to 15 fields More will reduce throughput
Keep in mind that an XML field translates to BC field Integration Object initialize Business Objects and Business
Components The more fields per record the slower it will process
EAI OptimizationEAI 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)
Use ‘Session-Mode’ for high volume inbound HTTP Greatly increased throughput No overhead for authentication & session startup for each message
Workflow Process OptimisationWorkflow Process Optimisation
Use Run-Time Events for process automation Minimize use of Workflow Policies since workflow policy work at the
database layer and do not take advantage of the level of abstraction provided with the Object Manager
Performance gain since the decision event takes place on the business object layer and so no trigger is created on the table
No need for scripting
Workflow Process Distribution Workflow Policies can’t be directly load balanced Asynchronous Workflow Processes are distributed by SRProcessor Synchronous Workflow Process requests are distributed by
Keep scripting small and tight Avoid the use of script wherever possible Remember it is still interpreted code and will execute as such Ensure all objects are destroyed after use – avoid memory leaks
MVG Applets Keep to a minimum as they increase SQL complexity Use primary joins as much as possible; reduces number of SQL
statements
Use SmartScript only where really required E.g. Novice Call Center users
Avoid putting external news pages on login page 3rd party web sites can be slow
Activate only fields that are absolutely necessary Become active when displayed; “Force Active” in BC configuration General rule, the more fields on a page the slower the page Recently saw customer with 750 fields and 80 tables for one applet
Include only manageable set of fields on list applets Many customers use several dozen fields; not usable and slow
performance
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
Compression (Dynamic Content) Performed by SWSE Do not use web server dynamic compression (application files) Enabled through SWSE configuration file (‘eapps.cfg’)
[Defaults]
DoCompression = TRUE
Compression (Static Content) Performed by web server (IIS only)
Network Performance – Web Server / Browser SettingsNetwork Performance – Web Server / Browser Settings
Browser Settings Don’t clear cache except when necessary Ensure ‘Empty Temporary Internet Files Folder when browser is
closed’ option is not enabled.
Network Performance – Web ServerNetwork Performance – Web Server
Web Server Settings Use HTTP keep-alive
Reduces the need to negotiate TCP sessions for each HTTP message
Network Performance – Web ServerNetwork Performance – Web Server
Web Server Settings Set Content Expiration
2 days is typical setting Set through Internet Information Services Administration
HTTP Headers > Content Expiration
Network Performance – Web CachingNetwork Performance – Web Caching
Performance – Problem DiagnosisPerformance – Problem Diagnosis
What is the problem? Slow response times reported by User(s)? Resource utilisation problem reported by Administrator?
Where is the problem? Who is experiencing the problem? One user, a subset of users, all
users? Network problem? Database problem? Siebel Server problem? Web Server problem?
How do we resolve the problem?
Performance – Problem Diagnosis Performance – Problem Diagnosis continuedcontinued
Problem Identification User reports slow response times
Identify precise actions carried out by user at the precise time of the problem – set up a problem reporting process, with required information to be supplied by user
Subset of Users report slow response times Are users on the same LAN segment? Are other users experiencing
problems? Are users all performing similar tasks?
All users report slow response times Is it specific transactions (views) that are slow? Do all transactions run slowly? System Administrators should check system resource utilisation
System Administrator(s) report resource utilisation problems Are users experiencing problems as a result? Which area of the system is experiencing problems
Ask questions of the relevant people – need more information than ‘The system seems to be slow’
Performance – Problem Diagnosis Performance – Problem Diagnosis continuedcontinued
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 382
How can users generate
Performance Monitor information
into a log file?
TECHNOTE 361
Memory Utilization in Siebel eBusiness
Applications
Performance – SQL TracePerformance – SQL Trace
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)
Siebel Component SQL Trace Set ‘SQL Trace Flags’ parameter Set ‘Event Log Levels’ to 5 for ‘%SQL%’
Srvrmgr: ‘change evtloglvl %SQL%=5 for component sccobjmgr_enu server <siebel server name>’
Scan log file for ‘SQL Statement Execute Time’
Need to use SQL Server Profiler for full capture Siebel uses specialized ODBC connection models Need to reproduce fully in order to get correct query execution plan
Performance – Siebel Web Server LogsPerformance – Siebel Web Server Logs
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
Web Server Log IIS: <Windows Install Dir>\system32\Logfiles\W3SVC1\exyymmdd.log
In Internet Services Manager, enable extended logging to include Client IP address, User Name, Time Taken
Use to identify long-running HTTP requests or individual user machines experiencing problems
URL: <Application URL>/_stats.swe?verbose=high <Application URL>/_stats.swe?verbose=high&reset=true to reset
Allows individual user session statistics, in ‘Current Sessions’ section:
Total Time: Time for all user’s HTTP requests General Stats-Count: # user HTTP requests General Stats-Mean: Average time for each user HTTP request Frequency-Mean: Average time between each user HTTP request