LoginSignup
2
0

More than 1 year has passed since last update.

Redashのクエリーキャッシュの肥大対策

Posted at

概要

redashは、クエリーを実行させるとキャッシュが残ります。
しかし、日次で見るようなクエリーであれば、昨日のクエリーは意味がないです。
なので、キャッシュはどんどん消して行くべきです。

キャッシュ自動削除の仕組み

キャッシュ削除はデフォルトで下記の通りの設定値で制御されます。

環境変数名 意味 デフォルト値
REDASH_QUERY_RESULTS_CLEANUP_ENABLED 自動キャッシュ削除機能を有効にするかどうか true
REDASH_QUERY_RESULTS_CLEANUP_COUNT 自動キャッシュ削除1回あたり何レコードを消すか 100
REDASH_QUERY_RESULTS_CLEANUP_MAX_AGE キャッシュが作られてから何日後に消すか 7

キャッシュ削除は5分に一回実行され、その1回あたりの最大削除レコード数が上記の通り制限されています。
なので、この数値が小さいと、利用のされ方によっては、キャッシュがたまるスピードの方が早くてどんどん容量が圧迫されてしまいます。
僕が導入したクライアントでは、REDASH_QUERY_RESULTS_CLEANUP_COUNTは1500に設定しています。

設定の仕方

envファイルは、/opt/redash/.env または、/opt/redash/env あるいは、docker-compose.yml でも設定できます。
設定したら docker-compose で再起動します。

docker-compose down 
docker-compose up -d

なお、PostgreSQLはキャッシュを消しても基本的にディスク容量は開放されません。
適宜vacuumなどを行う必要があります。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0