Помощь

Улучшение эффективности системы управления контентом Битрикс

Если вы думаете о увеличении эффективности вашего веб-сайта на CMS Битрикс, первым шагом стоит рассмотреть перенос сайта на сервер с Bitrix7. Создание сервера с Bitrix7 доступно через вашу панель управления.

Перенос можно осуществить самостоятельно либо прибегнуть к помощи наших экспертов. Все подробности можно найти в статье о Переносе сайта на сервер.

Настройка CMS

После переноса сайта можно начать настройку системы управления контентом.

  1. В разделе "Проверка системы" не должно быть записей с ошибками.
  2. В разделе "Панель производительности" во вкладке "Битрикс" значение должно быть "Битрикс (оптимально)".
  3. Измените тип таблиц базы данных на InnoDB и выполните оптимизацию базы данных. Рекомендуется предварительно создать резервную копию.

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

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

1. Подключитесь к серверу через SSH, используя учетные данные пользователя root.

2. Запустите меню виртуального окружения Битрикс с помощью команды:

~/menu.sh

3. Выберите пункт 4 "Configure memcached servers".

4. Произойдет начало установки memcached. В процессе установки система попросит вас ввести hostname вашего сервера. Вам необходимо указать значение ServerName из таблицы, которая будет выведена на экран.

5. По завершению установки настройте файл конфигурации /etc/sysconfig/memcached.

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

nano /etc/sysconfig/memcached

Если у вас отсутствует nano, вы можете установить его с помощью команды yum install nano или использовать другой доступный редактор (например, vim).

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

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

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

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

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

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

systemctl restart memcached.service

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

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

Замените путь_к_каталогу_сайта на фактический путь к каталогу вашего сайта.

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

Откройте файл /bitrix/php_interface/dbconn.php и добавьте следующие строки:

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 (если файл еще не существует, он будет создан при необходимости) с помощью команды:

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

Вставьте следующий код в файл:

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

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

Обратите внимание на то, что неправильная конфигурация memcached может негативно повлиять на производительность. В случае, если вы заметили снижение производительности, вы можете экспериментировать со значениями в конфигурационном файле /etc/sysconfig/memcached, который был настроен на предыдущем шаге.

9. Кроме включения memcached, улучшение производительности сайта можно достичь, переместив каталог для временных файлов MySQL на RAM-диск. Для этого следуйте этим шагам:

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

mkdir /var/lib/mysql/tmp

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

chown mysql:mysql /var/lib/mysql/tmp

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

id mysql

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

nano /etc/fstab

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

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

Параметр size следует установить в зависимости от доступной оперативной памяти.

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

mount /var/lib/mysql/tmp

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

tmpdir=/var/lib/mysql/tmp

9.7. Перезапустите службу MySQL:

systemctl restart mysqld

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

innodb_flush_log_at_trx_commit = 0

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

Остались вопросы - пишите