cancel
Showing results for 
Search instead for 
Did you mean: 

Document Composition Performance Tuning

Justin_Iagulli
Champ on-the-rise
Champ on-the-rise

Hi,

I have some questions about how to optimize Document Composition for a client environment.

  1. Is there any way to report on doc comp throughput once an environment is active? I would like to see documents generated per day, but also time in queue for each document. Without this information, I think it would be hard to determine if I have doc comp configured optimally and if I need to go to enterprise.
  2. Are there any recommendations for how to calculate the optimal PoolSize settings or is it trial and error?
  3. Any issues with setting WorkBatchSize at something like 50? If I can't get the performance increases I want by increasing the PoolSizes, I will probably just add a second service. Our batches are usually around 100 documents or less at a time. EDIT: I guess this isn't allowed with standard document composition.

Thanks!

1 ACCEPTED ANSWER

Tony_Maimone
Star Collaborator
Star Collaborator

Hi Justin,

In general, the total number of threads for the service shouldn’t be much larger than 150% of the number of cores available to the process.  Each thread spends some amount of time waiting for I/O to complete, but hopefully, not that much.

How many batches of roughly 100 documents are you running per day? If your organization is regularly producing 2,500 or more documents per day, Enterprise Document Composition is suggested to accommodate your needs. For volumes associated with standard Document Composition, the default pool sizes are going to be sufficient. If you are running into throughput issues with the standard license, changing the service configuration won’t help.

  1. Performance counters for the Document Composition NT Service would be the best way to report on the number documents being generated each day. This would not count Ad Hoc Document Composition. Please contact your first line of support for help with Performance Counters.
  2. The default for CompositionPoolSize is 2 and ArchivalPoolSize is 3.
    1. From the OnBase 15 MRG, the SessionPoolSize should range from ArchivalPoolSize + 1 to ArchivalPoolSize + CompositionPoolSize.
    2. The Archival pool should always be greater that Composition pool otherwise you create a bottleneck in the process.
  3. WorkBatchSize defaults to 1000.
    1. From the Document Composition MRG: “When the Service completes its work, it requests a new group of documents to create. Reducing the size of the group will make it less likely that one server will not get any work, but slightly increase the load on the database. This setting should not be changed unless multiple instances of the Document Composition Service are being run.”
    2. The NT service will not allow itself to run out of work. By setting the WorkBatchSize to an arbitrarily low number, it will be contacting the database more often to retrieve work.

Thank you,
Tony

View answer in original post

1 REPLY 1

Tony_Maimone
Star Collaborator
Star Collaborator

Hi Justin,

In general, the total number of threads for the service shouldn’t be much larger than 150% of the number of cores available to the process.  Each thread spends some amount of time waiting for I/O to complete, but hopefully, not that much.

How many batches of roughly 100 documents are you running per day? If your organization is regularly producing 2,500 or more documents per day, Enterprise Document Composition is suggested to accommodate your needs. For volumes associated with standard Document Composition, the default pool sizes are going to be sufficient. If you are running into throughput issues with the standard license, changing the service configuration won’t help.

  1. Performance counters for the Document Composition NT Service would be the best way to report on the number documents being generated each day. This would not count Ad Hoc Document Composition. Please contact your first line of support for help with Performance Counters.
  2. The default for CompositionPoolSize is 2 and ArchivalPoolSize is 3.
    1. From the OnBase 15 MRG, the SessionPoolSize should range from ArchivalPoolSize + 1 to ArchivalPoolSize + CompositionPoolSize.
    2. The Archival pool should always be greater that Composition pool otherwise you create a bottleneck in the process.
  3. WorkBatchSize defaults to 1000.
    1. From the Document Composition MRG: “When the Service completes its work, it requests a new group of documents to create. Reducing the size of the group will make it less likely that one server will not get any work, but slightly increase the load on the database. This setting should not be changed unless multiple instances of the Document Composition Service are being run.”
    2. The NT service will not allow itself to run out of work. By setting the WorkBatchSize to an arbitrarily low number, it will be contacting the database more often to retrieve work.

Thank you,
Tony