自分のMisskeyサーバーが一瞬で15倍くらいの規模になった話

TechAcademyでメンターをしています

この記事の目次

Misskeyという分散型SNS

久々の投稿です。正直ネタらしいネタもなかったもんで(いや、書けよって言いう内容は沢山あるんですけどね)なかなか更新できずにいましたが、ついに大々的にかけそうな内容が出てきたので書き残そうと思います。

Misskeyという分散型SNSをご存じでしょうか? Twitterのアレコレで移住先を探す人も増えていたりして、その中の一つの選択肢になっているものです。一昔前だとMastodonが有名でしたが、日本ではMisskeyがかなり急速に広がっていますね。

Misskeyは「レターパックで現金送れ」や与謝野晶子のリアクション(絵文字)があるということで割と有名になりました。わかりやすい特徴としてはDiscordやSlackのように絵文字によるリアクションが可能というところがわかりやすいでしょうか。

細かい特徴とかはこの話の中で徐々に触れていこうと思いますが、MastodonとMisskeyはActivityPubという仕組みの上で動いているので、相互にフォローなどが可能です。TwitterやFacebookのような中央集権型(1つのサーバーが動いているような状態)だと、同じSNSに登録していないとフォローし合うことはできませんが、MisskeyやMastodonは「分散型SNS」という事もあり、サーバー自体は複数ありますが相互のフォローが可能というのがわかりづらいのかも知れません。ザックリ言うと、どのMisskeyに登録していても、別のMisskeyのアカウントをフォローできるし覗きに行くことができるという感じ。どこか一つにアカウントがあれば充分ということが殆どでしょう。

Misskeyのサーバーを建てた理由

Twitterの先行きが怪しくなった頃、Mastodonへの移住を考えていました。Mastodonくらいしか知らなかったですからね。そんな中でMisskeyのリアクションがTwitterでバズり、Misskeyを知ったわけです。

最初に登録したのはみすてむず いず みすきーしすてむずです。その後Misskey.ioとかそのあたりも登録しました。諸々良い感じに使える様になった頃、みすてむずの方にサーバーを建てたい人のチャンネルができて、そこに参加してみたという流れです。

新しいものを試してみたくなる性分ですので、それなら自分で建ててみようと思いました。MastodonはUIがイマイチ掴めなくてあまり前向きになれなかったのも一因です。少しわかりにくい気がするんですよね。どうだろう。Misskeyの方が現代っぽいというか、今にあっている気がしたのです。

まずはお一人さまサーバーから

自分一人のためのサーバーを建ててみました。うだうだと適当にノートを連ね、特段多くの人に拾ってもらう事は考えない場所として作って、Misskeyの機能を知るための場所という感じで作りました。

特段問題なく動くなーと思った所で、コレはちゃんと複数人で使えるコミュニティとして使っていきたいなと思うようになりました。Join Misskeyを見るとどんなサーバーがあるのかわかりますので、被らないようにテーマを選ぶことにしました。

そしてうまれた『いかすきー』

やはりスプラトゥーン配信者としてはSplatoonをテーマにしたくなるのですが、「どうせもうあるだろう」と思ったらなかった。そしてゲーム全般を対象としているげむすきーは招待制に移行しており入れない…ということで、良いテーマが決まりました。

一気に作業を進めて登場したのが『いかすきー』。これが4/12です。サーバーを建てた日ですね。実際に公開したのは4/13なので、創立は4/13という感じです。

最初は細々とやっていく感じだろうと思っていましたから、Mastodonインスタンスのイカトドンに「できたよ」的なお知らせを流して、登録してみたい人だけおいでませという程度でした。その結果、公開日の4/13に登録したのは45アカウント。現在も「こさんすきー」というロールを付けてあります。

運営に頭を使った

その後、Bot制作をしたりしていきました。Splatoonシリーズは定時でゲームモードが変わったりするので、それらの通知Botであったりとか、ルールの整備とかをしていきました。

サーバーのスペックを上げた

流石にMisskeyは他のサーバーの情報を処理することもあってか、とても負荷がかかります。それまでの最小構成では耐えきれなくなったので、スペックをあげることにしました。その結果ほどほどには安定。定期的な再起動を行ったりしてますが、極端な問題は起こりませんでした。

CloudFlareに移行した

元々DNSはGoogleだったのですが、CloudFlareに移行しました。

シンプルにDDoS対策などとして適切かなと思っただけなんですが、結果として意外と良い感じかもしれません。やっぱりCDNとして動いているだけはあります。

サポートサイトを作った

私の中で一番大変だったのはサポートサイトを作ることでした。色々と方法はありましたし、Misskeyにはページを作る機能があるので、それで賄う方法もありました。なんなら最初はそれで賄っていた。

でもMisskeyが落ちたら見れないんですよね。これはどうしようもない。なので、外部に置きたいなと思ったわけです。そのときに私の得意分野WordPressは弱い。WordPress.comを使うという方法もあったかもしれないですが、ちょっとちがうなぁと。

折角Vueを使っているMisskeyに関する物なので、VuePressを使ってみようと一念発起して作る事にしました。その結果がいかすきーサポートサイトです。VuePressならGithubPagesでホスティングすることができます。ビルド・デプロイはActionsで行けますし、とても便利ですね。現在はCloudFlare Pagesに移行しています。

ルールを整備した

他のサーバーの利用規約などを参考に制定したり、プライバシーポリシーとかも用意していきましたが、かなり難しいなと思いました。

最終的にはサーバー管理者(鯖缶と呼ばれることが多い)の集まるDiscordで法的な方面からも合わせた雛形を用意していただきそれに移行した形です。

そのときは突然やってきた

私は7/1にライブを観に行っていました。ドリカムです。4年に一度のワンダーランド。夜は後夜祭にいって日付が変わった頃に友人宅に戻ってきました。

Twitterがおかしい…?

ちょっとした異変を感じたのは、ライブ終了直後。Twitterを開こうとしたらAPIの制限がかかっているとの表示。他のアカウントは見れたりしたので、どうせちょっとした不具合だろうと思っていました。しかしなかなか直らなかったので「明日の朝まで様子みるかー」と思っていたのでした。

帰りの道すがら「いかすきーは大丈夫かなー」と思ってユーザー数を確認すると192人。「朝起きたらもうすぐ200人」って書こうかなーと思って就寝したのでした。

とまらないApple Watch

睡眠計測をかねて私はApple Watchをつけたまま寝ています。後夜祭も日付が変わる頃までお邪魔してましたので、次の日はゆっくり…と思ったら、めちゃめちゃ通知が止まらない。10:30までは通知が来ないようにしていたのですが、その直後くらいからかなりの数サーバーダウンの通知が来まくりました。

5分に一回くらい落ちている…コレは何かおかしいとアレコレ見てみるといかすきーにアクセスが集中していることが判明。とりあえず、サーバーの再起動をした後、スペックを増強することに。元々は7/3に予定していたのですが、急遽前倒しになりました。急いでサーバーのスペックアップを完了させて再起動。その後は落ちなくなりました。メモリがとても必要だった様子です。

と、この段階で260人程度のユーザーでした。11時頃です。

一気に成長するいかすきー

再起動して安定したことで流入が一気に始まりました。どうやら、この段階では既にMisskey.ioは招待制に移行しており、一切新規が入れない状態になっていたようです。そして他のサーバーもキャパシティの問題で招待制に移行したりしていたことも相まって、いかすきーへの流入が加速した気がします。

とりあえずサーバー自体は落ち着いているようだったので、様子を見たりしていたら18時の段階で870人オーバーに成長しました。これは買い物に出た頃にスクショを撮ったのでハッキリしています。

そして帰りに見てみると19時の段階で910人オーバーに。あっと言う間の900オーバーです。もうよくわからない。

また、様子を見ながらユーザー数を確認して行くと、23時の段階で1500人オーバー。アレ?加速してませんか?やっぱり夜にアクセスが増える…? 日曜の夜ですよ…?

続いて日付の変わる3日0時では1600人オーバーに。深夜にめっちゃ増えるじゃん…。

さらには深夜の2時では1700人オーバーまで膨れ上がりました。夜中に何してるの…。この頃に他のサーバーのことをやっと把握できたりしました。TwitterがAPI制限をかけたということもちゃんと把握できたのはこの頃。

寝て起きて10時頃。この頃には2000人を超えており、お昼を跨いだら13時頃に2200人を超えてました。平日です、皆さん。

その後、7/4の0時頃には2500人程度7/5の0時頃には3000人突破というものすごい成長スピードを見せてきました。

元々を200人と概算すると、3日で15倍です。恐ろしい増え方です。SNSとしては盛り上がってくれるのはありがたいですけどもね。

急激に人が増えることによる弊害

これは避けて通れないことだと思うのですが、人が急激に増えると問題も増えます。いかすきーは比較的ルールを決めている方でしたが、抜けや漏れは沢山ありました。

ルールの再策定

このタイミングでサーバー管理者の集まりから産まれた雛形に移行しました。法的な部分込みで対策を行った感じです。

既存文化の浸透

既存文化を少数から多数に広めるのはとても大変でした。

いかすきーの基本方針として「SNSという場で隠し事をするな」なので、Misskeyに有る「チャンネル」という機能をできるだけ使わないようにさせています。チャンネルは、掲示板でいう所の「板」に相当する感じで特定のテーマなどに応じて書くことができる場所です。ただ、表から隠れたような形になるのと、チャンネルにたどりつくのがわかりにくいということで、あまり多用しないようにという風にしていた次第です。

もちろん新しくやってきた人たちは知らない。どんどんチャンネルを作られてしまうのでアーカイブ化することをひたすらに実施。都度都度アナウンス…。ものすごいややこしいことになっていました。チャンネル作成の権限設定ができるようになっていれば良かったのですが、それはなかったので混乱しました。最終的にプログラムを弄っていかすきーでは管理者・モデレーター以外はチャンネルを作れないようにしました。

ユーザー間のトラブル増加

当然ですが、トラブルも多くなります。一番わかりやすいのは通報です。私怨からと思しき通報も出てくるし、多くの人が一斉に通報してくるようなパターンもありました。

どんな人が不快に感じるか、そんなことも問題になってくるレベルで「私はコレが嫌だ!」とかそういう意見も出るようになりました。いや…むずかしいです。動物が写真でも苦手という人が居るとは思わなかったですし…。

結果としてワードミュートなどを活用してもらうべくハッシュタグ等を活用するように誘導していきました。プレイの募集とかもハッシュタグを使い、逆にそれぞれのユーザーがアンテナを活用することで特定のワードを含むノートをまとめて見ることができるようにして自由にできる場を作っていきました。

NSFWを指定して画像を投稿するためのガイドライン策定なんかもこの流れで生まれましたね。

Twitterと違う点を理解してもらう

Twitterとはやはり違います。いろいろな特性が異なるわけなので、それらを知ってもらう必要があります。そして「Twitterではこうだった」を理由にいろいろな意見が出ることも多かったです。これはTwitterからの移民からすると当然かもしれませんし、実際は多数派でしょう。気持ちはわかる。

でもMisskeyを使う以上、そのサーバーの方針を見せていく必要がありますので、様々なルールを追加したりガイドラインを作ったりしました。周知が大変だった…。

モデレーターを置いた

通報件数が極端に増えた時期があります。自分でも何が正しいのかわからなくなってきてしまったので、モデレーターをお願いすることになりました。有無を言わさずお願いした感じで申し訳なかったのですが、結果として結構助かってます。結果として二人のモデレーターを置きました。

成長には痛みを伴う…

今はかなり平穏に運営できているいかすきーですが、ワーワー書いたもののサーバーのアレコレから見たら比較的安定していた方なのではないかと思いますが、それでも内部的にはとても大変でした。

普通なら数十人程度ずつ増えるユーザーが一気に3000人くらい増えたわけです。流れが変わって初期メンバーは嫌な思いをしたかも知れませんし、迷惑をかけているのかもしれません。そういうメンバーを見放したいという事はないですが、この増加率の中でそこにだけフォーカスすることもできなかった。結果として、今は8割くらいのアクティブユーザーがほどほどに快適に利用できる環境づくりをイメージして判断していっています。

移住してきた…という皆さんのうち、多くは一時的避難だった可能性が高く、アクティブユーザー(オンライン)は200人前後をウロウロしています。それでも入れかわり立ち替わりですから、実際のアクティブは700人程度でしょうか。最大手のMisskey.ioでも27万人以上のユーザーがいる中で1万から2万程度のオンライン数ですので、そんなに悪い状態では無いと思います。

MisskeyにはMisskeyの良さがある

私は分散型SNSのメリットとして「自分の居心地の良い場所を選べる」という点があると思っています。自分に合うサーバーを探し、その場に居続けることができるのはとても良いと思います。その中でいかすきーが良い場所だなと思ってもらえて、居続けてもらえる場所になるならそれが良いなと思っていたりします。

いろんなことが噛み合えばたのしいSNSライフを送れると思います。現在3500人のいかすきーユーザーの仲間になってみようかなと思った方が居たら是非覗いてみてください。共通の趣味の人たちで集まるのは、面白いですよ。

この記事を書いた人

ささぴよ

TechAcademy公認エバンジェリスト
株式会社シノビアシ 取締役副社長 兼 CTO

中学時代に買ってもらったPerforma 550以降ずっとアップル製品漬けの人生。iPhoneは日本上陸時から愛用し続けている。
「誰かが作っているなら、自分でも作れるはず!」という安易な発想からHP制作などを始め、ネットの世界から情報を集めてひたすらいろんなことをやってみるようになった。

TechAcademyでは、Webデザイン / WordPress / UI/UX / Node.js / OSS活動 / デザイン実践ポートフォリオ / フリーランスサポートのコース を担当するメンター。

よく歌って踊っている。