継続的なメンテナンスを裏でしています。のお知らせ

Abyss.funのストレージサーバがそろそろディスクサイズの限界が見え始めてきたため、不要な投稿を削除するツール (というかマストドンの管理機能として提供されている tootctl のことです) を実行して、DBのダイエットを裏で行っています。

今までも何度かチャレンジしていたんですが、その度にエラーが出て挫折していました。今回改めて試行錯誤してみたところ、原因が判明したので解決に向かうと思われます。

2年4ヶ月程度稼働しているわけですが、その間にDBのメンテをしていなかったのでかなり肥大化していました。メンテナンス実行時点で52GBほどあります。横綱級です。

参考:普通、マストドンでは大規模サーバでも20GB行かないくらいのサイズで済むみたいです

今回エラーを解消して正しく処理されるようになったので、少しずつ減量中です。ガリガリと余分なデータを燃焼させています。

軽くなったらストレージに余裕ができるだけでなく、DBのアクセス効率もやや良くなると思うので、若干の処理速度向上も期待されます。個人的に楽しみです。

処理にしばらく掛かりそうなので、この記事で継続的にどのくらい減ったかを逐次更新していきたいと思います。興味がある方は継続的にご確認ください。

なお、メンテナンス中でもサーバの負荷は殆どありませんし、ダイエット完了後もAbyss.funに登録されているアカウントのデータは全て保全されるので、ご安心ください。

メンテナンス履歴(日付降順)

2020-05-18 7時30分

めっちゃ効果あった

ストレージ:136,521,984Byte (-49,465,344Byte)

空き領域が50GB近く増えた。これが原因だったか…… とりあえずこれでストレージ問題が解決された。よかったよかった。

それと、昨日終わった tootctl account cull で「特定ドメインにリクエスト投げられなかったら削除してないよー自力で削除してね」的なメッセージが出ていたので、別途 tootctl domain purge をして削除することにする

2020-05-18 10:05:06 時点で1/1147

2020-05-17 20時

気がついたら tootctl account cull が終わってた

処理数:112514/112514 DB:52.4GB ストレージ:185,987,328Byte (+6,801,408‬Byte)

全然減らない……引き続き tootctl preview-cards remove でもやってみるか。

処理数:1,157,605件、結構削れるのではないか。

2020-04-03 10時

順調に減って……はいない

処理数:3560/112514 DB:51.7GB ストレージ:179,185,920Byte (+2,644,992‬Byte)

どちらかというとインデックスとかメディアが増えたのが理由のように思う。 statusesは少しずつ減ってきている

というか5日間くらい回して4000件程度しか処理できてないんですが。 単純計算であと30倍程度の時間が必要→5ヶ月かかる計算に……なにそれこわい

2020-04-09 10時

エイプリルフールネタをやったときにちょっとパラメータいじったらDB接続エラー出まくってたの気づかなくて今まで放置してたので多分あまりダイエット成功してないです。

処理数:3899/112514 DB:51.9GB ストレージ:177,069,312Byte (+528,384‬Byte)

設定戻してやり直し

2020-04-01 0時

エイプリルフールネタやったらDBが死んだので一旦停止してやり直し

処理数:356/112720 DB:51.7GB ストレージ:176,540,928Byte (+1,982,464‬Byte)

2020-03-30 9時

DBサイズ的には少し減っただけだけど、ストレージサイズはガッツリ減ってる。いけるいける

処理数:369/112720 DB:51.7GB ストレージ:174,558,464Byte (-1,704,976Byte)

2020-03-30 21時

投稿削除してもだめだったので、 tootctl account cull を実施。(現在活動していないリモートのアカウントを削除していく) 対象のアカウント数112720件、これは期待できそう!

処理数:1132/1132 DB:51.9GB ストレージ:176,263,440Byte (-579,312Byte)

DBのサイズが増えたのはstatusを削除するのにインデックスを作成したからであって決してリバウンドではない。 ダイエットするのにトレーニング始めたら筋肉ついてきて体重増えたのと同じ理論

2020-03-29 7時

気づいたら終わってた。やっぱ domain purge じゃあまり効果なかった。

処理数:1132/1132 DB:51.6GB ストレージ:176,842,752Byte (+6,144Byte)

引き続き、 tootctl status remove で古いリモートの投稿を削除していく(直近 90 60日まで)

2020-03-27 9時

DBサイズは少し増えたけど、ストレージサイズは少し減った

処理数:747/1132 DB:51.6GB ストレージ:176,836,608Byte

2020-03-25 10時

引き続き経過観察

処理数:165/1132 DB:51.5GB

2020-03-24 15時前

tootctl 系コマンドでエラーになる原因が判明する。まずは閉鎖したサーバのデータ削除を行う → tootctl domain purge mao.daizhige.org

処理数:0/1132 DB:52GB程度