オンライン中のユーザーを表示するプラグインの利点は?

こんにちは、

私はこのプラグインを、活動が少ないフォーラムで2年間使用しています。
現在オンラインにいる人がいることを見ることで、訪問者が登録して投稿する動機づけになると考えています。なぜなら、今ここに返信を読んでくれる人がいると分かれば(願わくば)、安心感があるからです。

私のケースでは、訪問者と登録者の両方にオンラインユーザーのリストを表示するのが最善だと考えています。活動が少ない場合、自分と同時にオンラインにいる人がいることは安心感を与えます。また、他の人がいるときはその場に留まりたくなるものですし、(目に見える)誰もいない場合は、ユーザーがウィンドウを閉じやすくなるだろうと思います。

これについてどうお考えですか?もちろん、コミュニティによって状況は異なるでしょうね…

私はこのプラグインを、はるかに活発な新しいフォーラムにもインストールしました。共同管理者から、訪問者に対してこのプラグインを無効にできないかと尋ねられました。理論上、これを無効にすることで新規登録や参加に悪影響があるのではないかと疑問に思っています。

これについてのご意見をお聞かせください。

「いいね!」 5

ユーザーに何かを表示するならば、サイトが活発に動いているという印象を持ってもらうべきだと思います。

例えば、複数のユーザー(異なるマシンからなど)が常時オンラインにいるようにすれば、サイトが寂しいという感覚を防げるでしょう。

サイトの内容にもよりますが、参加者が活発な動きや多くのオンラインユーザーを確認できれば、それは良いことです。

昔のフォーラムに行くと、よく「参加者1人、ゲスト2人」という状況を目にします。これはフォーラムがすでに死んでいることを即座に示す例です。

「いいね!」 4

私の新しいフォーラムでは、通常5〜10人のユーザーが同時にオンラインになっています。

このフォーラムは約2ヶ月間停止した後、9月25日にようやくインポートされたフォーラムをオープンしました。それ以降の活動状況は以下の通りです:

「いいね!」 3

@Stranik 偽のユーザーをオンライン表示することはできますか?

「いいね!」 1

「Who’s Online」プラグインを数ヶ月間運用しました。徹底したテストの結果、このプラグインがいくつかのパフォーマンス問題の根本原因であると判明しました。これらのパフォーマンス問題はすべて、プラグインを無効にした後に消失しました。その一部については、こちらに記録しています:

参考になれば幸いです。

「いいね!」 10

Maker Forums は大規模なユーザーベースを持っていますが、「誰がオンラインか」のアバター表示が縮小されるほど、同時にオンラインにいるユーザーはめったにいません。我们发现「Who’s Online」プラグインがパフォーマンスの低下を引き起こしており、オンラインユーザーが数人しかいない場合でも、リクエストがタイムアウトするほどでした。私たちはオフラインページ付きの外部 nginx 設定を使用しており、メンテナンスが実際に行われていないにもかかわらず、これらのタイムアウトされたリクエストの結果として、定期的にメンテナンスページが表示されていました。

デジタルオーシャンのスペースから移行した後、画像はローカルで提供されていますが、これにより Unicorn ワーカー間の競合が生じています。ただし、2 CPU 4GB の VM ですべてを実行しており、データベースも比較的大きい(約 40 万件の投稿、6GB のデータベース)ため、1 ワーカーあたり 500MB の Unicorn を大量に追加する余地はありません。もし画像にオブジェクトストレージを使用していた場合、Unicorn ワーカーの競合が減少するため、全体的な影響は小さくなった可能性があります。しかし、現在でもオンラインユーザーが 2 人しかいない状態でこの影響が見られたことを考えると、多少の改善があっても依然として無視できない規模だったでしょう。

更新:レート制限の flood ゾーンを 12r/s から 36r/s に、burst を 12 から 36 に変更したところ、「Who’s Online」の影響が少なくとも軽減されました。現在、この設定をテスト中です。

さらに更新:flood レートを 3 倍に引き上げた結果、現在まで問題の報告はありません。

私は 外部 nginx を使用しており、レート制限を外部 nginx に適用し、レート制限付きテンプレートを起点として使用しました が、現在は内部 nginx でレート制限を使用しています。外部 nginx はどのルートが静的であるかを認識できないため、静的ルートだけでなく動的ルートにもレート制限を適用してしまい、これにより静的アセットの読み込み時に多くの失敗や再試行が発生したためです。なお、これは外部 nginx を実行する理由の一つでもあります。そうでなければ、すべての IPv6 トラフィックが Docker の IP アドレスに帰属し、1 つの IP アドレスとしてレート制限されてしまうと考えられます。

「いいね!」 4

@neounix、もし希望であれば、外部の nginx との組み合わせではなく、より高いレート制限を適用することで、「オンラインユーザー」機能を再度有効にできる可能性が高いと思います。以前は(少なくとも私にとって)サイト応答が苛立たしく遅かったのですが、レート制限を引き上げただけで、パフォーマンスの違いに気づかないほど改善しました(CDN 未有効のサーバーから 70ms の ping 距離で、フルペイントまで 500ms 未満)。

「いいね!」 2

たしかに…ですが、現時点ではそのプラグインへの関心を失っています。ユーザーが「それがないと困る」という声を一人も聞いていませんし、他の Web 開発タスクに忙殺されている現状を考えると、サイトを調整するほどの価値はないと考えています。

とはいえ、私たちのことを考えてくださりありがとうございます。

「いいね!」 6

私の理論が証明されました!:raising_hands:

「いいね!」 11