misskey icon indicating copy to clipboard operation
misskey copied to clipboard

TLサンプリング

Open syuilo opened this issue 2 years ago • 26 comments

Summary

ストリーミングの接続ごとに、ある投稿がLTLに流れるかどうかランダムにできるようにする

サンプリング確率は管理者が設定できる

  • LTLが速すぎる場合の負荷低減
  • LTLが速すぎる場合に速すぎて見れなくなる問題への対応

syuilo avatar Mar 08 '23 10:03 syuilo

  • LTLが速すぎる場合の負荷低減
  • LTLが速すぎる場合に速すぎて見れなくなる問題への対応

まず user.showTimelineRenotes があった方が良さそう

acid-chicken avatar Mar 08 '23 12:03 acid-chicken

規模によってはHTLサンプリングも要りそう

syuilo avatar Apr 12 '23 01:04 syuilo

流速は時間帯によって大幅に異なるので、確率を設定できるというよりも最大流速を設定できるようにして、それを上回ったらシステムで自動的に設定した流速になる確率を算出してサンプリングするようにした方が良さそう

syuilo avatar Apr 12 '23 01:04 syuilo

規模によってはHTLサンプリングも要りそう

私のことかな(まもなく6000フォロー)

tamaina avatar Apr 12 '23 01:04 tamaina

NotesPerMinutesを計算するには最低1分は時間がかかるから、それまでの間どうするかという問題がある

syuilo avatar Apr 12 '23 05:04 syuilo

ストリーミング繋いで最初の1分間だけ猛烈に速く流れる or 全く流れない のどちらかにするしかなさそうな感じ

syuilo avatar Apr 12 '23 05:04 syuilo

とはいえ1分経つと流れが変わるというのも不自然だしなあ

syuilo avatar Apr 12 '23 05:04 syuilo

LTLならだれが繋いでも流れるものは基本同じだからストリーミング接続ごとにNPM計算しないでも良いから上記の問題は起きないけど、HTLとかSTLはユーザーごとに異なるからなあ

syuilo avatar Apr 12 '23 05:04 syuilo

NotesPerMinutesじゃなくてNotesPerSecondsを基準にすれば解決するかも

syuilo avatar Apr 12 '23 05:04 syuilo

でもNPS基準にすると流れが猛烈に速いサーバーでない限りあまり有効に動作しなさそう

syuilo avatar Apr 12 '23 05:04 syuilo

数学詳しくないんだけど1分待たずとも(精度は荒くなるものの)NotesPerMinutes計算できそうな気はする

syuilo avatar Apr 12 '23 05:04 syuilo

なんもわからん

syuilo avatar Apr 12 '23 05:04 syuilo

npsを60倍すればnpmになる

tamaina avatar Apr 12 '23 05:04 tamaina

どう計算するかにもよるけど、私の実装した方法(MkClickerGameと同じ方法)だと、1分間にいくつも投稿があったとしてもたまたま計測した範囲に投稿が無いとnpsが0になるからそれを60倍しても0になっちゃう

syuilo avatar Apr 12 '23 05:04 syuilo

(要するにnpsが0.5みたいに少数になることが絶対にない)

syuilo avatar Apr 12 '23 05:04 syuilo

計測の仕方変えるか...

syuilo avatar Apr 12 '23 05:04 syuilo

ストリーミングを開始したときから1→30秒おきぐらいにnps(m)を評価し続けてそのたびに挙動を変えるとか

tamaina avatar Apr 12 '23 05:04 tamaina

ランダムに投稿が選ばれるの自体微妙じゃね感

(できればストリーミングでは投稿をすべて見たいし(なんとか見れるようなUIを作るべきでは)、流行っているNoteを見たいならfeaturedのhome版を作ればいい)

tamaina avatar Apr 12 '23 06:04 tamaina

例えば1秒間に100個くらい投稿が流れてくるとするとどう頑張っても全部見れるUIというのは厳しいし回線負荷がやばそう

syuilo avatar Apr 12 '23 06:04 syuilo

たしかになぁ

tamaina avatar Apr 12 '23 06:04 tamaina

完全にランダムにするかは検討の余地があるけど、なんにせよ間引く必要がある

syuilo avatar Apr 12 '23 06:04 syuilo

どれくらい間引くようにするかは管理者設定にする予定だけどユーザー設定でも良さそう

syuilo avatar Apr 12 '23 06:04 syuilo

ユーザー設定にするか

syuilo avatar Apr 12 '23 06:04 syuilo

こんな感じかしら image

syuilo avatar Apr 12 '23 06:04 syuilo

ロールごとにweightを設定できるようにして、weightが高いロールを持つユーザーを優先して選択するようにすると良さそう

syuilo avatar May 26 '23 00:05 syuilo

やらないといけなくなってきた

syuilo avatar Jul 04 '23 06:07 syuilo