в чем разница и влияние set [sync-log = false] для tidb - PullRequest
0 голосов
/ 20 июня 2019

В tidb, когда открыто sync-log, утилита disk io может быть больше 90%, после set sync-log=false она уменьшается до 1%, что плохого эффекта в этой конфигурации?

1 Ответ

0 голосов
/ 24 июня 2019

Короче говоря, sync-log=true обеспечивает безопасность данных, но ухудшает производительность.

TiDB основан на согласованном алгоритме Рафта, он должен убедиться, что каждый Журнал плота сохраняется на диске большинства перед их фиксацией. Делать чтобы сохранить журнал, нам нужно выполнить два шага:

  1. запись (log_fd, log)
  2. FSYNC (log_fd)

Когда sync-log=false, TiDB пропускает fsync, это повышает производительность и безопасно, если нет сбоя питания. Установите значение true, ваши данные всегда остаются неизменными, даже если сбой питания.

Подробнее: https://pingcap.com/docs/v3.0/faq/tidb/

...