Bookshelf Home | Contents | Index | Search | PDF |
Performance Tuning Guide > Tuning Customer Configurations for Performance > General Best Practices for Customer Configurations >
Miscellaneous Configuration Guidelines
The following are some miscellaneous configuration guidelines for maintaining optimal performance:
- Limit the number of views accessible to users. Assign views to responsibilities only as needed. (This is an application administration task.)
- Limit the number of screen tabs accessible to users. Displaying a large number of screen tabs reduces application performance. You can use responsibilities to manage the default tab layouts for users and minimize this performance factor. (This is an application administration task.)
For more information about using responsibilities to specify default tab layouts, see the access control section of Security Guide for Siebel eBusiness Applications.
- Avoid the use of case insensitivity. Use of case-insensitive queries can significantly increase the possibility of performance issues due to the additional complexity required at the database level to support case-insensitive database operations.
Prior to enabling case insensitivity, a thorough review of business requirements and performance criteria is highly recommended. In addition, if the feature is enabled, a performance test should be conducted with a full copy of the production database. The severity of the performance impact increases with the complexity of the configuration and the size of the production database.
It is also recommended that Siebel Expert Services be engaged to optimize the configuration and review requirements. Case insensitivity is a database platform constraint and should also be reviewed with the database platform vendor.
For more information about configuring case insensitivity for an application or for specified fields, see the Applications Administration Guide.
- Limit the use of case insensitivity for queries. Case-sensitive searches perform better than case-insensitive queries. Siebel applications are case-sensitive by default. You can enable case insensitivity either for the entire application or for specified fields. In general, the larger the database, and the larger the number of records returned by a case-insensitive query, the more that overall database performance is affected. Overall performance is also affected by the number of users who perform case-insensitive queries. End users can also force case-sensitive or case-insensitive queries.
For more information about configuring case sensitivity for an application or for specified fields, see the Applications Administration Guide.
- Avoid overly complex user interface configuration. In general, do not include a large number of applets per view (generally include no more than four applets), or a large number of fields per applet.
- Limit the number of business components in a view. An excessive number of different business components used in applets in a view can slow down the display of data upon entry into that view. This is because each of the applets must be populated with data.
- Limit the number of fields in business components or applets. There is no set limit on the number of fields in a business component, or number of list columns in a list applet. However, a business component with too many active fields will have degraded performance. Also, in some database systems it is possible to generate a query that is too large to be processed. See also Limiting the Number of Active Fields.
In particular, reduce the number of fields displayed in the master applet on related views. The information is static and may not be necessary. Additional space will be available on the view for supporting data without users needing to scroll. (This will also provide a usability benefit.)
End users can reduce or increase the number of fields displayed in a list applet, by using the Columns Displayed menu option. However, it is best to provide an optimal default number of visible fields for each applet. It is also best to provide the minimum required total number of fields, including those that are hidden by default.
- Limit the number of records returned. To limit the number of records returned for a business component, you can add a search specification to the business component or applet, or you can define a default predefined query on the view.
- Limit the number of joins, extension tables, and primary ID fields in a business component. Joins degrade performance by causing an extra row retrieval operation in the joined table for each row retrieval in the main table. Extension tables and primary ID fields also use joins, although implied rather than explicitly defined, adding a row retrieval operation for each.
The more joins, extension tables, and primary ID fields defined in a business component, the higher the number of row retrievals required in tables other than the main table, with a corresponding performance degradation.
- Limit the use of Link Specification property in fields. TRUE settings in the Link Specification property in fields may also slow performance. If TRUE, the field's value is passed as a default value to a field in the detail business component through a link.
This is necessary if the master business component has a link relationship (in the current business object) with one or more detail business components, and these detail business components utilize the "Parent:" expression in the Pre Default Value, Post Default Value, or Calculated Value properties in any fields. The master business component must pass the field value to any detail records displayed.
As with the Force Active property, fields with the Link Specification property set to TRUE will be retrieved every time the business component is queried.
- Use inner joins rather than outer joins. Inner joins may be used for joined tables, with a resulting savings in overhead, provided you are guaranteed that all foreign key references are valid.
For example, when the join is from a detail business component to its master, you are guaranteed of the existence of the master. You can configure the join as an inner join by setting the Outer Join Flag property of the Join object definition to FALSE. This improves the performance of queries that use the join.
- Configure Cascade Delete appropriately for many-to-many links. The Cascade Delete property in a Link object definition must be correctly configured for use in a many-to-many link, or the first insertion or deletion in the association applet will be abnormally slow. A link object definition used in a many-to-many relationship is one that contains a non-NULL value for the Inter Table property. The Cascade Delete property in such a link must be set to None.
- Remove unneeded sort buttons. Remove sort buttons from list columns in list applets where this capability is not required.
- Reduce the need to scroll in a view. Whenever possible, design views that do not require scrolling. (This will also provide a usability benefit.)
- Provide tuned PDQs. Provide tuned PDQs (predefined queries) that address most user requirements. Doing so reduces the likelihood of users creating undesirably complex queries. You may also provide guidance to end users on constructing appropriate queries.
- Cache business services. Cache business services that should be accessible at all times in a user session. To do this, set the Cache parameter to TRUE for each applicable Business Service object definition.
Bookshelf Home | Contents | Index | Search | PDF |
Performance Tuning Guide Published: 24 October 2003 |