どうも.
何日目かわからないけどアドカレのdayほげほげです.
「土日に書き溜めしたいね」なんて言ってない.絶対に.
話としては昨日の続きです.
昨日のやつ→ ラズピゼロにマストドンを入れてみたテスト | nesotech
TL;DR
summaryとしては,「おひとりインスタンスだし,ゼロピッピだしデフォだと絶対死ぬな...という感じがしたのでserviceをチョイといじってみた」という話です.
本文
これは立ててから1時間くらいしたあとの様子^1
たしか,何個かのインスタンスの購読が始まった直後とかでsidekiqがちょいちょい詰まってた頃だったと思う.
んで前回conoha丼(= don.neso.tech)を立てるときに見たQiitaの記事でプロセス数とかいじっていい感じにチューニングする方法のやつがあったことを思い出す.
👇👇👇👇👇
小規模インスタンス向け チューニングガイド - Qiita
https://qiita.com/motiakoron/items/b81a8f956ae4ea62ce11
👆👆👆👆👆
これを見ながら,/etc/systemd/system/にあるmastodon-web.seviceとmastodon-sidekiq.seviceをちょこっといじった.
ただしQiita記事内でリンクされているdocumentation/Running-Mastodon/Tuning.mdは少し前にarchivedになったらしく,joinmastodon.orgの方のドキュメン手^ションがも見ながらやった.(多分今後はこっちがメインになるのかな).
ちなみにインストールガイドもギッヨハユからここにリンクされてる. →https://docs.joinmastodon.org/administration/configuration/
まあ設定項目とかの内容については変化がなさそうだったので,今日(2018/12/10)時点ではどちらを参照しても問題なかった.
いじったのはmastodon-web.service内のWEB_CONCURRENCY
とMAX_THREAD
の項目,mastodon-sidekiq.service内のbundle exec sidekiq
.
というか,v2.6.5時点の公式repoから引っ張ってきたweb.serviceにはそもそもこれらの項目項目がなかったので,実際には追記だったけど.
それぞれどういう項目なのかというのがどうにも新しいDocには見当たらず,旧Docを見に行ったら書いてあった.以下の通り.
- WEB_CONCURRENCY controls the number of worker processes
- MAX_THREADS controls the number of threads per process
- bundle exec sidekiq -c 15 -q default -q mailers -q push -q pull
それぞれどういう働きをするかはもちさんがいい感じに説明してくれているので省略.めんどくさくなったわけではない.
これらを WEB_CONCURRENCY=1
,MAX_THREAD=5
,sidekiq -c15
にしてみた.
初期値はCONCURRENCY=2, THREAF=5, sidekiq -c25らしい.
案外もうちょっと減らしてもいいのかもしれないけど当面はこれで様子見.
着地点を見失ったので,生やしてから24時間たった時点のhtopでも貼って終わる.
ちなみにこの時点での接続インスタンス数は43.don.neso.techが947なので1/20くらい.増えたらまた負荷きつくなるのかもしれないけどとりあえずはこれで.