@webdefvika
SMM специалист

Как работает Битрикс с memcached?

Подскажите работает ли Битрикс с memcached. У нас на сервере установлен PHP 7
Нашла такую статью https://blog.dh.md/2016/12/bitrix-php-memcached.html
Там написано о том что Битрикс не поддерживает memcached и надо установить дополнительную библиотеку.

Получается что для того чтобы Битрикс работал с memcached необходимо установить в Битрикс дополнительную библиотеку, либо так было раньше и сейчас устанавливать дополнительных библиотек не требуется?

Второй вопрос сильно ли может помочь memcached для ускорения работы сайта? В нашем случае при тестировании скорости сайта показывается, что сайт работает медленно, скорость сайта: Медленно (1.59 сек.)
Вот такие параметры загрузки сайта из разных регионов
5ee9bd33b17bf704697331.jpeg

Параметры производительности
5ee9bd3e75fc9048554632.jpeg
  • Вопрос задан
  • 5583 просмотра
Пригласить эксперта
Ответы на вопрос 3
gromdron
@gromdron
Работаю с Bitrix24
Подскажите работает ли Битрикс с memcached.


Да, работает. Но для последних версий битрикса рекомендуется использовать Redis.
https://dev.1c-bitrix.ru/learning/course/index.php...

Второй вопрос сильно ли может помочь memcached для ускорения работы сайта?


Все относительно. Кеш memcached/redis работает однозначно быстрее чем файловый кеш.
Но проблема у вас может быть совсем не в кешировании.

Например если ни один компонент не складывает данные в кеш и постоянно обращается к базе то изменение механизма хранения кеша не поможет. А если под кеш выделить мало оперативной памяти (по умолчанию в bitrix env идет вроде как либо 64MB либо 1GB), а кеш большой то он может еще и замедлить работу.

Возможно у вас есть подключение внешиних скриптов или некешируемые запросы или верстка вашего сайта слишком огромная и сам парсинг занимает достаточно много времени.
Ответ написан
smilingcheater
@smilingcheater
Отвечу в обратном порядке - мерялка скорости работы проверяет не только скорость отдачи HTML бекендом (битриксом), но и насколько быстро этот HTML выводится браузером. Если у вас быстрый бек, но тяжёлый фронт - мемкеш вам ничем не поможет. Надо смотреть подробную статистику что именно тормозит.

Вы пишете, что у вас установлен PHP 7 - а какой именно - 7.0, 7.1, ..., 7.4?
И какое у вас веб-окружение - шаред-хостинг, vps/vds, BitrixVM?
В общем случае чтобы заставить битрикс работать с мемкешем, надо:
(все команды привожу для Debian/Ubuntu)
apt-get install -y memcached - поставить на сервере сам мемкеш
apt-get install -y php7.1-dev - установить dev-пакет для вашей версии PHP
pecl install memcache - через PECL установить модель memcache для битрикса
возможно потребуется установить дополнительные библиотеки, чаще всего спотыкается на zlib:
apt-get install -y zlib1g-dev
после этого добавить подключение библиотеки в php.ini:
extension=memcache.so
и перезапустить вебсервер
После этого в конфиге битрикса прописать (файл /bitrix/.settings.php)
'cache' => array(
        'value' => array (
            'type' => 'memcache',
            'memcache' => array(
                'host' => '127.0.0.1',
                'port' => '11211'
            ),
            'sid' => $_SERVER["DOCUMENT_ROOT"]."#01"
         ),
    ),

(заменив текущий блок 'cache')
Ответ написан
Комментировать
никак не работает

memcached
+ позволяет работать по сети
+можно хранить сессии в кластере машин
- медленный поскольку работает по сети
-Медленный даже через сокет ( быстрей чем без кеша вообе разумеется)

opcache

+самый быстрый кеш
+самый стандартный идет в битрикс ВМ
-не может работать по сети, если у вас кластер вы не сможете в нем хранить сессии, иначе при смене апстрима у клиента она будет пропадать.

Думаю вывод вы сделаете сами.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы