ProcessMaker Server Sizing

From ProcessMaker
Jump to: navigation, search

Contents

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.
  • As a general rule, each application server needs 1GB RAM to run ProcessMaker, plus 100MB RAM for each additional concurrent user (although some deployments have reported needing as little as 50MB per concurrent user). So, 1GB of additional RAM is needed for 10 concurrent users y 10GB of additional RAM is needed for 100 concurrent users.

Network Speed

  • Network Latency
  • Available bandwidth

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, also generating documents of 200 Kb each, 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 Levels Representative graphic
LEVEL 1 ProcessMaker + Apache + Mysql in the same Server Level1Graphic.png
Sizing Criteria
Workload (New cases per day) 0 - 200
Nominal Users 2 - 500
Application Space Requirement 1GB - 100GB
RAM CPU Cores (2.6 GHz - 3GHz)
Low 4GB 2
Medium 12 GB 2
High 24 GB 4+

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 Levels Representative graphic
LEVEL 2 One Server for ProcessMaker/Apache and another Server for Mysql Level2Graphic.png
Sizing Criteria
Workload (New cases per day) 200-1000
Nominal Users 500-2000
Application Space Requirement 100GB - 500GB
RAM CPU Cores (2.6 GHz - 3GHz)
Low Apache 4GB 4
MYSQL 4GB 4
Medium Apache 8GB 8
MYSQL 8GB 8
High Apache 16GB 16
MYSQL 32GB 16

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 Level3Graphic.png
Sizing Criteria
Workload (Newly created cases per day) 1,000 - 4,000
Nominal Users 2,000 - 4,000
Application Space Requirement 500GB - 5T
RAM CPU Cores (2.6 GHz - 3GHz)
Low Apache 8GB 4
MySql 8GB 4
Solr 8GB 4
Medium Apache 16GB 8
MySql 32GB 12
Solr 16GB 8
High Apache 32GB 12
MySql 64GB 24
Solr 32GB 12


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.

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 4 PM 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.

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.

Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox
In other languages
Share This