New – Spooler Subsystem Performance Boost in UniVerse 11.3.5

Mingtao Liu

January 23, 2023

We are pleased to introduce a performance boost to the UniVerse Spooler Subsystem, a key improvement in Rocket UniVerse 11.3.5. We performed internal performance benchmarks and found opportunities for significant performance improvements for all supported operating systems, except Windows (Windows does not have a spooler subsystem). One of our biggest partners has completed similar testing with consistent results. So, if you rely on the UniVerse Spooler, we highly recommend upgrading to this release to benefit from this incredible performance boost.

Detailed Information

In previous UniVerse versions, usplog has a solitary file, and you can’t change the number of files. Starting with UniVerse 11.3.5, you can specify the number of active usplog files using a new parameter called SP_USPLOG_GROUP. The best practice is to set SP_USPLOG_GROUP’s value equal to the number of printers.

For applications that need a singular usplog file to process, customers need to use another new parameter called SP_USPLOG_MERGE_INTERVAL to specify how often those individual usplog files are automatically merged into the singular usplog file. Please note that the content in the merged usplog file is always SP_USPLOG_MERGE_INTERVAL seconds behind the latest contents in individual usplog files. Customer applications that do not use the usplog file directly can ignore the SP_USPLOG_MERGE_INTERVAL parameter by leaving it as the default value and focus on tuning the SP_USPLOG_GROUP parameters. A separate feature from SP_USPLOG_MERGE_INTERVAL, you can use the new option “M” in usa (usa -M) to merge the split usplog files in real-time.

In short, for optimal performance, users need to fine tune performance using the two new parameters in uvconfig.

  • SP_USPLOG_GROUP (default value 1): specify the number of active usplog files, which means defined printers will be split between the usplog files specified.
  • SP_USPLOG_MERGE_INTERVAL (default value 0): specify the frequency in seconds at which the individual usplog files are automatically merged into a single usplog file.

In addition, we’ve made some internal Spooler architecture refinements, irrelevant to the two parameters mentioned above, so you can further boost the Spooler performance.

Internal Testing Results

This was the setup for Rocket internal testing:

  • We performed our testing on Linux CentOS 7 with 4 core CPUs and 16GB memory.
  • We created 5,000 printers so there were 5,000 printer queues in the Spooler subsystem.
  • We create 80,000 retained print jobs so the printer queues were overwhelmed at first, then we started 2,048 phantoms with each phantom sending 6,144 print jobs to one of the 5000 printers per minute.
  • We set SP_USPLOG_GROUP to 5,000 and kept SP_USPLOG_MERGE_INTERVAL to 0 (no merge).
  • We monitored two metrics: the printing job duration and the response time to “usa -P”.

The test results:

Results

The test results reveal, under an ideal configuration (5,000 usplog groups and no merge), the two metrics improved significantly (the average elapsed time was reduced by over 90%) in the optimized version (UNV 11.3.5 in this case). The results came from Rocket internal test environments and are for reference only. Rocket does not guarantee the same level of performance lift in any customer environments because there are many factors that can affect performance.

UniVerse 11.3.5, available now, contains 70 bug fixes and 15 enhancements encompassing audit logging, Python, replication, security, encryption, and more. Full details on these changes can be found in the 11.3.5 Release Notes.

Ready to upgrade? Download UniVerse 11.3.5 today on the Rocket Business Connect (RBC).

About the author

Mingtao Liu is the engineering manager for Rocket MultiValue U2 products. For the past six years, he has been working closely with U2 partners, customers, product managers, and technical support team to solve U2 customer issues and develop new U2 features. Outside of work, he enjoys reading books, watching movies, and spending time with his family.