senooken JP Social
  • FAQ
  • Login
senooken JP Socialはsenookenの専用分散SNSです。
  • Public

    • Public
    • Network
    • Groups
    • Popular
    • People

Conversation

Notices

  1. sakasame@twiddon.com's status on Sunday, 28-Mar-2021 14:10:34 JST sakasame sakasame
    • のえる

    @noellabo のえるさん、ちょっとSidekiqのことでお聞きしたいことがあるんですが。。ダッシュボード画面に出てくる「メモリ使用量」というのは、このサーバーに割り当てられている最大メモリー容量という認識で合ってるんでしょうか?(登録人数が増えるに従って可変で上限が増えているのでよく分からなくて)

    In conversation Sunday, 28-Mar-2021 14:10:34 JST from twiddon.com permalink
    • のえる (noellabo@fedibird.com)'s status on Sunday, 28-Mar-2021 14:10:34 JST のえる のえる
      in reply to

      @sakasame これかな。たぶんredisの使っているメモリー使用量だね。

      Sidekiqは、キューを保持するためのデータベースとして(Mastodonでは)Redisを使っている。

      Redisはメモリ上にデータベースを置くので、それがどのぐらいメモリを使っているかを表示してるんじゃないかな。

      添付した画像は、すっごく人の少ない私の管理下の某サーバと、Fedibird。どっちがどっちかは説明いらないねw

      Fedibirdの場合、MastodonのRuby on Railsがキャッシュに使うRedisデータベースを別に分けているので、たぶんそれは含まれてないと思う。単純にセットアップしたシンプルな構成の場合はひょっとしたら含まれちゃうかも。sidekiq分だけをわけて集計は……どうかな……(ソースコード確認するのサボってます)。Hostdonはどうだろうね。聞いてみないとわからないけど。

      ちなみに、Sidekiq自体が使用するメモリとは別ね。あくまで、キュー管理のためのRedisのメモリ使用量。

      In conversation Sunday, 28-Mar-2021 14:10:34 JST permalink
    • のえる (noellabo@fedibird.com)'s status on Sunday, 28-Mar-2021 14:13:44 JST のえる のえる
      in reply to

      @sakasame ちなみにこっちが、Sidekiq全体で使ってるメモリ使用量だと思う。これは、最新のSidekiqの表示で、v3.3.0のHostodonでは表示されない項目だと思う。(アプデが楽しみになるね)

      RSS(Resident set size)っていうのがメモリ使用量。6GBぐらいかな。15プロセスがサーバ3台に分散しているので、一つのサーバあたり2GBぐらいだよ。

      In conversation Sunday, 28-Mar-2021 14:13:44 JST permalink
    • sakasame@twiddon.com's status on Sunday, 28-Mar-2021 14:35:58 JST sakasame sakasame
      in reply to
      • のえる

      @noellabo なるほど…。

      キューを保持するためのデータベースにRedisを使い、そのRedisで保持されたキューの中から、Sidekiqがスケジューラとしてそれぞれのキューをあれやこれやと優先度をつけ振り分けている…、そしてSidekiqはそのRedisから引っ張ってきているので、いまRedisがメモリ上にこれくらい使ってるよ~という状態を表示してくれている…だけどSidekiq自身のメモリ使用量は現在のv3.3.0のHostdonのバージョンでは表示されていないと。…という理解で大丈夫でしょうか?

      そして気になったのですが、Fedibirdでも接続(これは連合されているサーバーという認識でいいんでしょうか?)が476というのが…うちは現状接続が1300を越えているので(この数字も多少可変するのでよく分かっていないのですが)

      In conversation Sunday, 28-Mar-2021 14:35:58 JST permalink
    • のえる (noellabo@fedibird.com)'s status on Sunday, 28-Mar-2021 14:35:58 JST のえる のえる
      in reply to

      @sakasame 接続は文字通りredisへのconnection数だと思うんで、連合しているサーバの数はあんまり関係ないです。……なんで1,300もいくんだろうw

      これは想像の範囲ですが、HostdonはRedisを複数のサーバで共有していて、この接続はその合算値かもしれませんね。

      Redisへは、Web、Sidekiq、Streamingのプロセスが接続しにいきます。スレッドが多いと、その分だけ増えたりするかと思います。

      (コネクションプーリングといって、接続数がやたらに増えたり、接続と切断を繰り返したりして非効率にならないように、一定数の接続を確保しておいて使い回す技術があり、一つのプロセスの中では一定以上増えないようになっていたりはします)

      In conversation Sunday, 28-Mar-2021 14:35:58 JST permalink
    • sakasame@twiddon.com's status on Sunday, 28-Mar-2021 14:50:20 JST sakasame sakasame
      in reply to
      • のえる

      @noellabo なるほど。。ホスティング側の仕様である可能性の方が大きいんですね…。実際にうちが連合しているサーバーの数は管理画面の既知のサーバーの合算がほぼ一致すると考えていいんでしょうか?

      WebとStreamingのプロセスもRedisに接続していたんですね。基本的に積みあがっていく一方のPostgreSQLと比べるとdbとしてはかなり動的?なものなんでしょうか。

      In conversation Sunday, 28-Mar-2021 14:50:20 JST permalink
    • のえる (noellabo@fedibird.com)'s status on Sunday, 28-Mar-2021 14:50:20 JST のえる のえる
      in reply to

      @sakasame Redisには、いつ吹っ飛んでもいいようなデータしか置かないので、動的ですね。ただし、上限いっぱいまで保持するデータがあるので、ある程度は、利用ユーザー数や総フォロー数に比例すると思います。

      たとえば、Redisにはユーザーのホームやリストの保持という役割がありまして、status_idのリストをデフォルトで各400件保持しています。ユーザー数に比例するやつです。ただし、しばらくアクセスしていないユーザーのホームは捨てちゃうようになっていて、無駄を省いています。

      吹っ飛んだらタイムラインに何も表示されなくなっちゃいますが、そのうち復活しますし、ホームについてはtootctlコマンドに再構築コマンドがあります。

      連合しているサーバの数は、APIで取ってくるのが良いです。https://twiddon.com/api/v1/instance

      ドメインの一覧をとるときはこっち。長いので注意。https://twiddon.com/api/v1/instance/peers

      In conversation Sunday, 28-Mar-2021 14:50:20 JST permalink
    • sakasame@twiddon.com's status on Sunday, 28-Mar-2021 15:03:35 JST sakasame sakasame
      in reply to
      • のえる

      @noellabo リストの保持もRedisでやっていたんですか、それはなんか驚きです。

      >しばらくアクセスしていないユーザーのホームは捨てちゃうたまにしかログインしないサーバーにいくと少しの間HTLは準備中です…となるのは捨ててるものを(捨てられたものはPostgreSQLから…?)呼び戻してるからなんでしょうか。

      これjsonで書かれて…ますよね?(不安) keyがstatsの{"user_count":56,"status_count":45449,"domain_count":2150}のvalueにあるdomain_count2150が連合しているサーバーの数ということで合ってるでしょうか。status_countは総トゥート数ですか?

      (質問ばかりですいません)

      In conversation Sunday, 28-Mar-2021 15:03:35 JST permalink
    • のえる (noellabo@fedibird.com)'s status on Sunday, 28-Mar-2021 15:03:35 JST のえる のえる
      in reply to

      @sakasame そうそう。

      だいたいどこのサーバでも叩けばとれるから、いろいろ見てみるといいよ。

      これはFedibirdとmastodon.social。

      In conversation Sunday, 28-Mar-2021 15:03:35 JST permalink

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

senooken JP Social is a social network, courtesy of senooken. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All senooken JP Social content and data are available under the Creative Commons Attribution 3.0 license.