innodb_flush_method и значения O_DSYNC / O_DIRECT

Ігор Грегорченко

Настройка innodb_flush_method определяет метод сброса данных из памяти на диск. Выбор подходящего значения – это выбор между скоростью и надежностью.

Основные значения – это O_DIRECT и O_DSYNC.

O_DIRECT

Этот метод использует 4 операции записи на диск на каждый вызов. Все эти операции верифицируются, что обеспечивает дополнительную надежность записи на диск, однако замедляет выполнение.

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

O_DSYNC

Этот метод также использует 4 операции записи на диск на каждый вызов. Однако при этом, только две из этих операций будут верифицированы (скажем так – 2 операции выполняться последовательно, а еще 2 параллельно, но без гарантий). Это обеспечит более эффективную запись, что позволит увеличить пропускную способность записи MySQL.

Лучше использовать когда БД резервируется, и есть возможность быстро переключиться на копию.

В итоге

O_DSYNC будет работать быстрее, чем O_DIRECT, но не так надежно. Настройка указывается в my.cnf:
innodb_flush_method = O_DSYNC

Останні статті

Что такое прокси-сервер: пояснение простыми словами, зачем нужны прокси

Прокси (proxy), или прокси-сервер — это программа-посредник, которая обеспечивает соединение между пользователем и интернет-ресурсом. Принцип…

21.11.2024

Что такое PWA приложение? Зачем необходимо прогрессивное веб-приложение

Согласитесь, было бы неплохо соединить в одно сайт и приложение для смартфона. Если вы еще…

19.11.2024

Как создать игру на телефоне: программирование с помощью конструктора

Повсеместное распространение смартфонов привело к огромному спросу на мобильные игры и приложения. Миллиарды пользователей гаджетов…

17.11.2024

Google Bard: эффективный аналог ChatGPT

В перечне популярных чат-ботов с искусственным интеллектом Google Bard (Gemini) еще не пользуется такой популярностью…

14.11.2024

Скрипт и программирование: что это такое простыми словами

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

12.11.2024

Дедлайн в разработке: что это такое простыми словами

Дедлайн (от англ. deadline — «крайний срок») — это конечная дата стачи проекта или задачи…

11.11.2024