Introduction
In this article, we are going to describe conditions and parameters that are worth considering when designing a working environment for running several (more than one) bots (workflows) on the same machine at the same time. Due to the limited capabilities of a machine, it is important to take into account different factors that may affect the performance of a system when working with multiple workflows simultaneously.
Many users tend to design their RPA-environments with regard to solving complex, multi-level yet mundane tasks. For example, bots can be in charge of reading emails, combining information from different sources into one document, recognizing documents, sending notifications to users and so on. Different tasks require different machine capacities, because resource consumption rises along with the complexity of workflows. Below we will go through the most important parameters and state their influence on the performance of workflows.
DISCLAIMER: This article is a general recommendation. It is worth understanding that there are a huge number of parameters that can affect the performance of bots. We have selected the most important aspects and described them in general terms, because ultimately the performance of bots depends on the specific system, specific algorithms, specific equipment, communication providers and other conditions that cannot be described in general terms.
What influences the system performance?
In this section, we will review different parameters that may affect the performance of RPA-processes.
Types of systems
PC (personal computers) as well as laptops and workstations. Such systems are most commonly used to maintain simple day-to-day processes controlled directly by users. Any PC has a set of hardware and software that directly influence the performance of a system in general. There are minimum and recommended system requirements for working with the ElectroNeek platform. You can discover more information about these requirements here.
Servers. Such systems are used for processing and storing huge amounts of data. The core difference between PCs and servers is that servers are likely to have more drive memory, more RAM, better CPU performance and higher reliability, because servers are required to maintain operability 24/7. The ElectroNeek platform supports working on server machines, and, in general, the same system requirements (as for PCs) can apply for servers.
Consumption of resources
There are several sources of consumption of system resources. In this section we will review the most significant ones.
Workflows
The amount of resources required to perform workflows effectively depends on their complexity. For example, small workflows containing simple activities (copying files, appending small texts to documents, launching applications, console logging, displaying notifications etc.) will consume less resources than heavy-loaded workflows. The most consuming activities are:
- Email activities (Read Emails, Send Email)
- Interaction with images (Click on image, Find image)
- Interaction with websites (Scrape structured data, Click on element)
- Interaction with programming languages (Execute Python, Execute JavaScript)
- Document processing (Read text, Combine to PDF)
Amount of workflows running simultaneously
Each workflow consumes some amount of resources. The more workflows are running at the same time - the more resources are required to maintain its stable operability. It is important to pay attention not only to the number of workflows, but also to the operations that the workflows perform as well. For example, one workflow working with several websites in a browser, can consume more resources than a couple of workflows working with local files on the machine.
Applications and websites
The amount of required resources can differ from one application or website to another. Pay attention to the application system requirements when designing a workflow that interacts with it. The same applies to websites as they can have different amounts of data loading when opening a webpage. For instance, internet browsers can also consume quite a lot of RAM.
System workload
Running applications and services can significantly consume the resources of the system. Adding several workflows to that can result in decreasing the efficiency of the system in general. Make sure that all the non-important processes are finished before launching the workflows.
Resource management
In this section, we will go through some practices that will help you to make your RPA-processes more efficient.
Division of environments
The ElectroNeek platform supports running only bot (wokflow) on one Windows account (one user). It is only possible to run bots in parallel on different accounts. For example, it is possible to create a virtual machine dedicated only to running bots. Such division can increase the performance efficiency.
Splitting workflows and files
In order to decrease the load of a system, you can design your bots to work with smaller parts of data. For example, if you have to process 1 thousand rows in an Excel file, it would be better to process 100 rows at a time. Such iterative approach will increase the performance.