Как стать автором
Обновить
402.19
Рейтинг
FirstVDS
Виртуальные и выделенные серверы в ДЦ в Москве

Корм для Битрикс-попугаев. Тестируем производительность, подбираем железо

Блог компании FirstVDS Высокая производительность *Хостинг Системное администрирование *1С-Битрикс


Всем нужны Битрикс-попугаи, и побольше. Я работаю администратором в хостинг-компании и постоянно сталкиваюсь с такими запросами. Давайте покончим с этим раз и навсегда — в этой статье вы найдёте ответ, как железо влияет на производительность CMS Битрикс (реальную и «попугайную»). Проведём тесты и подберём несколько конфигураций сервера.

Цели исследования:

  • Выявить зависимость между характеристиками «железа» и показателями производительности Битрикс (попугаями), а также реальной скоростью выполнения запросов.
  • Определить динамику изменения производительности от смены аппаратной конфигурации сервера.
  • Подобрать варианты конфигураций сервера.

Условия тестирования:

  • CMS «1С-Битрикс: Управление сайтом» версии 18.0.4, редакции «Стандарт» в кодировке utf-8.
  • ОС Debian 9.5 из netinstall образа.
  • nginx+php-fpm
  • MariaDB 10.1
  • php 7.0
  • Выполнены настройки для корректного прохождения «проверки системы», pstate отключен, acpi-cpufreq работает в режиме performance.
  • Замер скорости выполнения запросов производится утилитой ab.

Итак, чем кормить попугаев?


Методика

Для выявления зависимости показателей Битрикс от производительности процессора и оперативной памяти используем следующую конфигурацию:

Процессор: Intel Core i7-3770K CPU @ 3.50GHz
Память: DDR3 Samsung 1600 MHz (M378B5273DH0-CH9)
SSD: OCZ-VERTEX4 128Gb MLC
HDD: WD5000AAVS-00ZTB0

Данная конфигурация позволяет в широком диапазоне изменять частоту процессора, а значит не нужно множество раз заменять CPU. Для изменения частоты используется утилита frequency-set. Драйвер intel_pstate не позволяет управлять частотой, поэтому отключен.

Замеры проводим с шагом 400Гц. Помимо показателей производительности Битрикс, замеряем сколько запросов главной страницы может выполнить сервер за одну секунду. Для замера показателей производительности при использовании HDD-диска, на HDD создана реплика ранее настроенной системы и собраны показатели на максимальной частоте.

Результаты: кормим попугаев частотой, а скорость запросов — ядрами


Вот такие графики у меня получились:











По ссылке pdf со всеми данными в графиках и таблицах. Плюс дополнительные данные про зависимость показателей файловой системы и базы данных от количества ядер и частоты процессора.

Согласно полученным данным, можно сделать следующие выводы:

  • Количество попугаев увеличивается вместе с частотой процессора и не зависит от производительности диска. С увеличением количества ядер процессора происходит снижение этого показателя.
  • Скорость выполнения запросов зависит от частоты процессора и количества ядер. Данный показатель мы считаем наиболее важным, т.к. именно от него зависит производительность сайта при высоком количестве посетителей.
  • Метрика «Файловая система» не имеет зависимости от производительности диска. Незначительное увеличение показателя на графике — погрешность. Показатель растет с увеличением частоты.
  • От производительности диска зависят метрики «База данных MySQL (запись)», «База данных MySQL (изменение)» и скорость выполнения http запросов.
  • Показатель «База данных MySQL (чтение)» перестаёт увеличиваться после двух ядер. Наличие более двух ядер не отражается в тесте производительности Битрикс.
  • Частота оперативной памяти не влияет на производительность. Провели тесты, однако изменения метрик при изменении частоты не происходило.

Подбираем железо


Учитывая полученные данные, соберём несколько серверов и проверим их производительность. Чтобы подтвердить или опровергнуть получившуюся теорию, я взял три недорогих конфигурации с разной частотой и количеством ядер. И ещё несколько серверов, где ядер побольше.

  • E3-1270v6
  • E5-2620v4
  • E5-1650v4
  • E5-2640v4
  • 2xE5-2699

Для данных серверов частота будет выставляться автоматически (intel_pstate включен в режиме performance), в таблице приведена максимальная частота согласно спецификации процессора.

Что ищем?

  • Сервер для больших попугаев.
  • Сервер для высокого показателя скорости выполнения запросов сайта.
  • Баланс между попугаями и реальной производительностью.
  • Сервер для более высокой скорости выполнения запросов, под более нагруженный проект
  • Сервер для ещё большей скорости выполнения запросов, под высоконагруженный проект

Теория подтвердилась ↓





Показатели производительности соответствуют ранее выявленной закономерности. Чем выше частота, тем более высокий балл показывает Битрикс. А если требуется сервер, способный обслуживать большое количество посетителей — стоит выбирать больше ядер с максимально высокой базовой частотой.

Использовал в статье конфигурации с 1dedic.ru. Серверы на E5-2640v4 и 2xE5-2699v4 можно заказать со скидкой 10% на 2 месяцаобратитесь в отдел продаж с кодовой фразой «Нужен сервер под Битрикс, для реальной производительности». При оплате за год минус ещё 10%.
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Или вы принципиально закармливаете попугаев?
51.52% Нет, я за реальную производительность! 34
15.15% Не гоните на попугаев. Всё с ними ок. 10
33.33% Я не знаю. Я мимо проходил. 22
Проголосовали 66 пользователей. Воздержались 9 пользователей.
Теги:
Хабы:
Всего голосов 13: ↑9 и ↓4 +5
Просмотры 6.5K
Комментарии Комментарии 20

Информация

Дата основания
Местоположение
Россия
Сайт
firstvds.ru
Численность
51–100 человек
Дата регистрации
Представитель
FirstJohn