新しいものを表示

そういえば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
初期状態だとスレッド数分接続数必要なので鯖たくさんだとつらい

pgbouncerで凌ぐというかpgbouncer無しだと休んでるコネクションが勿体ない

はいってなかったか(Mastodonの場合プールがトランザクション単位なのでけっこう効く)

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

DB接続数 (たぶんpgbouncer入りで)オーバーするって あーまあそうかー

古いものを表示
GGTea - Mastodon

Mastodonは、オープンなウェブプロトコルを採用した、自由でオープンソースなソーシャルネットワークです。電子メールのような分散型の仕組みを採っています。