Тестирование производительности sqlite3 - как быстро сбросить / очистить кеш - PullRequest
0 голосов
/ 04 июля 2018

Надеюсь, это простой вопрос.

При выполнении тестирования производительности запросов выполнение идентичного последовательного запроса всегда будет возвращать ответ быстрее, чем с первой попытки (как правило, значительно быстрее).

Какой самый простой / быстрый способ «вернуть» sqlite3 обратно в его состояние по умолчанию?

Запуск VACUUM может занять довольно много времени и, очевидно, делает нечто большее, чем просто «сброс» настроек.

Спасибо,

1 Ответ

0 голосов
/ 06 июля 2018

Итак, кажется, что sqlite3 не может сделать это самостоятельно. Вы можете компенсировать это, сбрасывая pagecache / inodes в linux, выполнив в качестве пользователя root:

echo 3 > /proc/sys/vm/drop_caches

Чтобы оно было эффективным для тестирования производительности, вам нужно будет запускать эту команду между каждой итерацией. Значение не изменится (что противоречит интуиции), но каждый раз, когда значение записывается в файл, активируется процесс очистки.

...