Назад | Перейти на главную страницу

Заставить файлы оставаться в кеше dentries и inode на SuSe

У нас есть некоторые sql-запросы, которые выполняются редко.

При первом запуске через некоторое время они занимают около 2 минут, второй вызов занимает всего 800 мс.

Я узнал, что когда я перезапускаю postgres, запросы все еще работают быстро. Только когда я очищаю кеш inode с помощью

echo 3 > /proc/sys/vm/drop_caches

запрос снова медленный. Итак, я начал наблюдать, какие файлы загружаются во время запроса:

inotifywait -mr  ~postgres/data/*

который входит в первый раз несколько раз:

/var/lib/pgsql/data/base/16414/ ACCESS 119232

это файл размером 1 ГБ:

-rwxr-xr-x 1 postgres postgres 1,0G 22. Mär 09:53 /var/lib/pgsql/data/base/16414/119232

я полагаю, это файл, который содержит индекс таблицы

Это возможно

  1. Узнайте, какие файлы содержат индексы
  2. Заставить ОС хранить файлы в кешах?