2014-07-11 21 views
1

我们有一个'超级用户'帐户,用于向选定的JID发送消息。比方说,我们选择了我们想要发送消息的人,并且我们为自己提供了大量的用户JID(此时为20k)。我们有一个deamon在后台运行,每次发送一条消息给每个用户,发送2000条消息(2500 /分钟限制)后停止一分钟。我们使用xmpp4r作为处理发送消息的客户端。每个用户都有相同的@ xmpp.address。 <body>在每条消息中都是相同的。XMPP,向成千上万的jabberID发送一条消息 - jabber最终只发送给选定的JID组中的一个随机部分

我们的tigase日志(因为这就是我们正在使用的),表明这些消息实际上已经打到了jabber服务器,并一次一个发送给适当的用户。

我们正在经历的问题是,尽管一切看起来都很好,但只有一部分用户确实收到了这条消息。 (例如,在某一点上,考虑到100个第一个发送的消息--1..20和91..100交付,中间70根本没有交付),我们在此期间改进了几件事情,但这仍然可能是线索。

我们尝试创建一个10000重复的JIDS(几​​个用户的jids被重复数千次)的数组,并且每个消息都被传递(并以正确的顺序)。

我们已经花了几天时间尝试不同的场景,并开始用尽可能出错的想法。

知道我们可能错过了什么吗?

回答

0

我是Tigase团队。首先,我建议使用我们的在线论坛,因为这是我们通常回答问题的地方。我们可能看不到发布在这里的问题。

无论如何...

有一些细节不包括在您的文章。

  1. 你连接什么,怎么连接?通过标准的XMPP连接,通过波什,别的东西?
  2. “重复的JID”是什么意思?你是如何复制JID的?
  3. 在测试过程中是否有所有用户在线发送消息?
  4. 如果您可以在Tigase日志中看到消息,则还应该看看会发生什么。是否提交给网络套接字以传递给客户端?
  5. 你使用了什么样的硬件?有没有可能服务器超负荷,并简单地丢弃一些消息?似乎不太可能,如果你谈论100条消息,其中70条没有交付。
  6. 您如何确实知道邮件未送达,您确定客户端/用户当时已连接?