@noellabo I proposed another issue with possible fix on GitHub. https://github.com/fedibird/mastodon/issues/1
#fedibird の登録ユーザー数が200人になりました。
サーバの負荷状況は、たとえばCPU Usageで見てこのぐらいの変化です(Max: 400%)。……増えているようですが、あまり変化がわかりませんね。メモリも6割ぐらい空いてますので、まだ余裕があるように思います。
DBサーバへのコネクションは高負荷時に時々飽和しているようで、たまに切れることがあるようです。ここはチューニングが要りそうです。
DBサーバ自体も、いまのところ目立った負荷は観測されていません。
Fedibirdでは、予告なく短時間のメンテ(再起動などで30秒〜120秒程度)を入れることがあります。
WebUIに変更がある場合の反映と、ストリーミング接続の確実な復帰のために「ん、今切れたな?」と思ったら、復帰した様子をみてから一呼吸置いて、適当なタイミングでブラウザ再読込をお試し下さい。
基本的にmaster追従サーバですので、Mastodon本家で開発中の新機能、暫定的な仕様が随時適用されています。独自機能も追加されていきます。重要なものは随時このアカウントでお知らせしますのでよろしくお願いします。
#fedibird masterに2日前に入った変更で、動画などのURLを投稿することでタイムラインに埋め込む機能が壊れていたので、修正をrevert(取り消し)しました。
https://github.com/tootsuite/mastodon/pull/12403
不具合の出ていた動画の埋め込みがこれで直っているかと思いますので、ご確認ください。
----
oEmbedのエンドポイントをキャッシュすることでパフォーマンスを向上させる変更ですが、短縮URLの処理に問題があり、全く異なる動画が埋め込まれる不具合が生じます。master追従している他のサーバでも同様の問題が発生するので、管理者の方はご注意ください。
具体的には、YouTube動画のyoutu.beドメインのエンドポイントを誤った形式でキャッシュし、正しく処理されなくなります。
#fedibird のサーバ構成を変更しました。
従来はVultrのHigh Frequency 4 CPU単体で動作させていましたが、さくらのVPS(v5) 8G を使った同じ役割のサーバを追加した2台構成となりました。ここに、もう一つデータベース用のサーバが加わり、全部で3台のVPSで動作しています。
外部からはCloudflareを通してアクセスするようになっていて、ここにロードバランサーが設置されています。
メディアは引き続きAmazon S3に置いており、Cloudflareでキャッシュしています。
平常時は、Vultrとさくらの両サーバが協力して負荷を捌きます。どちらかに障害が発生した場合、片方が生きていれば引き続きサービス提供可能です。メンテナンス時の停止も少なくて済むようになりました。
PostgreSQLとredisは障害発生時に自動復帰しませんが、それぞれレプリカが控えているので、復帰させる際はレプリカをマスターに切り替えて対応します。
Fedibirdはまだアクティブ300人程度の小さなサーバですので、今はこのぐらい簡易な構成で良いかなと考えています。
Bug report:
I did not see a place to file a GitHub issue for fedibird so I write it here.
The WebP support is incomplete. There should be a thumbnail image generated, but there isn't.
So after uploading a WebP image, the compose form looks like the second pic:
(The first pic is the WebP image uploaded to fedibird.)