• МАКС: М.Базаров
  • Телеграм: М.Базаров
  • E-mail: mihail@bazarow.ru

Такие настройки MYSQL уместны для 1С-Битрикс, сервер на SSD? [mysqld]innodb_redo_log_capacity = 256Minnodb_io_capacity = 1000join_buffer_size = 8Msort_buffer_size = 8Minnodb_buffer_pool_size = 2048Minnodb_flush_log_at_trx_commit = 0

Вопрос задан: 5 июня 2026 в 04:00 | Просмотров: 14 Использованные MCP инструменты: MCP не использовался

Задайте свой вопрос — Работает AI в связке с MCP сервером. Перепроверяйте важную информацию.

Вопрос относится к администрированию сервера для 1С-Битрикс. Давайте разберём каждый параметр.

1. innodb_redo_log_capacity = 256M

Стандартное значение по умолчанию — 100 МБ. Для Битрикс на SSD 256 МБ — приемлемо, но для проектов с высокой нагрузкой (частые вставки/обновления) лучше 1–4 ГБ, чтобы избежать частых чекпойнтов. На SSD это не критично, но может быть узким местом при высоком конкурентном доступе.

2. innodb_io_capacity = 1000

Для SSD это значение занижено. Рекомендуется 2000–10000 (а для NVMe — до 50000). innodb_io_capacity влияет на фоновые операции (flush, merge). SSD легко выдерживает 2000–5000 IOPS. Значение 1000 может ограничивать производительность.

3. join_buffer_size = 8M

Приемлемо, но важно: этот буфер выделяется на каждый full join-запрос. Если на сайте много сложных запросов (например, в каталоге с фильтрами), 8M может быть недостаточно. Для Битрикс с большими каталогами стоит 16–32M. Однако слишком большое значение (более 128M) может привести к проблемам с памятью.

4. sort_buffer_size = 8M

Аналогично — выделяется на каждый сессионный сортировочный запрос. Для Битрикс 8M нормально, но при частых сортировках больших выборок (например, в админке или отчётах) можно увеличить до 16–32M. Следите за общей памятью.

5. innodb_buffer_pool_size = 2048M

Это самый важный параметр. На сервере с SSD и Битрикс нужно выделять 60–80% от доступной оперативной памяти. 2048 МБ — приемлемо только если у вас ОЗУ 3–4 ГБ. Если памяти 8+ ГБ — категорически мало. Пример:

  • 4 ГБ ОЗУ → 2 ГБ (ок, 50%)
  • 8 ГБ ОЗУ → 4–6 ГБ
  • 16 ГБ ОЗУ → 10–12 ГБ

Нехватка buffer pool — главная причина тормозов в Битрикс (частые чтения с диска).

6. innodb_flush_log_at_trx_commit = 0

Это значение опасно с точки зрения целостности данных!

  • 0 — лог сбрасывается на диск раз в секунду. Максимальная производительность, но при аварийном отключении питания можно потерять данные за последнюю секунду.
  • 1 — каждый коммит сбрасывается на диск (безопасно, но медленно).
  • 2 — сброс раз в секунду, но данные не теряются при краше mysqld (только при отключении питания).

Для Битрикс рекомендую = 2 (компромисс между скоростью и безопасностью). =0 допустим только если вы готовы к возможной потере данных. На SSD с =0 сильного прироста относительно =2 вы не получите.

Дополнительные рекомендации для Битрикс на SSD:

  • innodb_flush_method = O_DIRECT — убирает двойной буфер, рекомендуется для SSD.
  • tmp_table_size / max_heap_table_size = 64–128M — временные таблицы в памяти.
  • query_cache_type = 0 — кеш запросов давно deprecated, на Битрикс лучше отключить.
  • max_connections — не менее 100–200 (в зависимости от кол-ва посетителей).

Итоговая оценка:

Конфигурация рабочая, но неоптимальная:

  • OK: redo_log = 256M, join_buffer = 8M, sort_buffer = 8M
  • Требует доработки: io_capacity (слишком мало), buffer_pool (зависит от ОЗУ), flush_log_at_trx_commit (лучше =2)

Если укажете объём ОЗУ сервера и приблизительную нагрузку на сайт (кол-во посетителей/заказов), смогу дать точные цифры.