Ускорение сайта Битрикс на ubuntu server, Memcached.

14292  |  1

Что такое memcacheed- наверное знает каждый, но на всякий повторюсь. Это алгоритм кэширования различных объектов в оперативной памяти. Позволяет, используя специальное API (для Perl, PHP, Python, Java и др.), сохранить в ОЗУ блок данных, сопоставленный с определённым символьным ключом. Был разработан для сайта LiveJournal, имеющего более миллиона посетителей в сутки. Его применение снизило загрузку серверов баз данных в разы. В API memcached есть только базовые функции: выбор сервера, установка и разрыв соединения, добавление, удаление, обновление и получение объекта. Для каждого объекта устанавливается время жизни от 1 секунды до бесконечности. При переполнении памяти более старые объекты автоматически удаляются.

Говоря по-простому, memcacheed хранит в оперативной памяти готовые ответы базы данных, тем самым снижая с нее нагрузку и ускоряя скорость ответа на запрос пользователя.

Зачем мне memcache

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

Последние четыре месяца сайт работал на виртуальном сервере, арендованном у keyweb.ru, в принципе, нареканий никаких и обращаться в техподдержку не приходилось. Но количество сайтов на сервере растет, нагрузка на виртуалку повышается, начал задумываться о приобретении аренды на выделенный сервер там же, на keyweb-е. Однако, обстоятельства подкачали, неделю назад сервер неожиданно потух. Практически незамедлительно написал в техподдержку очень развернутый вопрос, ответом получил короткое "Посмотрим" и тишина на час. "Нафиг, нафиг" - подумал я и начал мониторить другие компании.

В итоге, сегодня приобрел на пробу полноценный сервер: AMD Athlon 64 X 3500, 8 Гб ОЗУ, 320 Гб RAID и безлимитный трафик на 1Гб/с. Для пробы, да в принципе и вообще на первое время- пойдет под пяток не высоконагруженных сайтов. Все это за 36 Евро, на что надеются Российские хостинг компании с маленькими дисками, маленькой ОЗУ и ограниченным трафиком за минимум 3000 руб. не знаю, но раз дерут значит есть с кого.

Ух, высказался, теперь самое главное:

Установка memcache на ubuntu server для Битрикс

Для начала поднимаем просто WEB сервер и запиливаем под Битрикс, ссылку на инструкцию дал выше. Дальше:

Устанавливаем memcached:

apt-get install memcached  

Идем в настройки memcached nano /etc/memcached.conf и приводим к такому виду:

#Memcached будет работать, как демон
-d
#Лог будет складывать туда
logfile /var/log/memcached.log
#Для начала поставьте 256 мегабайт ОЗУ под хранилище. Но больше заисит от ее колличества
#помните, что выставив 256 Вы ровно столько забираете от оперативки
#лично у меня на данный момент стоит 512
-m 256
#Слушать будет этот порт
-p 11211
#Пользователь
-u nobody
#Слушаем localhost
-l 127.0.0.1

Перезапускаем memcached:

/etc/init.d/memcached restart

Устанавливаем модуль для PHP:

apt-get install php5-dev libmemcache-dev

pecl download memcache
tar xzvf memcache-2.2.7.tgz //nen здесь внимательно, я послежу но смотрите на версию 2,2,7 крайняя
cd memcache-2.2.7/
phpize && ./configure --enable-memcache && make
cp modules/memcache.so /usr/lib/php5/20060613/ //тут тоже обратите внимание на цифры у себя

echo 'extension=memcache.so' >> /etc/php5/apache2/php.ini
/etc/init.d/apache2 restart

Собственно все, установлено и настроено. Запускаем битрикс сайт на сервере, и идем папку /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"); //это адрес где работает мемкешед (в нашем случае локально)

Собственно совсем все. Таким образом, я запустил на сервере 8 сайтов на битрикс, один из них неплохо посещаемый интернет магазин с каталогом на 30 тыс. позиций. Погоняю месяцок и отпишусь в этой теме...как оно хреново или не очень)) Успехов.

PS: В новой 14-ой версии 1С битрикс настройки перенесены в файл /bitrix/.settings.php и тип кеширование необходимо устанавливать в секции:

'cache' =>
array (
'value' =>
array (
'sid' => '$_SERVER["DOCUMENT_ROOT"]."#01"',
'type' => 'memcache',
'memcache' =>
array (
'host' => '127.0.0.1',
),
),
'readonly' => false,
),

Дополнительно можете установить nginx чтобы совсем летало.

Расскажи друзьям-то:
Уважаемый читатель! В связи с участившимся спамом в комментариях, возможность писать доступна только для зарегистрированных пользователей
Зарегистрироваться Войти Напомнить пароль
Или войти через социальную сеть:
Игорь
Цитата
В итоге, сегодня приобрел на пробу полноценный сервер: AMD Athlon 64 X 3500, 8 Гб ОЗУ, 320 Гб RAID и безлимитный трафик на 1Гб/с.
адресок хостера не подскажите? :)
Михаил Базаров
Цитата
Игорь пишет:
Цитата
В итоге, сегодня приобрел на пробу полноценный сервер: AMD Athlon 64 X 3500, 8 Гб ОЗУ, 320 Гб RAID и безлимитный трафик на 1Гб/с.
адресок хостера не подскажите?
www.vps-server.ru

© 2011—2016 Частный вебмастер: ИП Базаров, ОГРНИП: 315784700173692. Работает на 1С-Битрикс.
Копирование материалов запрещено: "ГК РФ, часть 4, раздел VII: Права на результаты интеллектуальной деятельности".

Информация размещенная на сайте, не является публичной офертой. Политика конфеденциальности
x
Как к Вам обращаться? *
Ваша электронная почта: *
Доп. материалы (логотип, тех. задание):
 
Обзор
Текст сообщения: