«Битрикс» CMS өнімділігін оңтайландыру
Егер «Битрикс» CMS-індегі сайтыңыздың өнімділігін арттыруды ойластырып жүрсеңіз, алғашқы қадам — сайтты Bitrix7 орнатылған серверге көшіру. Bitrix7 жүйесі бар серверді басқару панеліңіз арқылы құруға болады.
Көшіруді өзіңіз жасай аласыз немесе біздің мамандарымыздың көмегіне жүгіне аласыз.
CMS баптау
Сайт көшірілгеннен кейін CMS-ті баптауға кірісуге болады.
- «Проверка системы» (Жүйені тексеру) бөлімінде қателері бар жазбалардың жоқ екеніне көз жеткізіңіз.
- «Битрикс» қойындысындағы «Панель производительности» (Өнімділік панелі) бөлімін тексеріңіз. Мұнда «Битрикс (оптимально)» («Битрикс» (оңтайлы)) мәні таңдалған болуы керек.
- Дерекқор кестелерінің түрін InnoDB-ге өзгертіп, дерекқорды оңтайландырыңыз. Алдымен деректердің сақтық көшірмесін жасаңыз.
Серверді баптау
Әрі қарай серверді баптауға көшейік.
- root пайдаланушысының тіркелгі деректерін пайдаланып, серверге SSH арқылы қосылыңыз.
- «Битрикс» виртуалды ортасының мәзірін келесі командамен іске қосыңыз:
~/menu.sh
- 4 «Configure memcached servers» опциясын таңдаңыз.
- memcached орнатыла бастайды. Орнату барысында серверіңіздің hostname-ін көрсету қажет болады. Экрандағы кестеде көрсетілген ServerName мәнін енгізіңіз.
- Орнату аяқталғаннан кейін /etc/sysconfig/memcached конфигурациялық файлын баптаңыз.
Файлды мәтіндік редакторда ашыңыз, мысалы, nano көмегімен:
nano /etc/sysconfig/memcached
Егер nano жоқ болса, оны yum install nano командасымен орнатуға немесе серверде бұрыннан орнатылған басқа редакторды, мысалы, vim-ді пайдалануға болады.
Келесі параметрлерді орнатыңыз:
# Бір мезгілдегі қосылымдардың ең көп саны (әдепкі бойынша 1024)
MAXCONN = "1024"
# Кэшке бөлінген жад көлемі (әдепкі бойынша 64MB)
CACHESIZE = "1024"
# memcached ағындарының саны
OPTIONS = "-t 4"
Енгізілген өзгерістерді сақтаңыз.
- Қызметті келесі командамен қайта іске қосыңыз:
systemctl restart memcached.service
- /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");
Енгізілген өзгерістерді сақтаңыз.
- /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 конфигурациялық файлындағы мәндермен тәжірибе жасап көруге болады.
- Сайт өнімділігін жақсарту үшін 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
- /etc/mysql/conf.d/z_bx_custom.cnf файлына параметр қосыңыз:
innodb_flush_log_at_trx_commit = 0
Бұл параметр кейінге қалдырылған транзакцияларды пайдалануға мүмкіндік береді.