Abyss.fun v2.6.2にアップデートしました

昨日Abyss.funのアップデートを行い、v2.6.1→v2.6.2になりました。

(ブラウザ上ではv2.6.1のままですが、今回はセキュリティアップデートなので表記は変わらないです)

昨日から今日にかけて繋がりにくい事象が発生しました。経緯についてはAbyss.fun障害情報 — ぐすくま@鯖缶工場広報課を確認してください。

結局何が問題だったの

恐らく理由は2つ有ると思ってます。

  1. bundlerでパッケージをインストールするときに正しく入れられなかった

master追随する際に大抵打つ bundle install 実行時にタイムアウトが多発して正しくパッケージを入れられませんでした。

これについては、bundle config timeout (タイムアウト秒) を入れることで回避ができました。 デフォルトで10秒みたいなので、うちは60秒に伸ばしています。

  1. PostgreSQLの接続数が増えてDB接続エラーが発生

journalctl -fu mastodon-web でwebのログを確認したところ、FATAL: remaining connection slots are reserved for non-replication superuser connections というメッセージが流れていました。

PostgreSQLは一般ユーザのDB接続数が制限されていて、デフォルトでは100になっているようです。(/etc/postgresql/xx/main/postgresql.confに設定があります)

接続数が増えた原因について、pgHeroの管理ページを見たところ、一部のクエリがずっと処理待ち状態にあったのが原因みたいです。

これについては、pgHeroの方で「タイムアウト設定したほうがいいよ!」と警告を出してくれていたおかげですぐに対処することが出来ました。(pgHeroにたどり着くまでが時間かかった)

今の所安定して稼働しているみたいです(以前と比べるとちょっと重くなったような気もしなくはない)ので、ひとまずは様子見とすることにします。

(というか、既にDBのサイズが30GB超えてるし、それで重くならないほうがおかしい気がしないでもない…)

今後とも、Abyss.funをよろしくおねがいします。

#abyss_fun