bitrix-performance
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.
Install
npx skills add https://github.com/bxmaximum/bitrix-framework-skills/tree/main/skills/bitrix-performance
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install bxmaximum-bitrix-framework-skills@llmmart
git clone https://github.com/bxmaximum/bitrix-framework-skills.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole bxmaximum/bitrix-framework-skills collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
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
selectfields. - Use indexes matching
filter/ordercolumns. - Avoid N+1 —
fetchCollection()with relations. - Batch operations instead of per-row updates.
- Enable ORM query cache where appropriate.
- Use
SqlTrackerin dev to find slow queries (skillbitrix-database).
Replication and Clustering
- MySQL master-slave for read scaling.
- Extra connections via
.settings.phpconnectionsand\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
- Composite tested with all dynamic blocks (cart, auth, personal).
- NGINX composite cache configured in production.
- Slow queries identified and indexed.
- Session backend matches load (Redis for high-traffic).
- File cache replaced with Redis/Memcached in production.
Files (bitrix-framework-skills)
-
SKILL.md 2.4 KB
--- 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`. 1. Mark dynamic zones: `<div data-dynamic="true">...</div>` or frame mode APIs. 2. Enable in Admin → Settings → Composite Site (Autocomposite or Composite mode). 3. Configure NGINX to serve composite cache pool directly. 4. 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 - [ ] Composite tested with all dynamic blocks (cart, auth, personal). - [ ] NGINX composite cache configured in production. - [ ] Slow queries identified and indexed. - [ ] Session backend matches load (Redis for high-traffic). - [ ] File cache replaced with Redis/Memcached in production.
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.