Performance update from 24u and server side script queues

24u is a great resource for lots of FM things and Honza is truly focused on performance. This new blog post on their site has some good info.

For those not aware of the “server side script queue” mentioned in the post as an alternative to PSoS execution, it is functionally equivalent to the old school mainframe job scheduler. A script places the name of a script to execute into a new record in a table. A server side script running on short intervals looks for a record in that table and runs a perform script by name, deleting the script name from the queue.

This effectively serialized server side script execution and, in many cases, reduces contention for FMSE resources resulting in better performance.

A real world example: a complex script initiated by a user that runs as a PSoS process, gets initiated by multiple users concurrently. Data currency and resource dependencies result in not only dragging the server to its knees (in this case a 24 core Xeon with a terabyte of ram with fiber connected NVME RAID) but causing script update data dependencies to be overlapping causing erroneous data.

The data issues could likely have been resolved with a script rewrite, but moving this to a serialized server side execution queue solved both data and performance issues with little effort.

With sufficient server capacity, more than one of these server side scripts can be started interleaved every 2 minutes, or even hit difference queue tables.

2 Likes