1

選択した JID にメッセージを送信するために使用する「スーパーユーザー」アカウントが 1 つあります。メッセージを送信したいユーザーを選択し、ユーザー JID の膨大な配列 (この時点で 20k) を取得したとしましょう。バックグラウンドで実行されているデーモンが各ユーザーに一度に 1 つのメッセージを送信し、2000 のメッセージを送信した後 1 分間停止します (2500/分の制限)。メッセージの送信を処理するクライアントとして xmpp4r を使用しています。すべてのユーザーは同じ @xmpp.address を持っています。<body>どのメッセージでも同じです。

私たちの tigase ログ (これを使用しているため) は、メッセージが実際に jabber サーバーに到達し、一度に 1 つずつ適切なユーザーに送信されたことを示しています。

私たちが経験している問題は、すべて問題ないように見えたにもかかわらず、実際にメッセージを受け取ったのは一部のユーザーだけだったということです。(たとえば、ある時点で、最初に 100 件のメッセージが送信されたことを考慮すると、1..20 と 91..100 が配信され、中間の 70 はまったく配信されませんでした)、その間にいくつかの点を改善しましたが、これはまだ可能性があります手掛かり。

10000 の複製された JIDS の配列を作成しようとしました (2 人のユーザーの jid が何千回も複製されました)、すべてのメッセージが (そして正しい順序で) 配信されました。

私たちはすでに数日間さまざまなシナリオを試してきましたが、何がうまくいかないのかについてのアイデアが不足し始めています。

私たちが見逃したかもしれないものについて何か考えがありますか?

4

1 に答える 1

0

私はTigaseチームのメンバーです。まず、オンライン フォーラムを使用することをお勧めします。オンライン フォーラムは通常、質問に回答する場所です。ここに投稿された質問が表示されない場合があります。

ともかく...

投稿に含まれていない詳細がいくつかあります。

  1. 何をどのように接続しますか?標準の XMPP 接続経由、Bosh 経由、その他の何か?
  2. 「重複した JID」とはどういう意味ですか? JID をどのように複製しましたか?
  3. テスト中にメッセージが送信されるすべてのユーザーはオンラインですか?
  4. Tigase のログにメッセージが表示される場合は、そのメッセージがどうなったかも確認できます。クライアントに配信するためにネットワークソケットに送信されましたか?
  5. どのようなHWを使用しましたか?サーバーが過負荷になり、いくつかのメッセージがドロップされた可能性はありますか? 100 件のメッセージについて話し、そのうち 70 件が配信されなかったとしたら、ありそうにありません。
  6. メッセージが配信されなかったことを実際にどのように知ることができ、その時点でクライアント/ユーザーが接続されていたことを確認できますか?
于 2014-07-11T21:02:49.090 に答える