Server Performance Testing

Last Updated: 03/28/2018 Introduced in Version: 2.0

These tests were done on an i7-3770 Processor with 16gb of ram.  The Ram in the server process never went above 500 MB, however. Tests were observed to ensure the processor was fully utilized. 

Tests were run on Decisions Platform Build 3.0.0 rev 15933M

In tests involving the database, we did not assume the same linear scaling that the flow engine experiences.

Putting work into work queues will cause some additional overhead as a process requires a save, and this was not tested in this series of tests.

Note: Production system performance may vary based on a number of different factors including:

– server being used for other purposes

– any network latency in calls

– speed of database server and database storage

the actual steps used in a process. An example of this would be a steps like: making an assignment, creating a pdf, running a database query or sending an email – all of which require either heavy processing or external system interactions.

Flow Performance

Flow Execution

10,000 Full Flow Executions/Second/Processor

x 3,600 seconds

x 8 processors

288,000,000 flow executions/hour/server

Flow Execution with 10 Steps

2881 Full Flow Executions/Second/Processor

x 3,600 seconds

x 8 processors

82,972,800 flow executions/hour/server

Flow Execution Manipulating Data In List

This flow creates a list, creates and adds 50 items to it (104 step executions total).

1923 Full Flow Executions/Second/Processor

x 3,600 seconds

x 8 processors

55,382,400 flow executions/hour/server

5,759,769,600 flow steps per hour.

Flow Execution With Sub Flow

This flow creates a list, runs a subflow 50 times (104 step executions total).

510,000 flow executions

137 Flow With SubFlows (51 flows run total) Executions/Second/Processor

x 3,600 seconds

x 8 processors

3,945,600 flow executions/hour/server

201,225,600 total flow executions (counting sub flows)

Flow Start with Assignment

* Note, This test was constrained to 2 processors given the limitations of the database that was being tested against.  This test was not designed to test the scalability of the database but to test the overhead the workflow engine added in putting items into it.

22 per second

x 3,600 seconds

x 2 processors

158,400 flow starts with assignment/hour/server

Rule Performance

Rule Execution

50,000 Full Flow Executions/Second/Processor

x 3,600 seconds

x 8 processors

1,440,000,000 rule executions/hour/server

Rule With 10 Conditions

12,500 Full Flow Executions/Second/Processor

x 3,600 seconds

x 8 processors

360,000,000 rule executions/hour/server

Data Performance

Saving individual data objects

* Note, This test was constrained to 2 processors given the limitations of the database that was being tested against.  This test was not designed to test the scalability of the database but to test the overhead the workflow engine added in putting items into it.

1,390 Stores Per Second

x 3,600 Seconds

x 2 processors

10,008,000 Inserts/Hour/Server

Saving data objects in bulk

* Note, This test was constrained to 2 processors given the limitations of the database that was being tested against.  This test was not designed to test the scalability of the database but to test the overhead the workflow engine added in putting items into it.

20,000,000 Stores Per Second

x 3,600 Seconds

x 2 processors

144,000,000,000 Inserts/Hour/Server

Saving individual platform objects

* Note, This test was constrained to 2 processors given the limitations of the database that was being tested against.  This test was not designed to test the scalability of the database but to test the overhead the workflow engine added in putting items into it.

645 Stores Per Second

x 3,600 Seconds

x 2 processors

4,644,000 stores per hour

Saving platform objects in bulk

* Note, This test was constrained to 2 processors given the limitations of the database that was being tested against.  This test was not designed to test the scalability of the database but to test the overhead the workflow engine added in putting items into it.

3,300 Stores Per Second

x 3,600 Seconds

x 2 processors

23,760,000 stores per hour

CSV File Performance

Read in CSV and iterate its items (Files/Second)

This test is to load and iterate files of 1000 records.  Included in this is 2002 step executions per file.

11 Files/Second

x 3,600 seconds

x 8 processors

316,800 Files/Hour/Server

634,233,600 Flow Steps/Hour/Server.

Read in CSV and iterate its items (Lines/Second)

This test is to load and iterate files of 1000 records.  Included in this is 2 step executions per row.

11,000 Lines/Second

x 3,600 seconds

x 8 processors

316,800,000 Lines/Hour/Server

633,600,000 Flow Steps/Hour/Server.

Additional Resources