| name | bitrix-performance |
| description | Covers Bitrix performance โ composite site, query optimization, replication/clustering, sharding, hot/cold sessions. Applied for high-load optimization beyond basic caching. Key terms โ composite, NGINX, replication, sharding, query optimization. |
Performance Optimization
Baseline: main 23.0+. Complements skills bitrix-caching, bitrix-sessions, and bitrix-database.
Composite Site
Technology caching static HTML while loading dynamic blocks via AJAX. Kernel entry points: \Bitrix\Main\Composite\Engine, \Bitrix\Main\Composite\Responder.
- Mark dynamic zones:
<div data-dynamic="true">...</div> or frame mode APIs.
- Enable in Admin โ Settings โ Composite Site (Autocomposite or Composite mode).
- Configure NGINX to serve composite cache pool directly.
- Clear component cache before enabling.
Modes:
- Autocomposite โ kernel auto-detects static/dynamic.
- Composite โ manual zone configuration.
NGINX: point try_files to the composite cache pool directory (BitrixVM: Configure nginx to use composite cache).
Do not put personalized data in static zone (cart, user name, permissions).
Query Optimization
- Limit ORM
select fields.
- Use indexes matching
filter/order columns.
- Avoid N+1 โ
fetchCollection() with relations.
- Batch operations instead of per-row updates.
- Enable ORM query cache where appropriate.
- Use
SqlTracker in dev to find slow queries (skill bitrix-database).
Replication and Clustering
- MySQL master-slave for read scaling.
- Extra connections via
.settings.php connections and \Bitrix\Main\Data\ConnectionPool (Application::getConnectionPool() / Application::getConnection('name')).
- Read-only analytics queries โ separate connection.
Sharding
Horizontal partitioning for very large tables (enterprise scenarios). Kernel support varies by edition.
Hot/Cold Sessions
Related to separated session mode (bitrix-sessions):
- Hot data (kernel
$_SESSION['BX']) โ encrypted cookies.
- Cold data โ Redis/DB backend.
- Reduces storage round-trips on every hit.
Checklist