論理DB/Redisの掃除
Publish date: Mar 8, 2020Tags: postgresql
いったん論理DBを削除しようとしたら
postgres=# DROP DATABASE mastodon_production;
ERROR: database "mastodon_production" is being accessed by other users
DETAIL: There is 1 other session using the database.
何かアクセスしていますとのこと
バックグラウンドで動いているサービスを止めていきます。
# service mastodon-web stop
# service mastodon-sidekiq stop
# service mastodon-streaming stop
DROP DATABASE します。
# su - postgres
$ psql postgres
postgres=# DROP DATABASE mastodon_production;
DROP DATABASE
消えているか確認
postgres=# \l
新しく作ります。
$ psql
postgres=# CREATE DATABASE mastodon_production ENCODING 'UTF-8';
CREATE DATABASE
mastodonユーザーでDB名を指定して入る
$ psql mastodon_production
gzipで圧縮したものを解凍して、出力した値をpsqlコマンドでmastodon_productionにリストアしていきます。
$ gzip -dc dump-latest.sql.gz | psql -U postgres -d mastodon_production
サービスを起動していきます。
# service mastodon-web start
# service mastodon-sidekiq start
# service mastodon-streaming start
Redisのデータを削除しました。
keysコマンドで登録されているキーの一覧を表示させて確認です。
# redis-cli
127.0.0.1:6379> flushall
OK
127.0.0.1:6379> keys *
(empty list or set)
CPUが一気に上がり始めました。
Sidekiqを止めて下がり始めたところを見ると
やはりSidekiqで捌いているリクエスト量がネックとなっているようです。
【 対策のアイディア集】
1. CPUQuota(制限)の解放
2. JP鎖国
焼け石に水の可能性もあるけれども、やってみるだけやろうと思います!