How do you know if software is reliable? That’s right, you don’t - until you test it. Much like students at a university, any software requires regular testing to see if it’s up to the highest standards.
At Bitrix24, we take load testing very seriously. Being a software developer and distributor, we make sure to test our products regularly to ensure the best performance and reliability for our clients.
Every day, millions of people around the world depend on Bitrix24 working properly and even the slightest downtime is a risk we cannot take. This is especially true for our self-hosted version, which is often chosen by companies with serious requirements for the system performance.
Here are the detailed results of our most recent load tests performed to assess the Bitrix24 system performance in a large-scale business environment with a substantial number of employees and high load.
In November 2022, we conducted load testing of the Bitrix24 Self-hosted (Enterprise edition) with a deployed CRM solution to assess its performance.
During the load test, we deployed a CRM system in a clustered solution, filled it with a large amount of test data and subjected it to a load that imitated the behavior of real-life users. The operations performed for load testing purposes included standard CRM scenarios: system authorization, customer base handling, lead management, deal processing and deal status updating, instant messaging and document uploading.
Based on the needs of large-scale corporate segment, we have determined the key objectives for such testing:
Equipment
Dedicated virtual servers were selected for performing the test. This allowed to emulate a full-scale cluster solution with simultaneous overhead reduction for infrastructure deployment and support. Similar to the previous testing, we have employed equipment from the mid-price segment available on the market.
The hardware provided for the test featured three configurations of servers:
Cluster solution and web environment
pfweb1, pfweb2 | Cluster featuring two application servers (web servers): CentOS 7.9, Nginx 1.20.2, Apache 2.4.6, PHP 8.0.19. Balancing was performed using Nginx at pfweb1 |
pfdb1, pfdb2 | Cluster featuring two database servers: CentOS 7.9, Percona Server (MySQL) 8.0.29, Master / Slave configuration. |
pfjm | Load generating server with Jmeter 5.3.3 InfluxDB for Jmeter and Grafana data retrieval and storage to test result display and visualization |
data processes and threads (1-7) |
|
We have deployed a cluster featuring 2 database servers and 2 application servers. This specific configuration is standard and most widespread, chosen to ensure high cluster performance while also providing high availability.
Server software was configured using the Bitrix24 Virtual Appliance for Linux 7.5.2 and the Web Cluster module enabled to create a cluster solution.
After conducting initial "trial" tests, server configurations were updated.
List of web environment updates:
Cluster solution had a deployed Bitrix24 Self-hosted (Enterprise edition), version 22.375 (Main module version).
Testing was performed using two main CRM scenarios:
The test envisaged the company using both scenarios simultaneously, associated with several business directions.
Selected load scenario was quite resource-consuming, allowing to check performance for both Bitrix24 portal and CRM feature within the framework of complex projects.
Test scenarios details are provided below:
Scenario (load %) | Action | Weight, % |
Quick leads (80%) | Authorization | 100 |
Lead list | 100 | |
Repeated lead list | 100 | |
Lead | 100 | |
Product upload | 100 | |
Product upload 2 | 100 | |
Lost lead | 18 | |
Won lead | 2 | |
Update of kanban, leads, push | 100 | |
Lead list | 100 | |
Authorization (20%) | Authorization | 100 |
Lead list | 100 | |
Deal list | 100 | |
Opened deal | 100 | |
Payment document upload | 100 | |
Adding a call | 5 | |
Companies (1%) | Authorization | 100 |
Lead list | 100 | |
Company list | 100 |
The load was created using the JMeter tool, version 5.5. The test data was recorded via InfluxDB, a high-performance database designed to handle high query and record loads. Analysts used Grafana for visualization. The servers were monitored using the Telegraf application.
Bitrix24 CRM (Enterprise edition) performing within test scenarios emulating a CRM-based solution for a large company, deployed on a cluster of 4 physical servers in a 24-hour test has ensured stable concurrent CRM operation for 3000 employees.
The monitoring system demonstrated 423 874 system queries per 24-hours with average response time 0.713 seconds in 95% of requests.
Test summary: number of flows, dynamics for number of queries per second, total number of queries and errors:
Response time. 95 percentiles for specific pages and their traffic within a test:
CPU use at database and app servers:
The results of the load test of the Bitrix24 Self-hosted (Enterprise edition) confirmed the high performance of the platform and stability in high load conditions. The demo CRM solution, deployed in a cluster solution of 4 servers ensured the simultaneous operation of 3000 users, which corresponds to the approximate load profile for a large corporation.
At the same time, the system provided fast (even by the standards of Internet projects) response not exceeding 1 second for the majority of requests, which ensures a smooth user experience. The web cluster technology has once again proven its performance and reliability.
The testing methodology, scenarios, and load profiles as well as the use of physical user profiles allowed us to get the test conditions that were as close to real life as possible. This means that the results of this test can be used as a reference for designing new projects.
We are ready to provide the testing methodology, portal configuration, and test environment upon request to our corporate customers and integrators to serve as a basis for conducting full-scale testing of custom-developed portals or their prototypes, testing hypotheses, calculating the safety factor of our solution under peak loads. The test environment can be further customized - e.g., by adding integrations with a company’s corporate systems to ensure more accurate results.
Please, contact us to obtain any additional testing details.
In January 2021, we conducted load testing of the self-hosted version of Bitrix24 (Enterprise edition) to assess the performance of a large company’s intranet portal built on its basis.
During the load test, an intranet portal deployed in a clustered solution and filled with a large amount of test data was subjected to a load that imitated the behavior of real-life users.
Virtual users performed sets of operations that resembled typical work scenarios:
Each user completed one of the typical scenarios and finished their work on the portal.
Equipment
The hardware provided for the test featured physical servers in two configurations:
A cluster featuring 2 database servers and 3 application servers (web servers) was deployed. This particular configuration was chosen to ensure high cluster performance while also providing high availability.
1. Standard self-hosted version Bitrix24 (Enterprise edition), version 20.x.x with the latest updates and the Web Cluster module enabled to create a cluster solution.
2. Demo content at the start of the final test:
3. The number of employees in the portal database at the time of the start of the final test is 111,304 (distributed across 67 structural divisions).
The load was created using the JMeter tool, version 5.3.3. The test data was recorded via InfluxDB, a high-performance database designed to handle high query and record loads. Analysts used Grafana for visualization. The servers were monitored using the Zabbix monitoring system.
For testing purposes, 29 scenarios were selected from 13 blocks characteristic of a typical intranet portal:
For each test, a special load distribution system was used taking into account the work of various users on the portal and the share of each of the blocks in the total load.
Unlike the previous load test in 2015, we used a new method of generating user load. Instead of one virtual user randomly performing sets of standard actions, the load was generated by a large number of different users each with their own account on the portal.
The load generator logged each of these users into the system and then executed a different set of user scenarios under that account. The timeout between the start of each new script was from 20 seconds to 10 minutes. This was done to emulate the most realistic behavior of a company’s employees who logged into the intranet portal and work inside it during the day.
An intranet Bitrix24 test portal (Enterprise edition) for 111,000 users installed on a cluster of 5 physical servers was able to provide smooth operation for 30,000 employees simultaneously. The maximum response time did not exceed 0,9 seconds in 95% of requests.
During the course of 1 hour, the aforementioned number of users generated:
During the course of 24 hours, there will be generated:
The results of the load test of the self-hosted version of Bitrix24 (Enterprise edition) confirmed the high performance of the platform and stability in high load conditions. The demo portal deployed in a cluster solution of 5 servers ensured the simultaneous operation of 30 thousand users, which corresponds to the approximate load profile for a large corporation that employs 100-200 thousand employees.
At the same time, the system provided fast (even by the standards of Internet projects) response not exceeding 1 second for the majority of requests, which ensures a smooth user experience. The web cluster technology has once again proven its performance and reliability.
The testing methodology, scenarios, and load profiles as well as the use of physical user profiles allowed us to get the test conditions that were as close to real life as possible. This means that the results of this test can be used as a reference for designing new projects.
It’s also worth noting that our goal was not to maximize the amount of generated content on the portal during the test (news, tasks, documents, messages, and others). The goal was to create an accurate simulation of real-life user behavior. Still, the speed of adding information to the portal was also very high, which should be more than enough to satisfy the needs of even the most demanding clients.
We are ready to provide the testing methodology, portal configuration, and test environment upon request to our corporate customers and integrators to serve as a basis for conducting full-scale testing of custom-developed portals or their prototypes, testing hypotheses, calculating the safety factor of our solution under peak loads.
The test environment can be further customized - e.g., by adding integrations with a company’s corporate systems to ensure more accurate results.
In December 2015, Bitrix24 performed load testing of the then-latest version of Bitrix24 to assess the system performance in a large-scale business environment with a substantial number of employees and high load.
Load testing was carried out for full 24 hours on a deployed portal populated with a large amount of test data. During that period, the portal had been continuously engaged with incoming data imitating the behavior of real human visitors.
The virtual users were tasked to do many standard operations, including:
Each of the virtual users was assigned a predefined role consisting of many operations carried out in an infinite loop, with a slight delay between iterations.
The test was suited to model the real-world scenario when all the employees are enrolled in the portal database and a good deal of them are using the portal throughout the day performing a number of typical actions.
Test software:
Parameters:
Demo data:
Test environment:
An out-of-the-box Bitrix24 portal (BizPace Enterprise edition) installed on a single commonly used server with test data including 15,683 employees was capable of serving 5,000 employees simultaneously. The maximum response time did not exceed 1,065 seconds.
During the course of 24 hours, this number of employees performed the following actions:
An out-of-the-box Bitrix24 portal (BizPace Enterprise edition) installed on a cluster of two commonly used servers with test data including 15,683 employees was capable of serving 7,500 employees simultaneously (+50%). The maximum response time did not exceed 1.224 seconds.
During the course of 24 hours, this number of employees performed the following actions:
An out-of-the-box Bitrix24 portal installed on a cluster of three commonly used servers with test data including 15,683 employees was capable of serving 9,500 employees simultaneously (+90%). The maximum response time did not exceed 0.949 seconds.
During the course of 24 hours, this number of employees performed the following actions:
Depending on the expected load and number of daily users accessing the self-hosted version of Bitrix24, your servers should meet the following hardware requirements.