Page tree

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

Вы можете выполнить перенос самостоятельно или обратиться к нашим специалистам. Все подробности можно найти в статье Перенос сайта на VDS.

Настройка CMS

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

1. В разделе "Проверка системы" не должно присутствовать каких-либо записей с ошибками.

2. В разделе "Панель производительности" во вкладке Битрикс должно быть значение - "Битрикс (оптимально)".

3. Измените тип таблиц базы данных на InnoDB и выполните оптимизацию базы данных. Предварительно рекомендуем создать резервную копию.

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

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

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

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

~/menu.sh

3. Выберите пункт 4 "Configure memcahed 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 7 это путь /home/bitrix/www/, для VestaCP /home/admin/web/имя_домена, и так далее. Другие варианты можно найти, например, здесь.

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

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, который настраивался на шаге 5.

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

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

9.1. Создайте папку для хранения временных файлов, например, /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

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


  • No labels