Please rate how useful you found this document: 
No votes yet

Overview

ProcessMaker is a flexible web-based application whose use is designed to accommodate both small-scale implementations for a single department and large-scale deployments for organizations with thousands of users. Large-scale deployments, however, require careful planning and an adequate setup to accommodate the processing, bandwidth and storage needs of the system.

General Guidelines for Server Sizing

The key to any sizing projects is to determine and understand some guidelines and types of workloads involved. Check the following statements which will allow you to evaluate accurately your system requirements:

Process Capability and Memory

  • Number of estimated cases to be created per day. It's important to have an estimated number because this will affect the performance of your ProcessMaker installation.
  • Consider the total number of nominal users which are expected to be using ProcessMaker.
  • Complexity of templates, applications and components. So consider the number and size of documents which will be generated to also consider the disk space that should be allotted.
  • The amount and the speed of the RAM on the server is more important than its processor. Large scale deployments will hit the RAM limits faster than the CPU limits.

Network Speed

  • Network Latency
  • Ensure that your router and Internet bandwidth supports your expected incoming and outgoing traffic.

I/O performance

  • With large-scale deployments, it is always better to use multiple application servers and a separate database server.

Calculating Hardware Requirements

The sections below provide guidance on how to calculate hardware requirements, taking various considerations into account. The selection criteria used for each level may vary according to the needs of each company. Following a brief explanation of each level will be explained, so read them carefully to analyze and apply the level which will correspond to your System Requirements.

Each level was divided in priorities, from Low priority, in which companies with little data volume and users will apply to High priority for companies with large volumes of data. Those priorities should be considered according to the number of cases, it means that a priority will be applied according to the number of cases and nominal users.

How do users know which level must be applied

For example, consider having 200 users of which 120 of them will initiate cases and generate 200 Kb of documents for each case. In a month the total will be:

  • Cases created: 3600
  • Total Weight (generated documents) expressed in MB: 23.4

According to levels, explained below, this example will be considered to be on a Level 1, with High Priority. Planning in a future, first analyze if business will have an exponential growth, to consider a Level 2, with Medium priority, only if users exceed in number (more than 500 users) and do not exceed the 1000 users. If the company plans to grow over 1000 users, consider applying level 3, and so.

Similarly, the growth rate depends on each company planning, if it will consider a monthly or annual growth.

Level 1: Small Business

Hardware LevelsRepresentative graphic
LEVEL 1ProcessMaker + Apache + Mysql in the same Server
Sizing Criteria
 Workload (New cases per day)0 - 200
 Nominal Users2 - 500
 Application Space Requirement1GB - 100GB
 
 RAMCPU Cores (2.6 GHz - 3GHz)
Low4GB2
Medium12 GB2
High24 GB4+
  

Example:

For organizations which expect to have roughly 2-500 users and generate approximately 150 new cases daily, we recommend the following minimum configuration:

  • Server #1: ProcessMaker/Apache/MySQL: (Processor Dual Core 2.6 GHz - 3GHz) with 12 GB of RAM.

On this example, numbers will vary according to the Enterprise size and documents generated.

Level 2: Medium Sized Business

Use the following chart as a reference to check if the Sizing Criteria apply to your Enterprise. Note the graphic should be taken also as a reference, because according to the implementation of each company it will be vary:

Hardware LevelsRepresentative graphic
LEVEL 2One Server for ProcessMaker/Apache and another Server for Mysql
Sizing Criteria
 Workload (New cases per day)200-1000
 Nominal Users500-2000
 Application Space Requirement100GB - 500GB
 
 RAMCPU Cores (2.6 GHz - 3GHz)
LowApache 4GB4
 MYSQL 4GB4
MediumApache 8GB8
 MYSQL 8GB8
HighApache 16GB16
 MYSQL 32GB16
  

Example:

For organizations planning on supporting approximately 1,000 nominal users and expecting to run more than 200 cases but less than 1,000 cases daily, we recommend the following minimum configuration:

  • Server #1: ProcessMaker/Apache: (Processor Core 2.6 GHz - 3GHz) with 16 GB of RAM
  • Server #2: MySQL: (Processor Core 2.6 GHz - 3GHz) with 32GB of RAM
  • Server #3 (Optional): Hot Standby ProcessMaker/Apache: (Processor Core 2.6 GHz - 3GHz) with 16 GB of RAM

On this example, disk space was not considered because it will depend on the amount of documents generated on each case.

This configuration also adds a higher level of security than our Level 1 Configuration. It gives the company protection by having a hot standby ProcessMaker server and it also provides for a separate database server which can be placed behind the firewall and will be easier to maintain and much more secure from the standpoint of IT Security.

If you plan on adding more than 1,000 users or more than 800 cases daily, then you should consider our suggestion for a level 3 configuration with 3 servers: 1) ProcessMaker/Apache, 2) MySQL, and 3) Enterprise Search Server with Solr.

Level 3: Enterprise

Use the following chart as a reference to check if the Sizing Criteria apply to your Enterprise. Note the graphic should be taken also as a reference, because according to the implementation of each company it will be vary:

Hardware Levels Representative graphic
LEVEL 3 Solr Enterprise Server Apache server + Mysql Server + Solr server

 

 Workload (Newly created cases per day)1,000 - 4,000
 Nominal Users2,000 - 4,000
 Application Space Requirement500GB - 5T
 
 RAMCPU Cores (2.6 GHz - 3GHz)
LowApache 8GB4
 MySql 8GB4
 Solr 8GB4
MediumApache 16GB8
 MySql 32GB12
 Solr 16GB8
HighApache 32GB12
 MySql 64GB24
 Solr 32GB12
  


For an organization which is planning to support roughly 1,000-4,000 users with approximately 4,000 new cases daily, we recommend the following configuration:

  • Server #1: ProcessMaker/Apache: (Core 2.6 GHz - 3GHz) with 32 GB of RAM.
  • Server #2: Hot Standby ProcessMaker/Apache: (Core 2.6 GHz - 3GHz) with 32 GB of RAM.
  • Server #3: MySQL: (Core 2.6 GHz - 3GHz) with 64GB of RAM.
  • Server #4: Solr Search: (Core 2.6 GHz - 3GHz) 32GB of RAM.

On this example, disk space was not considered because it will depend on the amount of documents generated on each case.

Note: Check this documentation to learn more about Solr Implementation.

Level 4: Large Enterprise

An organization which plans on having more than 4,000 nominal users, plans to generate more than 4,000 new cases daily, or plans to have significant amounts of database queries will need to consider implementing a more robust infrastructure. For example, financial institutions that handle large volumes of data should consider this level of configuration.

Hardware Level
LEVEL 4PM Load balancing + DB Clustering + Solr Clustering
To be defined in a consultancy and exhaustive analysis

In this case we recommend load balanced application servers to help distribute workload across multiple servers or a server cluster, network links, central processing units, disk drives, or other resources. This will ensure optimal resource utilization, maximize throughput, minimize response time, and avoid overload. However, if this level needs to be applied, it should be defined during a consulting engagement with a qualified ProcessMaker Configuration expert which will include exhaustive analysis before implementation.

Note: Check this documentation to learn more about Solr Implementation.

Additional notes

For large-scale deployments we recommend using ProcessMaker's Enterprise Edition, since it has been optimized to handle larger numbers of cases. When a system is generating in excess of 5,000 new cases daily, accessing the list of cases under the CASES menu will become noticeably slower in the Community Edition. The Enterprise Edition has optimized its database queries to provide quicker access to the list of cases in a user's inbox.

If planning on using Pentaho Reporting in ProcessMaker's Enterprise Edition, we recommend that you install Pentaho on a separate server from ProcessMaker. Pentaho is a Java application which uses a great deal of system resources, so check its recommended system requirements (in section 4.3 Recommended Hardware) before installing Pentaho.