新しいものを表示

@Clworld rablのレンダリング結果キャッシュされてるかもと思ったけどキャッシュされてないですね

スレッドを表示

Mastodonのjsonテンプレートのrablはたぶんある程度の速度では動くと思うんだけどerb的なテンプレートでincludeとかしてるのでSidekiq内でどばどばレンダリングしていいものかというと不安

がんばれそこがなんか純Ruby処理的に一番やばそうな所だぞ<json <Boost

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

@mattn @harukasan 共有ありがとうございます。Railsアプリのジョブを改善して十分パフォーマンスが出るならメンテナンスを考えるとそのほうが良いと思います。
今朝JSONにするところのコードを見てたんですけどGoに移植するのは正直かなり面倒くさそうです。あと一旦移植してもRails版のコードがどんどん変わっていくと追随するのも大変だと思いますし。

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

#マストドン 創始者オイゲン(@Gargron)の支援者向け報告記事。Pawooさんがクールな機能向上に貢献してくれていることが綴られている。
▼The rise and rise of #Mastodon
medium.com/@Gargron/april-post

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

余白タップで会話ビューを開くのは0.1.4でなくしました。他の全てのボタンと押し間違えてた。専用のボタンがあるので今後はそっちを使ってください

@Clworld Workerで軽率にAccount.findとかStatus.findしてる箇所全部Rails.cache.fetchで囲むべきでは。
あとnodeでステータス来る度にブロック/ミュート確認してるところも同罪。😐

スレッドを表示

Railsの特長としてテンプレートからDBうっかり呼び出して負荷がやばい があります😐

@Clworld アカウント毎にjsonをレンダリングする必要あったよ…FavしてるかとBoostしてるかがアカウント毎に違うよ…😇

スレッドを表示

@Clworld PushUpdateWorkerでローカルのアカウント毎+自分+Hashtag+pubilc回数分jsonのレンダリングをしている気がするのだけどアカウント毎にレンダリングする必要あるの…???

スレッドを表示

@Clworld Sidekiqを経由する度にDBにアカウントのデータを取りに行き直している…!?

スレッドを表示

Sidekiq N+1 Sidekiqを挟んだそのあとに何してるかといったら
Redisにデータを書きに行ってる
ので何がしたいのだと言われても仕方ない感ある。

ふと思ったんですけど、MastodonのSidekiqで使われてるRedis.currentの接続数って一本ですね?connection_poolとか噛ませてる感じしませんし。
スレッドじゃなくてプロセス数増やさないと早くならないのこのせいでは。

Sidekiq N+1 

これってローカル配送の問題ですよね リモートは何人いてもサーバごとに一回ですしと感じたのでソース見なきゃってなってる(寝なきゃ)
ローカル配送ってRedisだけどRedis負荷高いんだろうかとか、最終的にRedisに一括でpipelineしたりluaスクリプト投げ始めそうとか、
タイムライン400件以上消してるけど毎回越えた分消すよりまとめて消した方がいいんじゃないかなとか。
寝ねば。

Sidekiq N+1問題 / “engineers/mastodon/Mastodonを3倍早くしたい話 - esa-pages.io” htn.to/9yRK2nPJxKB

出資者へのボーナスなのでopenなMastodonインスタンスだとあまり意味がなくなるは分かるけどMastodonじゃなくていいの感はある。

ふと気になってstatusesテーブルの定義見たら既にbigint(64bit)だった…

古いものを表示
GGTea - Mastodon

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