Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
 Медленные коммиты транзакций в Linux  [new]
RWolf
Member

Откуда: Казань
Сообщений: 424
Есть программа, которая делает нехитрый OLTP — добавление/изменение пары записей в паре таблиц за транзакцию. Когда сервер работает под Windows (FB 2.5.8), коммит транзакции занимает 5-20 мс. Перенос БД на Linux (Ubuntu 18.04, FB 2.5.8 / 3.0.2) приводит к замедлению коммитов на порядок (50-200 мс), соответственно падает производительность ПО. Это можно как-то исправить настройкой сервера/ОС (не прибегая к gfix -write async)?
Железо — офисный ПК, под базу выделен отдельный HDD.
29 мар 19, 15:03    [21847163]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
hvlad
Member

Откуда:
Сообщений: 10241
Убрать барьер с файловой системы,
перестать писать одно и то же дважды
29 мар 19, 15:07    [21847177]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
RWolf
Member

Откуда: Казань
Сообщений: 424
Смонтировал диск с nobarrier — производительность записи вернулась на место. Как я понимаю, в моём случае десктопного HDD такой режим работы будет приводить к необходимости ремонта БД после сбоя питания, тогда как включенный барьер избавил бы от неё?
29 мар 19, 15:40    [21847249]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
hvlad
Member

Откуда:
Сообщений: 10241
Проверить не надёжнее и быстрее, чем спрашивать ?
29 мар 19, 15:42    [21847252]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27910
RWolf
необходимости ремонта БД после сбоя питания, тогда как включенный барьер избавил бы от неё

натюрлих? включенный barrier спасает базу от повреждения? Базу от повреждения спасает хотя бы raid 1, плюс ups, плюс регулярные бэкапы.
29 мар 19, 16:32    [21847325]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27910
RWolf,

и еще я не понял. если на винде и линуксе одинаково, то зачем там линукс? Или наоборот.
29 мар 19, 16:33    [21847327]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
RWolf
Member

Откуда: Казань
Сообщений: 424
kdv,
если барьер не гарантирует целостности данных, тогда почему просто не включать gfix -write async по дефолту?
29 мар 19, 16:41    [21847336]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27910
RWolf,

в смысле? write sync (FW=ON) как раз более-менее гарантирует правильную последовательность записи страниц на диск, минимизируя возможные повреждения при ресете.
FW=OFF, или write async, оставляет запись на волю операционной системы, из кэша которой страницы пишутся на диск как попало, в результате чего вероятность базы повредиться при ресете существенно возрастает.

Опция barrier в линуксе - Write barriers enforce proper on-disk ordering of journal commits - не имеет никакого отношения к последовательности записи страниц Firebird-ом.
И вообще, когда-то давно писали, что журналирование записи файловой системой нихрена не спасает от повреждений БД в случае всяких сбоев.

Кстати, я 8 лет назад приводил данные по barrier:
https://www.sql.ru/forum/895986/ext4-barrier-0-ili-1
29 мар 19, 16:50    [21847349]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
RWolf
Member

Откуда: Казань
Сообщений: 424
kdv
RWolf,

и еще я не понял. если на винде и линуксе одинаково, то зачем там линукс? Или наоборот.

Так изначально была поставлена задача — есть линуксовая машина, нужно перенести БД на неё.
29 мар 19, 16:50    [21847351]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
Dimitry Sibiryakov
Member

Откуда:
Сообщений: 47264

kdv
когда-то давно писали, что журналирование записи файловой системой нихрена не спасает от
повреждений БД в случае всяких сбоев.

Более того, Лиля Козленко писала, что оно их провоцирует.

Posted via ActualForum NNTP Server 1.5

29 мар 19, 16:59    [21847372]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
rdb_dev
Member

Откуда: с болот
Сообщений: 2628
kdv
...
Кстати, я 8 лет назад приводил данные по barrier:
https://www.sql.ru/forum/895986/ext4-barrier-0-ili-1
kdv
просто фиксирую, для памяти.
Fedora 16 with Kernel 3.1.1-1.fc16.x86_64

шедулеры cfq или deadline
...
Дмитрий, возник вопрос - если диски поддерживают очереди команд и сами оптимизируют последовательность операций чтения/записи, зачем же зарубать фичу использованием шедулеров IO очередей? Почему не "no-op"?
1 апр 19, 12:06    [21848817]     Ответить | Цитировать Сообщить модератору
 Re: Медленные коммиты транзакций в Linux  [new]
kdv
Member

Откуда: iBase.ru
Сообщений: 27910
rdb_dev,

мопед не мой, и вообще я Линукс не люблю.
1 апр 19, 14:27    [21848981]     Ответить | Цитировать Сообщить модератору
Все форумы / Firebird, InterBase Ответить