フォロー

昨日行っていたメディア削除は無事に完了し、700GB超だった容量が230GBほどになりました。たぶん月額$12〜$13ぐらいの節約になるかな。

そして今朝から、データベースのリードレプリカを有効にしました。

Fedibirdのデータベースは、独立した2つのVPS上にあって、それぞれ、マスターと、それの複製(レプリカ)になっています。

これまでは、マスターだけを更新・参照していて、レプリカは非常時に備えて待機しているだけでした。

これを、更新をマスターに、参照をレプリカに対して行うように設定しました。

この運用方法は、2台のサーバで手分けして対応するようになるので、1台あたりの負担が軽くなるメリットがあります。

同期レプリケーションが必須になった分、更新の完了に少し時間がかかるようになっていますが、体感できるほどではないと思います。

同期レプリケーションは、postgresql.confに

synchronous_commit = remote_apply

などの設定が必要です。

常時バックアップのレプリカであれば、非同期の方がパフォーマンス面で有利なので、offの方が良いでしょう。

リードレプリカの設定については、Mastodonの公式ドキュメントに記載があります。
docs.joinmastodon.org/admin/sc

ソースコード上の config/database.yml にdb設定を直接書くわけにはいかないので、ウチではこんな風に変更しています。環境変数を使って、.env.productionにデータベース接続を記述します。pgheroも設定しておいた方がいいですね。
github.com/fedibird/mastodon/c

ログインして会話に参加
Fedibird

様々な目的に使える、日本の汎用マストドンサーバーです。安定した利用環境と、多数の独自機能を提供しています。