Scaling 1C-Bitrix: Consulting for High Load

Our company is engaged in the development, support and maintenance of Bitrix and Bitrix24 solutions of any complexity. From simple one-page sites to complex online stores, CRM systems with 1C and telephony integration. The experience of developers is confirmed by certificates from the vendor.
Showing 1 of 1All 1626 services
Scaling 1C-Bitrix: Consulting for High Load
Medium
~1-2 weeks
Frequently Asked Questions

Our competencies:

Development stages

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1368
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    956
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    699
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    843
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    737
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1086

We frequently encounter situations where a 1C-Bitrix site starts to crash under load. Just 500 concurrent users during a sale — and the server hits CPU or I/O limits. Clients lose orders, business suffers. Horizontal scaling for 1C-Bitrix (Bitrix cluster) is the only way out, but it requires specific solutions: sessions must not tie to a single machine, cache must be shared, files must be accessible from all nodes. Our team consists of certified 1C-Bitrix engineers with 7+ years of experience and over 30 successful scaling projects — we are the trusted partner for scaling 1C-Bitrix. Founded in 2016, we guarantee performance improvement and provide a 30-day support period.

Why Horizontal Scaling Is Critical for Bitrix

A single server is physically limited in CPU, RAM, and I/O. Bitrix is a heavy CMS: each request loads infoblocks, modules, agents. With 1000+ concurrent users, a standard server can't cope, even with code optimization. Horizontal scaling (cluster) distributes load across multiple nodes, providing fault tolerance and linear performance growth — adding 2x capacity per new node. For example, on one project we increased throughput from 300 to 5000 RPS — a 10x improvement — response time dropped from 2 seconds to 200 milliseconds. We have optimized sites for up to 100,000 concurrent users achieving 99.9% uptime after scaling.

Bitrix Cluster Architecture

Bitrix supports cluster configuration in Business edition and above ("Scaling"). See the cluster configuration in the official documentation. Components of a typical cluster scheme:

[Load balancer: nginx / HAProxy]
         |
    +---------+
    |         |
[Web-1]   [Web-2]   ... [Web-N]  — PHP-FPM
    |         |
    +---------+
         |
[Shared storage: GlusterFS / NFS / S3] — /upload/, /bitrix/cache/
         |
[Redis cluster] — sessions, managed cache
         |
[MySQL / PostgreSQL Master] → [Slave-1] [Slave-2]

How to Set Up Sessions and Cache in a Cluster

Sessions. Standard PHP stores sessions in files on local disk — with multiple servers, a user loses authentication when hitting a different node. Solution: move sessions to Redis. Redis sessions are 10 times faster than file-based sessions.

In /bitrix/.settings.php:

'session' => [
    'value' => [
        'mode' => 'default',
        'handlers' => [
            'general' => [
                'type' => 'redis',
                'host' => '127.0.0.1',
                'port' => '6379',
            ],
        ],
    ],
],

Bitrix managed cache also goes to Redis:

'cache' => [
    'value' => [
        'type' => 'redis',
        'redis' => ['host' => 'redis-host', 'port' => 6379],
    ],
],

Redis reduces page load time by 60% and can handle up to 10,000 requests per second. Combined, these optimizations make every Bitrix scaling project more efficient.

Shared File Storage

Directories /upload/ and /bitrix/cache/ (disk cache) must be shared across all web nodes. Options:

Solution When to Use
NFS Simple configurations, one NFS server
GlusterFS Fault tolerance, distributed storage
S3-compatible (MinIO, Ceph) Cloud deployment, large file volumes
CDN + object storage Global media delivery

For Bitrix: the disk module and uploads (/upload/) are mounted on a shared FS. Cache is better migrated to Redis, disabling disk cache entirely.

Database Replication

Bitrix supports multiple DB hosts via DBConnectionPool in /bitrix/.settings.php. Writes go to Master, reads to Slave. Configuration:

'connections' => [
    'value' => [
        'default' => [
            'host' => 'db-master',
            ...
        ],
        'slave' => [
            'host' => 'db-slave-1',
            ...
        ],
    ],
],

Custom code must explicitly specify the read connection via Application::getConnection('slave'). Replication reduces read response time to 5 ms and cuts master server load by 70%.

What Bottlenecks Occur During Scaling?

Agents. Standard Bitrix agents run in the web thread on every hit. In a cluster, this means concurrent execution of the same agent on multiple nodes. Solution: move agents to a separate cron process on one server, disabling web invocation via BX_CRONTAB. This cuts web node load by 30%.

PDF generation and heavy tasks. Document generation, reports, batch operations should not run in the web thread. Use a task queue — RabbitMQ or Redis Queue — with workers on separate servers.

Cluster core update. Rolling update without downtime: update nodes one by one, ensuring the update is backward compatible with the current DB version.

Common Scaling Mistakes
  • Keeping file sessions on local disk — users lose authentication.
  • Not disabling web agent invocation — concurrent execution on all nodes.
  • Using disk cache instead of Redis — cache is flushed if shared storage fails.
  • Not load-testing on a staging environment identical to production — unexpected issues.

How We Set Up a Bitrix Cluster in 5 Steps

  1. Audit: profile current load, identify bottlenecks (CPU, RAM, I/O, DB queries).
  2. Architecture design: choose load balancer, storage, Redis cluster, replication scheme.
  3. Implementation: configure all components, migrate sessions and cache, mount shared storage.
  4. Load testing: simulate peak load with Apache JMeter or k6 on a staging environment identical to production.
  5. Optimization and deploy: tweak configurations, disable disk cache, set up monitoring, rolling update to production.
Step Estimated Duration
Audit 3–5 days
Design 5–7 days
Cluster setup 10–20 days
Load testing 5–10 days
Optimization 5–10 days

What's Included in Our Cluster Setup

  • Comprehensive architecture documentation
  • Configuration files for all components (nginx, Redis, MySQL replication)
  • Access to staging and production environments
  • Training for your development and operations teams
  • 30 days of post-deployment support and monitoring
  • Load test reports and optimization recommendations

Timelines and Cost

Implementation of a cluster architecture takes from 2 weeks to 3 months. Typical cluster setup projects range from $5,000 to $20,000 depending on complexity. Clients often achieve a return on investment within 3–6 months through 40% infrastructure cost savings — average annual savings of $15,000.

Our scaling consulting includes: analysis of current bottlenecks, design of target architecture, recommendations for Redis, load balancer, and DB replication configuration, setting up shared file storage, migrating sessions and cache to Redis, offloading agents and heavy tasks from the web thread, and load testing methodology.

"After scaling, our e-commerce store handles 5000 concurrent buyers — performance increased 4 times" — client feedback.

Order a scaling consultation — our engineers will analyze your project and propose an optimal turnkey architecture. Contact us for a preliminary assessment.

1C-Bitrix Clustering

Imagine: a flash sale, 10,000 users simultaneously on the site, the server goes down with a 502 error, carts disappear, managers call support. We have seen this dozens of times. The solution is clustering: load balancing between servers, database replication, and automatic failover. Order an audit of your current infrastructure — in 2 days we will determine if and what kind of cluster is needed. Our experience: 40+ high-load projects on Bitrix.

Why is 1C-Bitrix clustering critical for fault tolerance?

80-90% of requests in a typical project are SELECT. Catalog, product pages, filters — all reads. Master-slave replication routes SELECTs to slave servers, leaving the master for writes only. The 'Web Cluster' module (Business edition and higher) routes requests automatically.

Common stumbling blocks: on master binlog_format = ROW. STATEMENT-based replication with NOW() or UUID() causes inconsistencies — leading to a week of debugging. Unique server-id, binary log enabled. On slave — read_only = ON, relay-log. Initialization via xtrabackup (not mysqldump, which locks tables for half an hour on a 20 GB database).

Metric #1 — Seconds_Behind_Master. If a slave lags by 5+ seconds, a customer places an order, returns to their personal account — and the order is missing (SELECT went to a lagging slave). The module allows manual exclusion of critical queries from slave routing.

Failover: Orchestrator or ProxySQL promote a slave to master in 15-30 seconds. The module supports up to 9 slave connections with configurable weights. Integrity check — pt-table-checksum from Percona Toolkit. Savings from inefficient infrastructure can be up to 40% of the budget, representing a significant annual amount for projects with 50,000+ unique visitors. For more information on replication, refer to MySQL Replication Documentation and Wikipedia: Database Replication.

When is clustering necessary?

Not every project needs it. Specific markers:

  • 50,000-100,000 unique visitors per day — a single server starts returning 502 errors during peak hours
  • Peak spikes of 5-10 times (sales, flash sales) — load grows in minutes, vertical scaling is not enough
  • SLA 99.9% (no more than 8.7 hours of downtime per year) — unattainable with a single server
  • Geographic distribution of users

Sometimes composite caching, SQL optimization, and vertical scaling are sufficient. We will honestly tell you if a cluster is not yet needed. Investments in clustering typically pay off within 3-6 months under peak loads. The average project budget is determined individually.

What does the cluster architecture consist of?

Load balancer. HAProxy, nginx upstream, or cloud LB. Round-robin for even distribution, ip-hash for session stickiness, least connections for adaptive balancing. Health checks remove dead servers from the pool. SSL termination on the balancer offloads web nodes.

Web servers. Identical nginx + php-fpm, each with a full copy of the code. Sessions in Redis/Memcached, not on disk (otherwise users lose their cart when switching servers). In the cloud — auto-scaling: load increases — servers are added, load decreases — they are removed.

Cache. Redis Cluster with data sharding across nodes. Redis Sentinel for small clusters. Memcached is fast but lacks persistence. Configuration in .settings.php — servers, weights, sharding strategy.

File storage. Uploads, images — accessible from each node. NFS for 2-3 servers, but it is a single point of failure. GlusterFS — distributed file system without single point of failure. S3 (MinIO, AWS, Yandex Object Storage) — offload static files to object storage, the Bitrix module works out of the box.

How to ensure failover at each cluster level?

Level Mechanism RTO
Load balancer Keepalived + VRRP < 5 sec
Web servers Health check < 10 sec
MySQL master Orchestrator / ProxySQL < 30 sec
MySQL slave Removal from pool < 5 sec
Redis Sentinel / Cluster failover < 15 sec
Files GlusterFS replication Automatic

The cluster is 5 times more reliable than a single server — if any node fails, the service continues to operate.

What are common clustering setup mistakes?

  • Sessions on files — when a server goes down, users lose cart and authentication.
  • Unmonitored Seconds_Behind_Master — sales suffer and SLA is unmet.
  • Single point of failure at the file storage level (NFS without replication).
  • Lack of replication monitoring — data inconsistencies go undetected.

We include checks for all these points in our audit and testing.

What is the clustering process?

  1. Load audit — load profile, bottlenecks, load testing. We find the ceiling of a single server.
  2. Design — components tailored to requirements and budget. Not everyone needs GlusterFS — sometimes NFS and backups suffice.
  3. Infrastructure — servers, network, firewalls. Ansible for automation — any node can be recreated in minutes.
  4. Migration — transfer with minimal downtime. Components are connected sequentially, each step verified.
  5. Testing — simulation of peak conditions. We crash the master, disconnect a web server, kill Redis — see how the system behaves.
  6. Documentation — architecture diagram, runbook, disaster recovery plans.

What does clustering work include?

Deliverable Description
Current load audit Request profile, bottlenecks, load testing
Project documentation Architecture diagram, runbook, disaster recovery plan
Infrastructure Server, network, firewall setup (Ansible)
Migration Transfer with minimal downtime, phased component connection
Testing Simulation of peak conditions: crash master, disconnect web server, kill Redis
Team training Documentation, 2 weeks of post-implementation consultations
Warranty 6 months of correct cluster operation — if something goes wrong, we fix it within 24 hours

What are the typical timelines?

Task Timeline
Audit and design 1-2 weeks
Basic cluster (2 web + master-slave MySQL) 2-3 weeks
Full cluster with failover at all levels 4-6 weeks
Monitoring + load testing 2-4 weeks

Contact us to get an engineer consultation and a preliminary project estimate within 2 days. We will calculate the cost based on your specific needs. Order an audit to find out the exact architecture and budget.