Оптимизация Битрикс на VPS
Бывает, что самый дорогой тариф аренды сервера не приносит желаемого результата и сайт так же тормозит. И параметры сервера нормальные, и все требования к ресурсам выполнены, а сайт не летает. Зачастую проблема именно в хостинге, который заманивает дешевизной и достаточными ресурсами. Но помимо ОЗУ и ЦПУ, которыми разнятся тарифы, есть другие ресурсы влияющие на быстродействие. К ним относится файловая подсистема.
Первоначало нужно настроить кэширование, параметры MySQL, Memcache поместить временные файлы в tmpfs и прочее. При этом можно и не получить должного результата. Для оптимизации был выбран сайт на Битрикс. Изначально показатель PageSpeed Insights был 60/72. Был оптимизирован nginx + Apache с кэширование, настроено сжатие, отдача статики и прочие «плюшки». Использовали PHP5.6 с OPcache.
Характеристики сервера 2 cores 2.66+ GHz и 2 Gb DDR3 ECC. Вообще такие характеристики маловаты для оптимизация сайта на Битрикс, но процессор не нагружался полностью, только в периоды DDos атак. Памяти так же оказалось достаточно для этого сайта.
Первоначальная оценка производительности Битрикс 15.27 (при рекомендуемом минимуме 30)
Тут стоит обратить внимание на показатель «файловая система». Изначально загрузка сайта происходила за 1.2 секунды. Далее под настроили php и кэширование МySQL оценка увеличилась до 20.75, и немного подрос показатель «файловая система»
Далее оптимизировали параметры кэширования и MySQL с учетом оптимизации Bitrix, показатели еще улучшились.
Время открытия страницы составило 0.73 секунды. Далее для эксперимента был выбран более мощный сервер 4 cores 2.66+ GHz и 4 Gb DDR3 ECC. Показатель производительности немного вырос 19.75. Файловая система изменилось с 5497 до 7487. При этом время загрузки осталось прежним 0.73с
Далее включили memcached и настроили на сокет
# vi/etc/sysconfig/memcached
1 2 |
... OPTIONS="t 8 -s /tmp/memcached.sock" |
# vi bitrix/php_intarface/dbconn.php
1 2 3 4 |
define("BX_CACHE_TYPE", "memcache"); define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#01"); define("BX_MEMCACHE_HOST", "unix:///tmp/memcached.sock"); define("BX_MEMCACHE_PORT", "0"); |
# service memcached restart
Производительность Bitrix составила 22.74. ФС 6388. Время загрузки уменьшилось 0.68с
Далее перенесем временные файлы MySQL в ОЗУ.
1 2 3 4 5 6 7 8 |
#mkdir /var/lib/mysql/tmp #chown mysql:mysql /var/lib/mysql/tmp # id mysql uid=27(mysql) gid=27(mysql) groups=27(mysql) # vi /etc/fstab tmpfs /var/lib/mysql/tmp tmpfs rw,gid=27,uid=27,size=4G,nr_inodes=10k,mode=0700 0 0 # mount /var/lib/mysql/tmp # service mysqld restart |
Результат следующий
Услуги по настройке и оптимизации сервера для Битрикс, обращайтесь Контакты