Реклама ООО Таймвэб
Реклама ООО Таймвэб
Реклама ООО Таймвэб

Настройка memcached в Битрикс для Timeweb

Обсудить

Справка Timeweb 

Memcached - это программное обеспечение, которое используется для кэширования данных, требующих при генерации большого количества ресурсов; к примеру, запрос к базе данных. Использование memcached позволяет при помощи оптимизации повысить производительность, а значит, уменьшить время отклика сервера для того, чтобы страницы сайта загружались быстрее.

 

Принцип действия прост: в оперативной памяти сервера, который доступен по сетевому протоколу,  хранятся определенные данные, доступ к которым осуществляется через ключ или имя. Поэтому memcached иногда определяют как хэш-таблицу, которая используется для кэширования страничного кода, результатов запросов к базам данных и так далее.

 

Как правило, данную технологию советуют использовать на нагруженных проектах, поэтому она используется на таких крупных ресурсах, как Wikipedia, Facebook, YouTube и других.

Как оказалось, на хостинге Timeweb имеется возможность подключить memcached и всего 64Мб. Для Битрикса делается просто.

В bitrix/php_interface/dbconn.php добавляем:

define("BX_CACHE_TYPE", "memcache");
define("BX_CACHE_SID", $_SERVER["DOCUMENT_ROOT"]."#логин");
define("BX_MEMCACHE_HOST", "127.0.0.1");
define("BX_MEMCACHE_PORT", "11211");

В bitrix/.settings.php добавляем:

'cache' => array(
    'value' => array(
        'type' => 'memcache',
        'memcache' => array(
            'host' => '127.0.0.1',
            'port' => '11211',
        ),
        'sid' => $_SERVER["DOCUMENT_ROOT"]."#логин"
    ),
    'readonly' => false,
),

Либо создаем в bitrix/.settings_extra.php и добавляем:

return array (
  'cache' => array(
     'value' => array (
        'type' => 'memcache',
        'memcache' => array(
            'host' => '127.0.0.1',
            'port' => '11211'
        ),
        'sid' => $_SERVER["DOCUMENT_ROOT"]."#логин"
     ),
  ),
);

Скрипт для проверки работоспособности:

require($_SERVER["DOCUMENT_ROOT"]."/bitrix/modules/main/include/prolog_before.php");
$cache = new CPHPCache();
if ($cache->InitCache(3600, '12356356gt' , '/' )) {
    echo "cache";
    $res = $cache->GetVars();
    $arResult = $res['arResult'];
} elseif ($cache->StartDataCache()) {
    echo "no cache";
    $arResult = array(1,2,3,4,5);
    $cache->EndDataCache(array("arResult" => $arResult));
}

Также пройдя Рабочий стол - Настройки - Производительность - Панель производительности, во вкладке "Битрикс (оптимально)", в пункте "Хранение кеша" должен быть указан "memcache".

echo -e "Все про серверы, сети, хостинг и еще раз серверы" >/dev/pts/0

Комментарии

С помощью соцсетей
У меня нет аккаунта Зарегистрироваться
С помощью соцсетей
У меня уже есть аккаунт Войти
Инструкции по восстановлению пароля высланы на Ваш адрес электронной почты.
Пожалуйста, укажите email вашего аккаунта
Ваш баланс 10 ТК
1 ТК = 1 ₽
О том, как заработать и потратить Таймкарму, читайте в этой статье
Чтобы потратить Таймкарму, зарегистрируйтесь на нашем сайте