Replication Scalability and Performance Enhancements
Replication has made scalability and performance enhancements in the following areas:
- Parallel processing for Merge Agents and Distribution Agents
- Precomputed partitions for filtered merge publications
- New partitioning options for filtered merge publications
- New Subscriber upload options for merge publications
- Improvements in BLOB delivery in merge replication
Scalability and Performance Enhancements
Parallel processing for Merge Agents and Distribution Agents
SQL Server 2005 provides new parameters for the Merge Agent and Distribution Agent that allow parallel processing:
- The Merge Agent parameter is -ParallelUploadDownload, which allows the Merge Agent to process in parallel the changes uploaded to the Publisher and those downloaded to the Subscriber. This is useful in high-volume environments with high network bandwidth. For more information, see Replication Merge Agent.
- The Distribution Agent parameter is -SubscriptionStreams, which allows multiple connections per Distribution Agent to apply batches of changes in parallel to a Subscriber, while maintaining many of the transactional characteristics present when using a single thread. This new option can greatly improve aggregate replication throughput. For more information about this parameter, see Replication Distribution Agent.
Specify these parameters through an agent profile. For more information, see Replication Agent Profiles.
Precomputed Partitions for Filtered Merge Publications
The use of precomputed partitions is a new performance optimization for merge publications that use parameterized filters (referred to as "dynamic filters" in previous versions). The option is enabled by default for new filtered publications. There are some restrictions on filters when using precomputed partitions, but if these are met, performance can be significantly increased. For more information, see Optimizing Parameterized Filter Performance with Precomputed Partitions.
New Partitioning Options for Filtered Merge Publications
You can now specify the type of partition that a parameterized filter will create, which allows merge replication to optimize performance. For example, you can specify that a partition of data will be replicated to and updated by a single Subscriber (a common scenario for merge replication), which provides optimal performance because replication can track and process less metadata. For more information, see Parameterized Row Filters.
New Subscriber Upload Options for Merge Publications
You can now specify whether changes at a Subscriber should be uploaded to the Publisher. In many applications, changes to some tables (such as a table with product data) should be made only at the Publisher. Specifying that articles of this type are "download-only" can improve performance. For more information, see Optimizing Merge Replication Performance with Download-Only Articles and the @subscriber_upload_options parameter of sp_addmergearticle (Transact-SQL).
Improvements in BLOB Delivery in Merge Replication
The processing and delivery of BLOB data has been improved to provide better memory usage for very large BLOB columns. To optimize memory usage for very large BLOB columns, specify a value of TRUE for the @stream_blob_columns parameter of sp_addmergearticle (Transact-SQL).