Недавно мы установили libeatmydata
на наших тестовых серверах для повышения производительности базы данных (много переустановок базы данных).
Libeatmydata работает путем исправления libc
's fsync
функция для немедленного возврата вместо вызова системного вызова ядра.Он также вносит другие подобные изменения в другие функции.
С тех пор мы испытывали некоторые недетерминированные сбои теста.Я могу придумать два объяснения:
- Наши тесты или код чувствительны ко времени, и
eatmydata
сделал это намного быстрее. eatmydata
каким-то образом меняет поведение MySQL.
Я считаю, что (2) маловероятно, но я не могу найти ничего, что предлагает (1) в нашем коде.
У вас есть подобный опыт работы с mysql и libeatmydata?