Metadata and Latch Management Enhancements

SAP ASE Enterprise version 16.0 and later decreases CPU utilization for latch conflicts in environments that have very high transaction rates.

Including, decreased contention:

These features are intended to enhance performance: you should not notice any performance degradation when SAP ASE uses these enhancements. The metadata and latch management enhancements are enabled by default, and you need not to perform any configuration to enable these enhancements.

SAP ASE version 16.0 and later decreases CPU utilization during latch conflicts in very high transaction rate environments.

Concurrent operations on a single page can cause contention during periods of times with extremely high transaction rates, manifesting as data cache spinlock contention on a single cache partition. Typically, you can trace this contention to a large number of latch requests on a single data page. The sp_chgattribute exp_row_size parameter helps manage space on the server. SAP ASE reserves space on data pages according to the size to which you set exp_row_size, which can limit the number of rows per page.

SAP ASE versions 16.0 and later allows you to set the values for exp_row_size for tables with only fixed-length columns. To decrease contention, decrease the number of rows per page by setting exp_row_size to the logical page size, (for example, 8,192).

High workload scenarios can increase contention on procedure cache, which SAP ASE alleviates by setting aside local memory for each engine. Because this memory is local, accessing it does not cause contention.

In versions earlier than 16.0, SAP ASE set aside 25% of the procedure cache for the engine local cache (ELC) for use by requests of a specific size. Using trace flag 758 increased the size to 50% of the procedure cache, and made the ELC available for all request sizes.

SAP ASE versions 16.0 and later enable ELC by default. 50% of the procedure cache is used for ELC, which services all request sizes. The engine local cache percent configuration parameter determines the size of the ELC. The default value, 50, means that the local cache uses fifty percent of the procedure cache, and each engine receives:
((0.50 * procedure_cache_size) / number_of_online_engines)
Increasing the size of ELC can decrease contention on the procedure cache. For example, to increase ELC from default 50% to 60%, issue:
sp_configure 'engine local cache percent', 60
Additionally, SAP ASE versions 16.0 and later include these configuration parameters to control the engine local cache:

These configuration parameters are enabled by default.