Go to primary content
Siebel CRM Performance Tuning Guide
Siebel 2018
E24801-01
  Go to Documentation Home
Home
Go To Table Of Contents
Contents
Go To Index
Index

Previous
Previous
 
Next
Next
    View PDF

About Siebel Product Configurator Caching

Siebel Product Configurator supports several types of caching of customizable product information, to optimize response time for configuration-session users. Caching options include:

This topic contains the following information:

Default Caching Behavior for Siebel Product Configurator

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 the Product 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.

Cache Management for Siebel Product Configurator

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

  1. Navigate to the Administration - Product screen, then the Cache Administration view.

    The Cache Administration view appears.

  2. In the Cache applet, select a cache.


    Note:

    Only one cache can be active at a time.

  3. 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 parameter Enable 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.

  4. 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.

  5. 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.

  6. In the Product applet, select the product(s) that you want to associate with the component that you selected in Step 4.

  7. 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.

  8. 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.

Parameters for Configuring Siebel Product Configurator Caching

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 eProdCfgCacheFS, then Siebel Product Configurator looks in the Siebel File System. For more information, see "Specifying the Siebel Product Configurator File System Location".

eProdCfgAttrSnapshotFlg

Product Configurator - Collect and Use the snapshots of the ISS_ATTR_DEF Ob

Boolean

TRUE

Set to TRUE to enable caching for attribute definitions. This caches attribute definitions in memory. It is strongly recommended that you do not change this parameter.

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

TRUE

Set to TRUE to enable caching for product class definitions. It is strongly recommended that you do not change this parameter.

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

TRUE

Set to TRUE to enable caching for product definitions. This caches product definitions in memory. It is strongly recommended that you do not change this parameter.

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

TRUE

Set to TRUE to turn on Siebel Product Configurator caching. It is strongly recommended that you do not change this parameter.

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

TRUE

Set to TRUE to enable content cache and precaching.

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.

Product Configurator - Cache Engine Objects must be set to TRUE.

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".


Determining Rough Sizing for Caching Parameters

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.