Страницы

Сохранить статью у себя в соцсети:

пятница, 3 августа 2012 г.

§ Pgpool2: Caching SELECT's.

Настройка кэширования в Pgpool2

В pgpool2 при выполнении запроса на чтение, есть возможность закэшировать результат. При последующем обращении результат будет отдан из кэша за существенно меньшее время, чем выполнение оригинального запроса. Есть три варианта настройки кеша. 
Первый вариант определяет использование служебных таблиц pgpool2 внутри самого PostgreSQL.
Сначала нужно установить эти таблицы, для этого нам понадобится SQL схема из дистрибутива pgpool2. Делаем импорт схемы в базу от имени владельца базы.
# cat /usr/share/pgpool2/system_db.sql |psql -h pg_server -U dbowner dbname
CREATE SCHEMA
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "dist_def_pkey" for table "dist_def"
CREATE TABLE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "replicate_def_pkey" for table "replicate_def"
CREATE TABLE
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "query_cache_pkey" for table "query_cache"
CREATE TABLE


Теперь донастраиваем Pgpool2. За основу можно взять конфигурацию в предыдущей статье по настройке Pgpool2.
# vi /etc/pgpool2/pgpool.conf
#------------------------------------------------------------------------------
# PARALLEL MODE AND QUERY CACHE
#------------------------------------------------------------------------------
parallel_mode = off
enable_query_cache = on
pgpool2_hostname = ''
# - System DB info -
# предварительно залить в базу схему из дистрибутива pgpool. это необходимо для "enable_query_cache = on"
system_db_hostname  = '172.31.26.50'
system_db_port = 5432
system_db_dbname = 'dbname'
system_db_schema = 'pgpool_catalog'
system_db_user = 'dbowner'
system_db_password = 'dbownerpass'

Теперь перезапускаем pgpool2. Наличие аналогичных записей в логе PostgreSQL говорит о том что данные берутся из кэша.
postgres[28934]: [7846-1] LOG:  duration: 0.202 ms  statement: SELECT value FROM pgpool_catalog.query_cache WHERE hash = 'f7b....

О двух других вариантах в следующей статье

На главную "Virtualizing Linux"

Комментариев нет:

Отправить комментарий

Популярные сообщения

Профиль в Google+ Яндекс цитирования Яндекс.Метрика