もっと見る

ちょっとGWのなん実の三昧準備をしていたのですけど、ついったさんの StreamingAPI タグ検索のやつはまだ動くんですね…。びっくり。
ggtea.org/sio/streamAnizanv.ht

Mastodonの方でなんかうまいことヘッダを出力して内容が変わらないファイルはめっちゃキャッシュしてくれたりするように最近はなっているはずなので<proxy_cache

proxy_cache とかちゃんと設定しないとなーって思ってる…。S3のファイルも…

そういえばMastodonのセットアップの最適化けっこう更新されているよね って見に行ったら いつのまにか nginx の設定はリポジトリにあるファイルをコピーして置けになってた…。 github.com/tootsuite/mastodon/

神楽坂しえる さんがブースト

サーバー建てるとマジいろんなサーバーからサバ缶フォローが飛んできて『これが……相互互助……』ってなってる

通常だとリクエストが来た時にプールからコネクション取得して、処理が終わったら開放してる。ただ途中で外部通信とかが発生すると無駄に占有する感じで、
そこからpgbouncer入れると占有開放がトランザクション単位になってさらにプロセス/サーバ間共有になる。

Rails 別にプールされてない訳ではないと思う(スレッドとプロセスが多すぎてその間でコネクションが共有出来無くて無駄が発生している)

神楽坂しえる さんがブースト

DBコネクションプール、Appフレームワーク側が管理するものだと思ってたけどそうじゃないやつもあるのを知った

素朴な疑問ですけどフレニコ今までpgbouncer入ってなかったのです? or 1から新規構築でやりなおし?

node1プロセスで間に合わなくなったらどうしよう感あるけどそこまではそうそう到達しないから良いのか

nodeは強いね(でもあれシングルスレッドだよね(シングルスレッドで大量に処理出来るから問題ないではある))

神楽坂しえる さんがブースト

Nodeはもう並列処理のための言語だわさ

神楽坂しえる さんがブースト

MastodonとかRubyあたりは並列処理にプロセスやスレッドを増やす必要があって、その増やしたスレッド間がDB接続をプール出来ないので、クエリしてなくても接続が埋まってしまうみたいなことだと思ってるわ

圧倒的せやな感(Sidekiqがめっちゃプロセス分かれるしpumaも建てまくるとプロセスがたくさん…)
単純に言って別のサーバとか別のプロセス間でコネクション共有は出来無いので…

神楽坂しえる さんがブースト

コネクションプーリングを別途導入しなければいけない、言語とかフレームワークが行けない気がするわ

Sidekiqを建てまくるとかすると接続数がね…(なのでpgbouncerが)

DBのメモリが足りないとか(Postgresは同時接続数分プロセスが立つのでその分メモリが食われるので上限が厳しい)でなければ特に気にする必要はない<pgbouncer
DBのメモリと接続数が足りないなら即入れる(例 Mem1GBのfnya鯖とか)

コネクションプールというか再利用というか…<pgbouncer
初期状態だとスレッド数分接続数必要なので鯖たくさんだとつらい

もっと見る
GGTea - Mastodon

ggtea.orgの人のほぼ個人用インスタンスです

サービスの継続性その他は管理人が管理出来る範囲で処理されます(IPv4は動的です)

このサーバは頻繁にmasterへ更新されたり、PullRequestのチェックに使用される場合があります。

IPv4/IPv6のDual-Stack対応インスタンスです。

Stagingサーバとして mdx.ggtea.org があります。