Collection variable performance considerations

Document created by pamela.denchfield Employee on Feb 17, 2015Last modified by pamela.denchfield Employee on Feb 8, 2016
Version 1Show Document
  • View in full screen mode

There are no hard limits as such with collection variables; however, keep the following factors in mind when using collection variables.

  • Serialization: Instances of workflows with larger collection variables require more time for serialization and deserialization.
    For more information about serialization, see the following Microsoft article: Serialization (C# and Visual Basic).
  • Looping: The “For each” action runs continuously without a delay between iterations. Large numbers of iterations (such as 3,000) effectively put a large work load on your server.
  • Batching: Workflow actions that update SharePoint content are batched until the workflow reaches a delay or task action (or until the workflow ends). With the previous example of 3,000 iterations, all 3,000 iterations are committed, thus contributing to the load.
  • Logging: Additional load comes from the overhead of logging workflow status and history in the Nintex Workflow database for each iteration.
  • Built-in timeout: As outlined in this document, a workflow is only allowed to process as long as the built-in timeout. A workflow instance that processes longer than the timeout either stops silently (no error) or errors without a timeout exception.
    See also Optimizing timeout settings: SharePoint timer service
  • SharePoint workflow design: Mass processing as in the example of 3,000 iterations goes beyond the intended design of SharePoint workflows.
2 people found this helpful

Attachments

    Outcomes