Completed Processes Affecting Process Execution Engine

My company has an application that has grown in size over the past few years. The main functionality is to create an estimate for a customer for work. When we create a new estimate, we kick off an orchestration process model that then chains through subsequent process models and directs the user from User Input task to User Input task. As sub processes start and end, they each have a 1 day deletion clean up. At the end of the business flow, once the estimate and work is done, the user closes the estimate and the orchestration model ends. Throughout the lifespan of the estimate, it is constantly going in and out of process models.

I understand that Appian is moving towards and giving advice to move away from this type of architecture and move more to a record centric approach, but for us, that would be a large undertaking, and thought it may be on the radar down the road, I'm more so looking for feedback/answers regarding the currently situation. 

So my question is this, here's a screenshot of the process model metrics tab. 

During the middle of the week, we could have about 1 million processes in the system with almost 800,000 completed.

Breakdown of the models/memory/completion percentage.




Take for example, the second row - 24,740 instances, with a 96.4% with a 1 day clean up time. That means we're spawning 10s of thousands of models as day, and then once they are completed, they are just sitting in the process execution engine. We set the clean up days to be 1 day, because we wanted our support team to have the ability to go back in to process models and trace back process history and look to see when variables changed when and if there are any production support issues, but I'm realizing that this type of analysis doesn't happen frequently anymore and keeping 700,000 processes in completed status in the execution engine could be causing massive performance degradation on the existing active processes.

I understand there is an archiving option, however, since our site is such a high volume process application, the ability to see archived processes on the process activity tab has been disabled. I also understand that we can still archive and unarchive based on process id, but if we see an issue in a parent process, and we want to see what happened in a completed sub process, we wouldn't be able to tell what the process id is. 

So I guess my idea, is to just move to a 0 day deletion for the largest consumers of process memory, immediately remove processes once they are completed. We don't really use completed processes for auditing or reports.

I guess the feedback I am looking for is, with this information I presented, does having 700,000 completed processes of varying degrees on average process instance memory between 150-300AMU just sitting in the system affect the process execution engines enough to affect the performance of the active processes? (30,000 active a day) - I feel like it would, but I am looking for any sort of validation or true understand of the impact of keeping this many processes in the system.

  Discussion posts and replies are publicly visible

Parents Reply Children
No Data