Configuring publishing performance
When you publish to Experience Edge, resource consumption can peak at many of the stages the process goes through. The connector module uses APIs from the Task Parallel Library (TPL) such as Data parallelism and Dataflow to maximize performance, providing a simple way to control and scale the performance based on the available processors.
This topic describes two aspects of performance you can control in the configuration.
Controlling the publishing performance
The connector performs several operations. Network latency significantly impacts the performance of these operations such as comparing what is available in the edge with what needs to be published, finding item dependencies, and publishing to the edge. Some repeated local operations (loading item data from the database, generating JSS layout for a page, and generating the GQL schema for the database) also impact performance.
The connector uses a TPL Dataflow for concurrency in all export operations where it is possible.
To control the publishing performance, you can configure the following:
-
The
ExperienceEdge.MaxExportEntitiesThreadCount
setting - controls the maximum number of parallel threads used to expand the manifest. -
The
ExperienceEdge.ExportEntitiesBufferSize
setting - controls the size of the export pipeline buffer. -
The
ExperienceEdge.MaxPublishThreadCount
setting - controls the maximum number of parallel threads used to publish the items to edge.
Reducing network latency
To reduce network latency during publishing, items are gathered in batches and published to the edge. To control this:
-
Specify the value of the
ExperienceEdge.ExportPublishEventsBatchSize
setting.