Siebel CRM Performance Tuning Guide Siebel 2018 E24801-01 |
|
![]() Previous |
![]() Next |
View PDF |
Siebel Product Configurator supports several types of caching of customizable product information, to optimize response time for configuration-session users. Caching options include:
Caching in memory
Siebel Product Configurator caches versions of customizable products, product classes, and attribute definition objects in memory. When the size limit for this cache is reached, the versions of the objects that were least recently used are discarded. For more information, see "Default Caching Behavior for Siebel Product Configurator".
Note: The memory resources for your Siebel Product Configurator server computer must be sufficient to support your caching requirements. |
Caching in the Siebel Product Configurator File System
This Siebel Product Configurator File System directory caches versions of the customizable products, product classes, and attribute definition objects that were loaded into memory. This is default behavior. For more information, see "Specifying the Siebel Product Configurator File System Location" and "Default Caching Behavior for Siebel Product Configurator".
In addition to these caching options, you can also specify which server or component caches versions of customizable products, product classes, and attribute definition objects.
The specified cache can be updated at regular intervals. Using these options can improve response times to requests for a specific customizable product. For more information, see "Cache Management for Siebel Product Configurator".
This topic contains the following information:
This topic is part of "About Siebel Product Configurator Caching".
The default caching behavior for Siebel Product Configurator is as follows:
When a user starts a configuration session, Siebel Product Configurator looks for new cache update requests that affect objects in the cache. If there are new cache update requests that affect objects currently in the cache, then Siebel Product Configurator updates or removes these objects.
Siebel Product Configurator checks whether the requested customizable product is cached in memory.
If the customizable product is not already cached in memory, then Siebel Product Configurator looks in the Siebel Product Configurator File System.
Note: The location of the Siebel Product Configurator File System is specified by the value of theProduct Configurator - FS location parameter (alias eProdCfgCacheFS ). For more information about the Siebel Product Configurator File System, see "Specifying the Siebel Product Configurator File System Location". |
If the customizable product is not in the Siebel Product Configurator File System, then it is loaded from the Siebel database. The product is added to the memory cache and to the Siebel Product Configurator File System.
Thereafter, when a configuration session starts, the customizable product is loaded from the memory cache or from the Siebel Product Configurator File System.
Before loading the customizable product from the Siebel Product Configurator File System, the system checks the Siebel database to make sure each item in the product is the current version.
If the cached product has changed in the database, then the current version of the item is loaded from the database. This makes sure that the most recent version of a customizable product and its contents are loaded.
When the product administrator releases a new version of a customizable product, the changes are written to the Siebel database and a cache update request is posted for the modified customizable product. The memory cache and the Siebel Product Configurator File System are not updated with the changes until the next configuration session is requested for the customizable product.
Note: It is recommended that you avoid the use of start or end dates in rules for customizable products. The arrival of a date does not cause the customizable product to be refreshed in the cache. |
This topic is part of "About Siebel Product Configurator Caching".
When a user starts a configuration session, Siebel Product Configurator loads the requested customizable product into memory. You can specify a cache (server or component) to serve requests for frequently requested customizable products to improve response times. This requires that you select the setting Explicit Product Mappings Only on the specified cache. The specified cache loads the customizable products that are mapped to it into memory before any user requests are received.
You can also specify a time interval so that the specified cache updates the customizable products it holds at regular intervals. This reduces the possibility that a user request requires the retrieval of data from the database and the loading of a revised customizable product. To specify the time interval, you set values for the following parameters on the eProdCfgObjMgr component:
Server Session Loop Sleep Time
(alias ServerSessionLoopSleepTime
)
Product Configurator - Cache Engine Objects
(alias eProdCfgCacheEngineObjects
)
For more information on these parameters, see Table 8-2.
Requests for other customizable products that are not mapped to a specific cache are served by a cache that has the setting Explicit Product Mappings Only disabled.
The following procedure describes how to configure product caching by mapping a product to a cache that has the setting Explicit Product Mappings Only enabled.
To configure product caching
Navigate to the Administration - Product screen, then the Cache Administration view.
The Cache Administration view appears.
In the Cache applet, select a cache.
Note: Only one cache can be active at a time. |
In the Cache Type field, select a value as described in the following list:
Server. Select Server as the cache type to route configuration requests to the Siebel Servers associated with the cache.
Component. Select Component as the cache type to route configuration requests to the components associated with the cache. These components can span multiple Siebel Servers depending on where components are active.
Note: If you select Component as the cache type, then you must set the same value for the component parameterEnable internal load balancing (alias EnableVirtualHosts ) on both the Siebel Application Object Manager and on the eProdCfgObjMgr component. For example, if EnableVirtualHosts is set to TRUE on the Siebel Application Object Manager component, then it must also be set to TRUE on the eProdCfgObjMgr component. |
In the Components applet, specify a Siebel Server name or a component name to associate with the cache that you selected in Step 2.
The value that you specify depends on the value that you selected for Cache Type in Step 2. For example, if you set Cache Type equal to Server, then you enter the name of a Siebel Server. If you set Cache Type equal to Component, then you enter the name of a component.
If you want a server cache or component cache to only serve products that are mapped to that server cache or component cache, then select Explicit Product Mappings Only.
In the Product applet, select the product(s) that you want to associate with the component that you selected in Step 4.
In the Cache applet, click Validate.
The application validates that the Siebel Server or component names that you select are valid for the cache type that you specified.
If the configuration that you created validates correctly, click Release to enable the cache that you selected cache instances of the products that are mapped to it.
This topic is part of "About Siebel Product Configurator Caching".
Siebel Product Configurator caching is enabled by default (eProdCfgSnapshotFlg
is set to TRUE
). Other parameters must be sized following guidelines such as those described in "Determining Rough Sizing for Caching Parameters".
Table 8-2 lists the server parameters for configuring Siebel Product Configurator caching. Set these parameters on the Siebel Application Object Manager component for a Siebel Application Object Manager deployment of Siebel Product Configurator. For a dedicated Siebel Product Configurator server deployment, set these parameters on the Siebel Application Object Manager and on the eProdCfgObjMgr component, unless otherwise stated. For information on how to configure server parameters, see Siebel System Administration Guide.
Table 8-2 Server Parameters for Configuring Siebel Product Configurator Cache Behavior
Parameter Alias | Parameter Name | Data Type | Default Value | Description |
---|---|---|---|---|
eProdCfgCacheFS |
Product Configurator - FS location |
String |
Not applicable |
Specifies the location of the Siebel Product Configurator File System. If no value is specified for |
eProdCfgAttrSnapshotFlg |
Product Configurator - Collect and Use the snapshots of the ISS_ATTR_DEF Ob |
Boolean |
|
Set to |
eProdCfgNumOfCachedAttrs |
Product Configurator - Number of Attribute Definitions Cached in Memory |
Integer |
100 |
Sets the number of attribute definitions kept in memory at any given time during configuration. |
eProdCfgClassSnapshotFlg |
Product Configurator - Collect and Use the snapshots of ISS_CLASS_DEF Ob |
Boolean |
|
Set to |
eProdCfgNumOfCachedClasses |
Product Configurator - Number of Class Definitions Cached in Memory |
Integer |
100 |
Sets the number of class definitions kept in memory at any given time during configuration. |
eProdCfgProdSnapshotFlg |
Product Configurator - Collect and Use the snapshots of ISS_PROD_DEF Ob |
Boolean |
|
Set to |
eProdCfgNumOfCachedProducts |
Product Configurator - Number of Product Definitions Cached in Memory |
Integer |
1000 |
Sets the number of product definitions kept in memory at any given time during configuration. |
eProdCfgSnapshotFlg |
Product Configurator-Collect and use snapshots of the Cfg objects |
Boolean |
|
Set to |
eProdCfgNumbOfCachedCatalogs |
Product Configurator-Number of cached catalogs |
Integer |
10 |
Sets the maximum number of Model Manager catalogs that can be cached in memory. |
eProdCfgNumbofCachedWorkers |
Product Configurator-Number of workers cached in memory |
Integer |
50 |
Sets the maximum number of workers that can be cached in memory. This number applies to all Model Manager catalogs. |
eProdCfgCacheEngineObjects |
Product Configurator - Cache Engine Objects |
Boolean |
|
Set to Note: This parameter supports precaching. Set this parameter only on the dedicated Siebel Product Configurator server. Precaching does not apply on the Siebel Application Object Manager. See also "Cache Management for Siebel Product Configurator". |
ServerSessionLoopSleepTime |
Server Session Loop Sleep Time |
Integer |
300 |
Specify an interval time (in seconds) to refresh cached products that are mapped to a Siebel Product Configurator server cache or component cache using the explicit product mapping setting.
Note: This parameter supports precaching. Set this parameter only on the dedicated Siebel Product Configurator server. Precaching does not apply on the Siebel Application Object Manager. See also "Cache Management for Siebel Product Configurator". |
This topic is part of "About Siebel Product Configurator Caching".
To help you to determine how to set the Siebel Product Configurator caching parameters, a general suggestion is to measure the incremental memory required for a customizable product.
Requirements for Model Manager and Worker caching are more relevant than those for object caching. Object caching has a small requirement, and applies to multiple users. Model Manager caching applies to multiple users (using the same customizable product). Worker caching also applies to multiple users.
You can try this on a Siebel Developer Web Client (similar to the Siebel Mobile Web Client, but using a dedicated database connection) by checking the memory used by the siebel.exe process before and after you click Customize for a customizable product included in a quote or order, and again after you have further configured the customizable product (to reach the maximum likely memory usage).
For example, X might be the before-loading memory size, Y might be the after-loading size, and Z might be the memory size after additional product configuration.
Of the incremental memory observed, consider the following breakdown:
The size of a Model Manager for a customizable product is about 75% of the incremental memory required to instantiate the product (that is, 75% of Y minus X).
The size of a Worker for a customizable product varies during runtime, generally increasing as user selections are made. This size can be approximated by subtracting the Model Manager size from the difference of Z less X.