@flyphoo 404ってのは、不調というより、投稿が存在しない・削除されているっていうことを示すコードなので、それぞれに原因があると思うよ。
調べた方がいいと思うから、対象の投稿URLをダイレクトメッセージで教えて。
データベースの不具合だったり、相手にブロックされてたり、照会したら元投稿が存在しなかったり、いろいろあるんで。
@flyphoo 404ってのは、不調というより、投稿が存在しない・削除されているっていうことを示すコードなので、それぞれに原因があると思うよ。
調べた方がいいと思うから、対象の投稿URLをダイレクトメッセージで教えて。
データベースの不具合だったり、相手にブロックされてたり、照会したら元投稿が存在しなかったり、いろいろあるんで。
Forever
You're My Only Feeling Heart
RRRに見えたが、RoRだった
@fusen @dampuzakura やるなら、言語リソースを分離するプルリクを作るべきでは?
今回の移転費用は、主にベアメタルの初期費用で32万円ぐらいかかっています。
月の運用コストは
51,260円 Mastodon本体・DB
35,309円 メディア
11,220円 全文検索
6,060円 メール
====
103,849円
だいたい10万円ちょっとになりました。
(移行前は16万ぐらいです)
本体の費用は半額ぐらいに圧縮したので、こんどはメディア系がだいぶ割高に感じるようになってきましたね。
リモートメディアの保持が大部分なので、ざっくり削ればかなり減ると思います。また、短期保持のメディアコストが最適化できていないので、ここはまだ改善できると考えています。
全文検索用のサーバ群は、十分余裕を持たせたので、メッチャパワーが余ってます。でもこのままにするよ。もう少し活用したいね。
メール系は通数も多く、ちゃんと届く必要があるので、結構大変です。今のところSendGridでうまいこと賄えていますが、SendGridから届きにくいサーバへはMailgun経由で送っています。
以前、全部Mailgunで運用してたときに、突発的大量送信で超過料金が14万かかっちゃったこともあります。従量課金、怖いよ!
@risahana こん! 🍎 🍎
今日はやることやれて、落ち着いた夜を過ごせてるよ!
アンテナはないけど、購読あるからな。まあ確かにアンテナはない!
@makinosp Xeon Silver 4314を2個。合計で32コア64スレッドだね。64GBメモリ。
さて、そろそろ新しいサーバの構成についてお話しましょう。
■ 移行前の構成
・メイン 4台
(Vultr東京ベアメタル)
・全文検索 3台
(さくらのVPS大阪)
・ロードバランサ 1台
(さくらのVPS東京)
・メディアプロキシ 1台
(さくらのVPS東京)
・メディア(Wasabi東京)
・バックアップ(AWS S3)
・メール1(Sendgrid)
・メール2(Mailgun)
・DNS(Cloudflare)
■ 新しい構成
・メイン 1台
(KAGOYAベアメタル / 京都)
・全文検索 3台
(さくらのVPS大阪)
・メディアプロキシ 1台
(さくらのVPS東京)
・メディア(Wasabi東京)
・バックアップ(AWS S3)
・メール1(Sendgrid)
・メール2(Mailgun)
・DNS(Cloudflare)
Vultrのベアメタルサーバ4台を、KAGOYAの1台に移行してまとめました。
KAGOYAのベアメタルは日本円払いで、転送量制限・追加課金もなく、サーバスペックに対し割安で、日本基準で日本語のサポートが得られることもあり、移行を決めました。月額で5万円ぐらい安くなっています。
Mastodonのような時系列・リアルタイムのタイムラインを持つマイクロブログは、様々な処理が同時に行われるよう期待されています。
しかし、通常時は問題無く処理できても、ピーク時には処理が難しいことがあります。
たとえば、みんなが浮上してくるゴールデンタイムや、明けましておめでとうのタイミング、地震発生直後、『バルス』などなど……
このとき、キャパシティを越えた処理を失敗させるのではなく、順番待ちの行列(キュー)の最後尾に追加することで、処理を遅らせて確実に処理しようとします。
言い換えると、失敗する代わりに遅延させるように設計されています。
なお、本当に限界を越えた場合は、キューの最後に追加する処理ですら不可能で、エラーになることもあります \(^o^)/
MastodonのWebUIは、自分の投稿をサーバに送信すると同時に、(手元の)ホームタイムラインに流し込みます。
これにより、投稿を行ったら遅延無く反映されている……ように思わせています。
実際には、サーバに送られた自分の投稿が、あとからストリーミングを通じてホームタイムラインに挿入するよう指示が流れてきます。これは無視します。
この時、ホームタイムラインの処理が遅延していると、実際に反映されるまで時間がかかります。
まだ反映されていないうちにリロードすると、サーバ上の状態にリセットされるので、さきほど投稿直後に差し込んだものが消えてしまいます。
しかし、これは見た目上のことで、あとでホームタイムラインの該当箇所が流れてくるタイミングでちゃんと流れてきます。
まとめると……
ホームが遅延しているときにリロードすると、自分の投稿が消えたように見えますが、追いついた時にちゃんと流れてきますので、ご承知おき下さい。
@chaperon 具体的なURLを、リンクにならないように教えてください。
リンクがリダイレクトされる際に置き換える機能があり、それが望ましくない挙動になる場合に発生します。
#fedibird #fedibird_info defaultキュー、pullキューがだいぶ積み上がっていたので、sidekiqのプロセス数とデータベースコネクション数などのパラメータを変更し、より効率の良い状態に調整しました。
負荷が高まっている状態にならないと最適パラメータがわからないので、これでだいぶ良くなったんじゃないかな。
あとは、リソースを追加投入しないでどこまでいけるか……。
イラレは便利です
#fedibird #fedibird_info ちょっと遅延入ってるみたいなので、手を打ちますねー
どう?
順調に動いてる?
:pue_pue:
#fedibird #fedibird_info サーバ移転、まだ完全に仕上がったわけでもないし、もっと投稿が流れる時間にならないと安定動作するかわからないのですが、ここまではうまくいきました。
予定していた全機能を新サーバに移し替え、現在すべて新サーバで動作しています。
深夜帯はこのままデータベースの最適化を流しておきますので、ちょっと重いときがあるかと思いますが、よろしく!
@flyphoo 結構重いねー。明日どうなるかなー
@EJKenway レベル1エージェントを立派に育て上げるためのトレーニングメニューかな!
主に、Fediverseへの関心に基づいた投稿を行うアカウントです。DTP・印刷に関する話をしたり、同人の話をしたり、カレーをブーストしたりします。Mastodonのcollaborator(開発者の一員)です。また、独自機能を盛り込んだFedibirdを管理・開発しています!Mastodonサーバ『fedibird.com』の管理者アカウントでもあります。ご連絡は当アカウントへ、サーバインフォメーションについては https://fedibird.com/about/more と @info を参照してください。#webdev #fedi22 searchable
076萌SNS is a social network, courtesy of 076. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.
All 076萌SNS content and data are available under the Creative Commons Attribution 3.0 license.