---
title: "Оптимизация производительности сайта на Битрикс — Timeweb Cloud"
description: "Как повысить производительность сайта на CMS Битрикс на сервере с BitrixVM: настройка memcached, перенос временных файлов MySQL в RAM-диск и оптимизация базы данных."
---

# Повышение производительности CMS Битрикс

> Полный индекс документации для ИИ-агентов: [llms.txt](https://timeweb.cloud/llms.txt).

Если вы задумались о повышении производительности вашего сайта на CMS Битрикс, в первую очередь необходимо перенести сайт на сервер с BitrixVM 9. Создать сервер с системой BitrixVM 9 можно в вашей панели управления.

Вы можете выполнить перенос самостоятельно или обратиться к нашим специалистам. Все подробности можно найти в статье [Перенос сайта на сервер](https://timeweb.cloud/docs/cloud-servers/site-transfer).

## Настройка CMS

После переноса сайта можно приступить к настройке CMS.

1.  В разделе «Проверка системы» не должно присутствовать каких-либо записей с ошибками.
2.  В разделе «Панель производительности» во вкладке Битрикс должно быть значение — «Битрикс (оптимально)».
3.  Измените тип таблиц базы данных на InnoDB и выполните оптимизацию базы данных. Предварительно рекомендуем создать [резервную копию](https://timeweb.cloud/docs/cloud-servers/manage-servers/backup).

## Настройка сервера

Далее можно перейти к настройке сервера.

1.  Подключитесь к серверу по [SSH](https://timeweb.cloud/docs/unix-guides/ssh) с реквизитами пользователя root.
2.  Запустите меню виртуального окружения Битрикс командой:

```shell
~/menu.sh
```

3.   Выберите пункт «4\. Configure Memcached service for the pool» → «1\. Configure memcached service».
4.  Начнется установка `memcached`. В процессе установки будет запрошен hostname вашего сервера — необходимо указать значение `ServerName` из выведенной на экране таблицы.
5.  После завершения установки настройте конфигурационный файл `/etc/sysconfig/memcached`.

Откройте файл в текстовом редакторе, например, `nano`:

```shell
nano /etc/sysconfig/memcached
```

Если `nano` отсутствует, можно установить его командой `dnf install nano` либо использовать имеющийся на сервере редактор (например, [vim](https://timeweb.cloud/docs/control-panels/bitrixvm/vi-editor)).

Задайте следующие параметры:

```shell
# количество одновременных подключений (по умолчанию 1024)
MAXCONN = "1024"

# объем выделяемой памяти для кэша (по умолчанию 64MB)
CACHESIZE="1024"

# количество потоков memcached
OPTIONS="-t 4"
```

Сохраните изменения.

6.  Перезапустите службу командой:

```
systemctl restart memcached.service
```

7.  Подключите `memcached` в файле `/bitrix/php_interface/dbconn.php`. Для этого откройте файл:

```shell
nano /путь_к_каталогу_сайта/bitrix/php_interface/dbconn.php
```

Вместо `путь_к_каталогу_сайта` укажите корректное значение для вашей системы. 

Укажите в файле следующие параметры:

```shell
define("BX_CACHE_TYPE", "memcache");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01");
define("BX_MEMCACHE_HOST", "127.0.0.1");
define("BX_MEMCACHE_PORT", "11211");
```

Сохраните изменения.

8.  Откройте файл `/bitrix/.settings_extra.php` (если файл пока не существует, этой же командой он будет создан):

```shell
nano /путь_к_каталогу_сайта/bitrix/.settings_extra.php
```

Укажите в нем следующие параметры:

```shell
<?php
return array(
  'cache' => array(
    'value' => array(
      'type' => 'memcache',
      'memcache' => array(
        'host' => '127.0.0.1',
        'port' => '11211',
      ),
      'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
    ),
  ),
);
?>
```

Сохраните изменения.

> [!NOTE]
> Обратите внимание, что некорректная настройка `memcached` может негативно влиять на показатели производительности. Если вы наблюдаете снижение индекса производительности, можно поэкспериментировать со значениями в конфигурационном файле `/etc/sysconfig/memcached`, который настраивался на шаге 5.

9.  Помимо включения `memcached`, ускорить работу сайта можно путем переноса каталога для временных файлов MySQL в RAM-диск.

Для этого выполните следующие действия:

**9.1.** Создайте папку для временных файлов, например, `/var/lib/mysql/tmp`:

```shell
mkdir /var/lib/mysql/tmp
```

**9.2.** Измените владельца папки и группу на `mysql`:

```shell
chown mysql:mysql /var/lib/mysql/tmp
```

**9.3.** Определите идентификатор пользователя (uid) и группы (gid) `mysql`:

```shell
id mysql
```

**9.4.** Отредактируйте файл `/etc/fstab`:

```shell
nano /etc/fstab
```

В самый конец файла добавьте строку с указанием полученных выше значений:

```shell
tmpfs /var/lib/mysql/tmp tmpfs rw,gid=27,uid=27,size=1G,nr_inodes=10k,mode=0700 0 0
```

Параметр size необходимо установить в зависимости от количества имеющейся оперативной памяти.

**9.5.** Примонтируйте новый tmpfs-раздел:

```shell
mount /var/lib/mysql/tmp
```

**9.6.** В файл конфигурации MySQL `/etc/my.cnf` добавьте строку:

```shell
tmpdir=/var/lib/mysql/tmp
```

**9.7.** Перезапустите MySQL:

```shell
systemctl restart mysqld
```

10.  В файл `/etc/mysql/conf.d/z_bx_custom.cnf` добавьте параметр:

```shell
innodb_flush_log_at_trx_commit = 0
```

Данный параметр позволит использовать отложенные транзакции.
