Scenario to Consider

Consider the following scenario:

Assuming:

  • Average event processing time using 1 thread = 551ms/event
  • 3 events are fired per activity
  • 1 process contains 30 activities
  • The tasks under each activity are completed immediately once the tasks are assigned (no waiting time).

Scenario 1

What is the total time to complete 4,000 process instances?

Total time to complete 4,000 processes using 10 threads:

= 551 ms/event x 3 events/activity x 30 activities/process x 4000 processes

10 threads

=19,836,000 ms

=19,836 s

Total time to complete 4,000 processes using 20 threads:

= 551 ms/event x 3 events/activity x 30 activities/process x 4000 processes

      20 threads

=9,918,000 ms

=9,918 s

Total time to complete 4,000 processes using 40 threads:

= 551 ms/event x 3 events/activity x 30 activities/process x 4000 processes

      40 threads

=4,959,000 ms

=4,959s

Scenario 2

With the hardware combination discussed in Section 7.2, how may processes can be completed in 1 day?

Number of processes that can be completed in 1 day using 10 threads:

= Total time available in 24 hours (ms) x Thread pool size

Time needed for 1 process (ms/process)

=17, 422 process/day

Number of processes that can be completed in 1 day using 20 threads:

= 24 hrs/day x 60 min/hr x 60 sec/min x 1000 ms/sec x 20 threads

      551 x 3 x 30 ms/process

=34, 846 process/day

Number of processes that can be completed in 1 day using 40 threads:

= 24 hrs/day x 60 min/hr x 60 sec/min x 1000 ms/sec x 40 threads

      551 x 3 x 30 ms/process

=69, 691 process/day

Scenario 3

With this kind of hardware combination, how may processes can be completed in 1 week and 1 month?

Using the results from Scenario 2, and assuming 1 month = 30 days.

Thread Pool Size Total processes that can be completed in 1 week Total processes that can be completed in 1 month
10 121, 960 processes/week 522, 686 processes/month
20 243,920 processes/week 1,045,372 processes/month
40 487,840 processes/week 2,090,744 processes/month