Я экспериментировал с использованием eCryptfs в качестве основной файловой системы для данных MySQL, чтобы имитировать прозрачное шифрование данных для MySQL. Я провел несколько тестов, чтобы измерить издержки дешифрования, когда MySQL читает данные, и я получаю странные результаты.
Я подготовил таблицу размером 7,5 ГБ и выполнил запрос на полное сканирование таблицы (SUM). У меня есть два сценария -
- Когда базовый fs является ext4 и не шифруется, среднее время запроса на несколько запусков - 22,5 секунды.
- eCryptfs установлен поверх ext4 -
- Когда таблица создается впервые, среднее время выполнения запроса составляет 21 секунду (поскольку он меньше, чем незашифрованный, есть ли какая-то предварительная выборка?)
- Очистите буферы MySQL и повторите запрос, среднее время выполнения теперь составляет 9,6 секунды (из-за буферизации eCryptfs?)
- Если я размонтирую свой каталог и перемонтирую его, но не буду воссоздавать данные, среднее время составит около 17 секунд. Это снова загадочно. Сохраняла ли eCryptfs некую зашифрованную мета-информацию, когда она была дешифрована в первый раз?
Я запускал эти тесты несколько раз (каждый раз очищая буферы MySQL) и получал непротиворечивые результаты. Может кто-нибудь объяснить или указать мне ресурс, который объясняет это поведение? Можно ли это отключить (для тестов)?