短文テキストと画像を組み合わせて名刺型にレイアウトする「SS名刺メーカー」、文庫や新書の本文風に文字をレイアウトする「文庫ページメーカー」「新書ページメーカー」等を公開中。PC / スマホ対応、誰でも無料で使えます。https://sscard.monokakitools.net
Fedibirdの運営費について(支援のお願い:銀行振込)
====
Open Collectiveを通じた支援ですが、スポットに限り、銀行振込できるようになりました。
クレジットカードを用いる場合とは異なり、指定の口座に振り込んで頂いたあと、こちらで受け取り確認を行ってから確定します。
可能であればクレジットカードで対応していただいた方が助かりますが、事情によりカードが使えない場合にはこちらをお試し下さい。
『スポット支援』の『支援する』ボタンから、デフォルトの1,000円やotherから金額を自由に設定いただき、プロフィールを指定後、支払い方法で「Bank transfer」を選択します。
振り込み先を案内するメールが送られるので、お振込時に参照番号を依頼人情報に追加してお振込下さい。振込手数料は御負担ください。
ダンジョン飯のアニメ面白かった〜!原作の間とか雰囲気もちゃんとあって良かった
2クールなのも嬉しいですね〜。チェンジリング回が好きなんだけどアニメでもやってくれたら良いなあ。
こういう状況のときに、大きいサーバ……というか、リモートフォローの多い、生きたユーザーをたくさん抱えたサーバは、処理量が多くなるので、そこがネックになりやすい。
webもかなり重くなるので、リモート投稿を受け付けるプロセスと、直接の利用者がAPI利用するプロセスをわけておくと、APIの応答性を守れたりするよ。
あとmstdn.jpでよく発生していたと思うけど、負荷が高まってくると画像のアップロードがコケるようになるんだけど、これもバックグラウンド処理があるからで、分離しておくと安定した動作を確保できる。fedibird.comでやってるよ。
まあそんな感じで、多少ソフトウェアの機能を調整したり、どうプロセスを分割して、どこにどのぐらいのリソースを割くようにするか調整するなど、運用って工夫次第なんだ。
あけおめ負荷試験もそうだし、地震も、他鯖の詰まりもそうだけど、そういうのを貴重なデータにして、仮説を立てておいて結果を検証し、改良を重ねて知見を積み上げていくんだよ。
で、ボトルネックは改善すると別の場所に移動するので、あとはバランスとりかな。
misskey.ioはピーキーなサーバなので、そのへん難しいだろうね。構成変更したときにバランスが崩れやすい。ま、任せるしかないけど! がんばえ!
いまのMastodonはリモートから配送されてきた投稿について、まずmastodon-web(puma)が受け取って、送信元の身元確認などを行ったあと、ingressキューに積む。
ingressキューで順番に処理していくんだけど、重複を無視したりして、新規投稿ならデータベースに投稿データとして保存する。
で、この保存した投稿データを内部で配送する。配送はdefaultキューに積んで、順番に処理する。フォローしている人のホームとかリスト、公開タイムライン(連合やローカル、ハッシュタグ)などに差し込む処理ね。
タイムラインに差し込まれるときに、redisのpub/sub channelsを使って、ストリーミングで繋がっているブラウザ・クライアントに結果を流し込む処理を行う。ストリーミングはnode.jsで動いている本体とは別のプロセスが処理するので、redisを仲介にして分離されている。
新規投稿じゃない場合、たとえば絵文字リアクションとかお気に入りなら、ingressキューのワーカーの段階でredisに通知をpubしてストリーミング経由でブラウザ・クライアントに流す。
そういう感じ。
で、もの凄く大量の処理が必要なときに、どこがボトルネックになるかってことを見極めるのが重要なのね。
Mastodonの管理画面でmisskey.ioのとこみると、fedibird.comの場合でフォロー合計46,237って出るんだけど、これは延べ人数。
たとえばしゅうまい君をfedibird.comからフォローしている人は1,186いるんだけど、しゅうまい君の投稿はそれぞれ1回だけmisskey.ioからこちらに送られてきて、それをこちらで1,186人のフォロワーに配る仕組みになっているのね。
だからユニークユーザー数も重要で、こちらは15,156。
15,156人分の溜まっている投稿を受け取って、46,237人に配るわけ。
fedibird.comの場合、フォロワーへ配る他に、各種の購読の処理が加わる。一般的なMastodonサーバでも、ハッシュタグのフォローの処理は加わる。
実際にmisskey.ioの15,156人から24時間にどのぐらいの投稿が配送されてくるのか調べると、1月2日の24時間でみると2,908人が行った29,354件の投稿になる。この数字も面白いね。
ちなみに、misskey.ioの配送の中には投稿だけじゃなくて絵文字リアクションとか投稿削除とかフォローリクエストとか承認とか、いろんなものが混じっているはずなので、投稿件数ではないよ。リアクションの割合は多そうだねえ。
本日1/4❤️🔥ハンサムマストダイ上巻の発売日です‼️
💥💥マストバイ💥💥
🌴Amazon🌴
https://www.amazon.co.jp/gp/aw/d/4088838122/ref=tmm_other_meta_binding_swatch_0?ie=UTF8&qid=&sr=
やぁ、misskey.ioのキュー凄いねえ。
いま、だいたいfedibird.comに11時間半(ほぼ半日)ぐらい遅れて届いてる……というかもはや止まっているような速度だね。
ActivityPubの投稿の連合は、投稿者のサーバ側が、各ユーザーのフォロワーのいるサーバに新規の投稿があったことを伝える(相手サーバにPOSTする)仕組みです。
misskey.ioで1,100万個の外部配送が待機中になっている状況で、少しずつしか消化されないので、どんどん遅れが増えていってます。
ちなみにmisskey.ioで投稿のURLを拾ってきてそれを検索すると個別にfetchできるので、配送を待たずに受け取ることはできます。
誰かがブーストした場合も、まだ受け取っていなければ個別にfetchするので、それも届いたりします。
村上さんや運営のアナウンスがあったら、他鯖でブースト(リノート)することで伝えて回るっていうことはできるかな。あとはあんまりやっても仕方ないか……。
ま、個人的に自分の投稿を流したいサーバにもって来ちゃうっていう使い方はできますけどw
ドールかわいいしたり写真楽しい推し活楽しいしたり色々。
フォロバはお友達優先の気まぐれ。
ドールの話や写真を載せますので、苦手な方はワードミュート等自衛をよろしくお願いします。
最近はkmyblueフォークで建てた自鯖関連の話もします。