Көмек

«Битрикс» CMS өнімділігін оңтайландыру

Егер «Битрикс» CMS-індегі сайтыңыздың өнімділігін арттыруды ойластырып жүрсеңіз, алғашқы қадам — сайтты Bitrix7 орнатылған серверге көшіру. Bitrix7 жүйесі бар серверді басқару панеліңіз арқылы құруға болады.

Көшіруді өзіңіз жасай аласыз немесе біздің мамандарымыздың көмегіне жүгіне аласыз.

CMS баптау

Сайт көшірілгеннен кейін CMS-ті баптауға кірісуге болады.

  1. «Проверка системы» (Жүйені тексеру) бөлімінде қателері бар жазбалардың жоқ екеніне көз жеткізіңіз.
  2. «Битрикс» қойындысындағы «Панель производительности» (Өнімділік панелі) бөлімін тексеріңіз. Мұнда «Битрикс (оптимально)» («Битрикс» (оңтайлы)) мәні таңдалған болуы керек.
  3. Дерекқор кестелерінің түрін InnoDB-ге өзгертіп, дерекқорды оңтайландырыңыз. Алдымен деректердің сақтық көшірмесін жасаңыз.

Серверді баптау

Әрі қарай серверді баптауға көшейік.

  1. root пайдаланушысының тіркелгі деректерін пайдаланып, серверге SSH арқылы қосылыңыз.
  2. «Битрикс» виртуалды ортасының мәзірін келесі командамен іске қосыңыз:
~/menu.sh
  1. 4 «Configure memcached servers» опциясын таңдаңыз.
  2. memcached орнатыла бастайды. Орнату барысында серверіңіздің hostname-ін көрсету қажет болады. Экрандағы кестеде көрсетілген ServerName мәнін енгізіңіз.
  3. Орнату аяқталғаннан кейін /etc/sysconfig/memcached конфигурациялық файлын баптаңыз.

Файлды мәтіндік редакторда ашыңыз, мысалы, nano көмегімен:

nano /etc/sysconfig/memcached

Егер nano жоқ болса, оны yum install nano командасымен орнатуға немесе серверде бұрыннан орнатылған басқа редакторды, мысалы, vim-ді пайдалануға болады.

Келесі параметрлерді орнатыңыз:

# Бір мезгілдегі қосылымдардың ең көп саны (әдепкі бойынша 1024)
MAXCONN = "1024"

# Кэшке бөлінген жад көлемі (әдепкі бойынша 64MB)
CACHESIZE = "1024"

# memcached ағындарының саны
OPTIONS = "-t 4"

Енгізілген өзгерістерді сақтаңыз.

  1. Қызметті келесі командамен қайта іске қосыңыз:
systemctl restart memcached.service
  1. /bitrix/php_interface/dbconn.php файлына memcached қосылымын қосыңыз. Ол үшін келесі команданы орындаңыз:
nano /сайт_каталогына_жол/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");

Енгізілген өзгерістерді сақтаңыз.

  1. /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 дұрыс бапталмаса, өнімділікке кері әсер етуі мүмкін. Өнімділіктің төмендегенін байқасаңыз, 5-қадамда бапталған /etc/sysconfig/memcached конфигурациялық файлындағы мәндермен тәжірибе жасап көруге болады.

  1. Сайт өнімділігін жақсарту үшін 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. mysql үшін пайдаланушы (uid) және топ (gid) идентификаторларын анықтаңыз:

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):

mount /var/lib/mysql/tmp

9.6. /etc/mysql/my.cnf MySQL конфигурациялық файлына өзгеріс енгізіп, келесі жолды қосыңыз:

tmpdir=/var/lib/mysql/tmp

9.7. MySQL қызметін қайта іске қосыңыз:

systemctl restart mysqld
  1. /etc/mysql/conf.d/z_bx_custom.cnf файлына параметр қосыңыз:
innodb_flush_log_at_trx_commit = 0

Бұл параметр кейінге қалдырылған транзакцияларды пайдалануға мүмкіндік береді.

Сұрақтарыңыз бар болса, жазыңыз