Bitrix virtual appliance

«1C-Битрикс: Виртуальная машина» специально сконфигурирована для быстрого исполнения программных продуктов «1С-Битрикс»: разворачивается за минуты и сразу же готова к работе! На виртуальную машину можно не только установить ознакомительные версии продуктов «1С-Битрикс», но и перенести свои, уже готовые проекты.

«1С-Битрикс: Виртуальная машина» эмулирует работу реального компьютера. Продукт включает в себя сконфигурированную операционную систему, веб-сервер, базу данных, firewall, почтовый сервер, а также большое число настроек, от которых зависит надежность, производительность и безопасность веб-проекта. На Виртуальной машине вы можете запустить новый проект, либо перенести на нее уже готовый сайт. Перенос сайта возможен напрямую с сервера на машину.

Виртуальный сервер содержит:

  • Операционная система — CentOS 6.5 с возможностью автоматического обновления
  • Конфигурация двухуровневая — NGINX + Apache2
  • MySQL5 с поддержкой InnoDB
  • Поддержка HTTPS
  • Мастера настройки кластера и добавления дополнительных сайтов
  • Мастера настройки поискового сервера sphinx
  • Дополнительные пакеты: geoip, catdoc, poopler, mc, man, strace, sphinx
  • настроеный firewall (iptables) и проверенная безопасность конфигурации
  • IP адрес получается по DHCP или устанавливается вручную
  • легконастраиваемый почтовый клиент (msmtp)
  • минимальные требования по памяти — 512М
  • максимальный объем дискового пространства 100 ГБ
  • автооптимизация производительности под разные объемы памяти (до 16 GB)
  • консольная панель типовых действий для управления виртуальным сервером
  • большое число настроек, от которых зависит надежность, производительность и безопасность
  • Пароль root — bitrix (потребуется смена при первом входе)
  • Пароль bitrix — bitrix (потребуется смена при первом входе)

Установка Битрикс: Веб-окружение на  CentOs

Скачать

Дистрибутив           
Виртуальная машина BitrixVM4.3_100_HyperV с объемом диска 100 Гб в формате MS Hyper-V (export) Скачать
Виртуальная машина BitrixVM4.3 с объемом диска 100 Гб Скачать
Виртуальная машина BitrixVM4.3 с объемом диска 10 Гб Скачать

Приобретая дорогой тариф на хостинге или арендуя сервер или даже имея свой собственный, бывают ситуации, что заказчики сайта жалуются на медленную скорость работы сайта на 1С-Битрикс, причем версии сайта с демо-данными, т.е. бесплатной триальной 30 дневной версии продукта, которую можно свободно скачать с сайта 1c-bitrix.ru.

Дело в том, что мало хороших характеристик виртуального или физического сервера, программное обеспечение должно быть настроено соответствующим образом, чтобы удовлетворять требованиям 1С-Битрикс. Однако верно и обратное, что настройки, при которых 1С-Битрикс работает быстро, будут хороши и для любой другой системы управления сайтом.

Рассмотрим вариант, когда на сервере в качестве операционной системы выбран Linux.

Какие же требования предъявляются к такому веб-серверу?

Во-первых должен быть установлен php-акселератор (этот программный модуль кеширует скомпилированные php скрипты, которые могут в некомпилированном виде быть весьма большими по объему кода, а затем при запуске проверяет, если скрипты не были модифицированы, то сразу же выполняет их, увеличивая таким образом производительность работы в несколько раз). Пожалуй, не рекомендуется только eAccelerator из-за того, что поддержка продукта не осуществляется.

Рекомендовать же можно APCu, как встроенный в php последних версий модуль, либо opCache, который считается самым производительным.

Неплохо себя зарекомендовали xCache и APC.

Во-вторых необходимо достаточное количество оперативной памяти! Если у вас будет версия продукта 1С-Битрикс Бизнес, то 512 Мб оперативной памяти будут минимальным требованием.

Далее, нужно понять какой тип таблиц MySQL будет использован, рекомендуется использовать INNODB как более надежный вариант, но менее производительный, когда преобладают операции чтения, об этом подробнее поговорим ниже.

Таким образом, считаем, что у нас есть хостинг тариф, например на VDS (виртуальном выделенном сервере), где мы можем настраивать php и MySQL так как нам нужно.

Настройки PHP

Для php нужны следующие настройки, которое мы разберем, и посмотрим, что они означают.

1) Если вы собираетесь устанавливать 1С-Битрикс в кодировке utf-8 (рекомендуется делать именно так), то необходимо, чтобы была указана внутренняя кодировка и перегрузка почтовой и строковых функций (становятся доступны функции с префиксом mb_, например mb_strlen), если же продукт будет установлен в кодировке windows-1251, то эти строки не нужны

mbstring.func_overload=2
mbstring.internal_encoding=utf-8

2) Эта строка нужна для прохождения теста на корректность работы 1С-Битрикс (длина регулярных выражений)

pcre.recursion_limit = 1000

3) Кеширование реальных путей скриптов, а также время кеширования в секундах

realpath_cache_size = 4096K
realpath_cache_ttl = 3600

4) Временная зона.

В рекомендациях 1С-Битрикс по синхронизации времени указана несколько устаревшая информация, попытка добавлять требуемые строки в файлы настроек системы приводят к неработоспособности продукта, поэтому реально нужна только эта настройка (используйте необходимую именно вам временную зону!) и настройка для базы данных, о чем будет сказано ниже

date.timezone = «Europe/Moscow»

5) Максимальное ограничение на число одновременно передаваемых переменных

max_input_vars = 15000

6) Настоятельно рекомендуется 1С-Битрикс, чтобы вывод ошибок по-умолчанию был включен. Редактировать настройку вывода ошибки и/или предупреждения можно и нужно в настройках главного модуля 1С-Битрикс в системе администрирования

display_errors = On

7) Настройки php-акселератора, например, у вас установлен акселератор APC (настройки для разных акселераторов, естественно будут разные, приведенные ниже настройки, рекомендованы 1С-Битрикс)

apc.num_files_hint = 30000 – максимальное число файлов для кеширования
apc.user_entries_hint = 30000 – максимальное число переменных для кеширования
apc.ttl = 86400 – время кеширования
apc.max_file_size = 4M – максимальный размер кешируемых файлов
apc.shm_size = 256M – размер выделяемый системе для кеширования суммарный

8) Ограничение оперативной памяти, выделяемой скриптам, 1 Гб значение, которого вполне хватает для интернет-магазина на редакции Бизнес и нагрузке 2000 уникальных посетителей в сутки. Зависит от редакции, например для редакции Стандарт вполне хватит и 128 Мб.

memory_limit = 1024M

9) Эти настройки индивидуальные для каждого проекта, отвечают за размер загружаемых файлов через систему администрирования (максимальный размер файла и максимальный размер, передаваемый через формы методом POST)

upload_max_filesize = 128M
post_max_size = 128M  

Важно! После того, как вы настроили php-акселератор, нужно указать его в настройках 1С-Битрикс.

Это 2 файла:

1. /bitrix/php_interface/dbconn.php

Нужно добавить строчки (для акселератора APC):

define(«BX_CACHE_TYPE», «apc»);
define(«BX_CACHE_SID», $_SERVER[«DOCUMENT_ROOT»].»#01″);

2. /bitrix/settings.php

‘cache’ => array(
      ‘value’ => array(
           ‘type’ => ‘apc’,
           ‘sid’ => $_SERVER[«DOCUMENT_ROOT»].»#01″
      ),
      ‘readonly’ => false,
), 

Настройки базы данных MySQL

Теперь разберем, что делать с настройкой базы данных.

Считаем, что тип таблиц MySQL у нас INNODB

1) Размер буфера, для INNODB это фактический самая важная настройка, принцип простой, желательно, чтобы размер буфера был >= размер базы данных. Если база данных занимает 1Гб, отлично, если размер буфера будет 1Гб. Конечно, зависит эта настройка от количества оперативной памяти на вашем тарифе/VDS/сервере

innodb_buffer_pool_size = 256M

2) размер буфера лога, достаточная цифра для большинства проектов

innodb_log_buffer_size = 8M

3) отключаем буферизацию таблиц для файловой системы, обращаемся напрямую к файлам базы данных

innodb_flush_method = O_DIRECT

4) При каждой транзакции база данных MySQL пишет лог, в данном случае каждые 2 секунды, с этим параметром нужно быть осторожнее, он сильно влияет на производительность. Но если в проекте критична очень целостность данных, например, производятся платежи, то здесь такая настройка не нужна.

innodb_flush_log_at_trx_commit = 2

5) уровень изоляции транзакций, считать данные можно только после проведения транзакции

transaction-isolation = READ-COMMITTED

Тестируем примененые настройки

Напоследок посмотрим разницу показаний монитора производительности 1С-Битрикс, на примере тарифа облачной VDS, с параметрами образ Debian 7 LAMP (Apache + Nginx + MySQL)/2 ядра@2.6 Ггц/1024 Мб/20Гб SAS, php-акселератор APC. Установлена редакция Малый Бизнес. 

До применения выше описанных настроек:

После:

Возврат к списку

Очень часто задают вопросы: от чего зависят показания панели производительности 1С-Битрикс, что означают отдельные показатели. Давайте разберемся с этим вопросом.

Самое главное – значение «попугаев» (оценка производительности) это единица, деленная на параметр «среднее время отклика». «Среднее время отклика» — это то время, за которое открывается пустая страница сайта на 1С-Битрикс без контента.

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

Важно понимать, что эталон производительности был рассчитан еще во времена примерно 2010-2011 годов, т.е. с тех пор в 1С-Битрикс добавилось много разных плюшек, которые увеличили размер скриптов, и «тяжесть» работы сайта. Кроме того, показатель производительности зависит от редакции 1С-Битрикс! Чем «тяжелее» редакция (Старт -> Стандарт -> Малый бизнес -> Эксперт -> Бизнес -> Корпоративный портал). Тем ниже будет показатель производительности при том же самом тарифе хостинга или «железе».

При этом есть некие разумные значения показателя производительности, если у вас показатель примерно 15 баллов на редакции бизнес, это значит, что сайт будет визуально работать быстро и вряд ли вы заметите какие-то проблемы со скоростью открытия страниц. Случаются и обратные варианты, когда при относительно высоком показателе производительности сайт работает нестабильно, поэтому, гораздо важнее, проверять работу сайта не только оценкой производительности с панели «конфигурация», но делать оценку совместно с оценкой на стабильность работы при масштабировании (вкладка «масштабируемость»).

Но и другие показатели панели «конфигурация» могут дать некоторое представление об используемом тарифе хостинга. Рассмотрим самые важные:

Процессор (CPU) – этот показатель напрямую зависит от частоты ядра процессора, чем выше частота, тем выше показатель, например, при частоте 2Ггц в среднем показатель этого параметра примерно 6 млн. операций в секунду. Так что, когда у вас физический выделенный сервер или VDS (виртуальный выделенный сервер) с 4 ядрами, и визуально сайт у вас летает, но в панели показатель не поднимается до эталона – ничего страшного. Тест измеряет частоту ОДНОГО ядра, а не суммарную потенциальную производительность процессора.

Файловая система – здесь все зависит от операционной системы (под Windows даже на SSD дисках это значение не часто бывает более 2000 операций в секунду), а также самого накопителя (показатели будут выше на SSD чем показатели обычного жесткого диска). На практике замедление работы сайта наблюдалось только при показателях ниже 1000 операций, и было достигнуто такое состояние особыми настройками и очень большой загрузкой диска в тот момент. Поэтому особо переживать, за то что этот параметр не достигает эталона не нужно. (эталон довольно высокий еще потому, что на той тестовой машине 1С-Битрикс был один сайт и больше там не было ничего, а на практике реально на хостинге даже VDS бывает несколько размещено на одном физическом компьютере, не говоря о простых тарифах).

Оптимальная конфигурация php – по большому счету у вас должен быть установлен в операционной системе на сервере один из поддерживаемых 1С-Битрикс php-акселераторов и настройки на этот акселератор должны быть прописаны в соответствующих файлах (см. статью «настройка хостинга на работу с 1С-Битрикс»).

Чтение, запись, изменение БД MySQL – эти параметры зависят от настроек хостинга, а так же типа таблиц базы данных (INNODB работает медленнее чем MyISAM, однако, если важна имено стабильность работы системы, то лучше выбирать INNODB).

В заключение предлагаю посмотреть на скриншот, такие показатели были достигнуты на редакции «Малый бизнес» на виртуальном выделенном сервере с настройками: 1 ядро@2 Ггц, 512 Мб оперативной памяти, 15 Гб жесткий диск (SAS), операционная система Debian 7. Установлен php-акселератор APC. PHP версии 5.4, БД Maria DB.

Возврат к списку

Добавить комментарий

Закрыть меню