Performance Considerations in the Orders System
The configuration of your site affects the performance of the orders system. This topic presents information about how to improve performance of the orders system in your Commerce Server application.
The Customer and Orders Manager application and your Commerce Server Web application access the same database. Therefore, the way that business users use the Customer and Orders Manager can affect the performance of the Web site.
All the properties of a PurchaseOrder object and its nested objects that you map to the database are searchable, except weakly typed indexer properties. However, not all these properties are indexed. If multiple people use the Customer and Orders Manager at the same time, and if they search for data that is not indexed, the performance of your Commerce Server Web site might decrease. You should inform the business users which searches have high impact on system performance, and encourage them to use lower-impact searches when it is possible.
Commerce Server can cache catalog, orders, marketing, and profile information. To improve the performance of the orders system, enable caching by configuring the caches element in your application's Web.config file and in the Web.config file for the orders Web service.
You can configure how many records a search operation returns by using the searchResultsLimit attribute of the ordersWebService element in the Web.config file. Returning fewer results improves the performance of database searches.
For more information about the SearchResultsLimit attribute, see ordersWebService Element.
It is faster to serialize data and store it in the database as part of a binary large object (BLOB) than it is to map data to specific database columns. You can improve the performance of Commerce Server by mapping fewer properties of a purchase order to the database. If you will not search the database on a property, do not map the property to the database.
For more information about how to map the properties of a purchase order to the database, see Mapping Purchase Orders to the Database.
When you run a pipeline on a basket, Commerce Server copies certain properties of the basket to entries in a dictionary. You specify which properties Commerce Server copies in the OrderPipelineMappings.xml file. You can improve the performance of your Commerce Server application by mapping only the properties that the pipeline components read or write.
For more information about how to map the properties of a basket to a pipeline dictionary, see How to Modify the OrderPipelineMappings.xml File. For more information about which properties each pipeline component reads and writes, see the topic about the pipeline component in the Pipeline Component Reference section.