Bookshelf Home | Contents | Index | Search | PDF |
Performance Tuning Guide > Tuning Siebel eConfigurator for Performance >
Configuring Snapshot Mode Caching for eConfigurator
When Snapshot Mode memory caching has been configured for server-based Siebel eConfigurator deployments, when a user starts a configuration session, customizable products and related services may be loaded from the Snapshot Mode cache. Using Snapshot Mode can greatly improve performance for initializing configuration sessions.
If you do not use Snapshot Mode caching, then configuration sessions are subject to the behavior described in Default Caching Behavior for eConfigurator.
Snapshot Mode caches the following data:
- All objects associated with customizable product definitions
- A Factory instance for each customizable product
- A Worker instance for each user session
For more information about Siebel eConfigurator architecture elements such as factories and workers, refer to Product Administration Guide.
If an item is not in the Snapshot Mode cache, the item is retrieved from CFGCache, if it is verified to be the current version, and then added to the Snapshot Mode cache for subsequent use.
Using Snapshot Mode is highly recommended, particularly if you have large numbers of users.
Note the following behavior for configuration sessions for which Snapshot Mode is in effect:
- When a product administrator goes into validate mode, the workspace version of the customizable product is used rather than the version in the Snapshot Mode cache.
- When a product administrator releases a new version of a customizable product, the Snapshot Mode cache is marked. When a new user session tries to access the customizable product, the new version is loaded into the cache.
- When the size limit is reached for a Snapshot Mode cache, the oldest or least frequently accessed items are deleted. The Snapshot Mode cache contains the most recently or most frequently requested customizable product items.
Guidelines for Using Snapshot Mode
Observe the following guidelines for using Snapshot Mode:
- For information about the ways customizable products in the Snapshot Mode cache can be refreshed, see Refreshing the Snapshot Mode Cache.
- If the customizable product development environment and the production environment are on the same machine, and Snapshot Mode is turned on, the product administrator may need to refresh the Snapshot Mode cache frequently to see changes during development. Doing so also refreshes the Snapshot Mode cache for production users.
- When a customizable product contains rules that have start or end dates, the arrival of these dates does not cause the revised declarative portion of the product to be loaded into the Snapshot Mode cache. You must refresh the cache manually on the effective date to load the revised declarative portion of the product.
NOTE: If a customizable product does not have configuration rules, then the worker (and the worker cache) does not apply to this product.
Parameters for Configuring Snapshot Mode Caching
To use Snapshot Mode caching, you specify values for several server parameters. At a minimum, you turn it on by setting eProdCfgSnapshotFlg to TRUE. Other parameters must be sized following guidelines such as those described in Determining Rough Sizing for Caching Parameters.
Table 6 lists the server parameters for configuring Snapshot Mode caching. Using Siebel Server Manager, set these parameters on each AOM component, or on the eProdCfgObjMgr component, according to your deployment.
Table 6. Server Parameters for Configuring Snapshot Mode Determining Rough Sizing for Caching Parameters
To help you determine how to set the Snapshot Mode caching parameters, a general suggestion is to measure the incremental memory required for a customizable product.
Requirements for factory and worker caching are more relevant than those for object caching. Object caching has a small requirement, and applies to multiple users. Factory caching applies to multiple users (using the same customizable product). Worker caching also applies to multiple users.
You can try this on a Siebel Dedicated Web Client (a Mobile Web Client 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 maximum likely memory usage).
For example, X may be the before-loading memory size, Y may be the after-loading size, and Z may be the memory size after additional product configuration.
Of the incremental memory observed, consider the following breakdown:
- The size of a factory for a customizable product is about 25% of the incremental memory required to instantiate the product (that is, 25% of Y - X).
- The size of a worker for a customizable product varies during runtime, generally increasing as user selections are made. This size may be approximated by subtracting the factory size from the total incremental memory required for instantiating and configuring the product (that is, subtracting the factory size from Z - X).
Refreshing the Snapshot Mode Cache
Siebel administrators or product administrators can refresh the Snapshot Mode cache in any of several ways:
- Refreshing the Snapshot Mode Cache
- Refreshing the Cache with Product Changes
- Refreshing the Cache with Class Changes
Refreshing the Snapshot Mode Cache
A product administrator can select Refresh Cache to erase the Snapshot Mode cache on all the servers connected to the Siebel Database.
This action does not erase the contents of the CFGCache cache on the Siebel File System. Periodically you should do this manually.
The next configuration session reloads the Snapshot Mode cache and the CFGCache cache on the Siebel File System with the content applicable to that session. Subsequent sessions load from the Snapshot Mode cache.
NOTE: Because refreshing the cache has a significant effect on the performance of product configuration sessions started afterwards, carefully decide when it is appropriate to do this.
To refresh the Snapshot Mode cache
- Navigate to the Product Administration screen.
- Select a record for a customizable product.
- In Customizable Products > Product Versions, open the menu and click Refresh Cache.
NOTE: Restarting the Siebel Database Server also erases the Snapshot Mode cache on the server. The next configuration session is loaded as if the user had selected the Refresh Cache menu option.
Refreshing the Cache with Product Changes
While editing a product record, a product administrator can select Refresh Product Cache to erase from the Snapshot Mode cache all the customizable products containing the product.
In other words, when a product administrator changes a product record, the product record can serve as a filter to selectively update the Snapshot Mode cache.
The next time a user requests the customizable product, the user receives a freshly instantiated version reflecting the product change and the cache is refreshed with this version. For example, you could change the product description or part number and then refresh the cache.
You cannot propagate changes to class assignment by doing this type of refresh.
To refresh the cache with product changes
- Navigate to the Product Administration screen.
- Select the record for a customizable product that has been changed or that is to be refreshed.
- From the Products menu, choose Refresh Product Cache.
Refreshing the Cache with Class Changes
While editing a product class record, a product administrator can select Refresh Class In Configuration Cache to erase from the Snapshot Mode cache all the customizable products containing products from the class.
In other words, the product administrator can use a product class as a filter to selectively delete customizable products from the cache.
If you have Snapshot Mode turned on and a customizable product that is affected by the class change is in the Snapshot Mode cache, the changes are not propagated to the cached version of the product. The next user that requests the customizable product will receive the cached version, which does not reflect the class changes. To make sure users receive the class changes immediately, use Refresh Class In Configuration Cache.
The next time a user requests the customizable product, the user receives a freshly instantiated version reflecting the product change and the cache is refreshed with this version. This new instance will reflect the changes you made to the class.
Bookshelf Home | Contents | Index | Search | PDF |
Performance Tuning Guide Published: 24 October 2003 |