PHP XMPP 机器人性能

Posted

技术标签:

【中文标题】PHP XMPP 机器人性能【英文标题】:PHP XMPP bot performance 【发布时间】:2010-12-16 12:49:23 【问题描述】:

大家好。我需要编写 xmpp bot,它将每小时接收和发送大约 2000 条消息(24/7 工作时间)并使用 MongoDB(选择、更新查询)。在php上写它是个坏主意吗?如果我使用 php 5.3,性能如何?

【问题讨论】:

充实你最初的问题——你想达到什么目的?为什么使用 PHP?是因为你已经知道 php 了吗?您是要自己编写整个 XMPP 实现还是要编写一个“现成的”?为什么不在 Java、C# 或 C++ 中使用 xmpp 实现? 你是对的。我更喜欢 PHP,因为我只知道 PHP。我将使用现有的 XMPP 库之一。 如果你懂 javascript,那么我会选择 node.js。 【参考方案1】:

即使您的 xmpp 机器人 24x7 运行,我也不认为每小时 2000 条消息会成为问题。我有 xmpp 机器人运行数周的经验,在运行期间没有任何内存泄漏和数百万次数据库写入。当然,您的数据库写入策略(即时或聚合写入)将对基于 php 的 xmpp 机器人使用的内存量产生影响。

【讨论】:

【参考方案2】:

在几乎所有涉及数据库的情况下,数据库开销都将支配脚本执行时间。 每 1.8 秒 1 个请求,使用 PHP 就可以了。

【讨论】:

以上是关于PHP XMPP 机器人性能的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Openfire 和 XMPP 在 Android 中制作聊天机器人应用程序

使用 Google AppEngine XMPP 库查询客户端的时区

XMPP、openfire 和 bot 问题

如何在本地机器上测试 xmpp/jabber?

GCM XMPP 交付回执发送其他机器,GCM 收到其确认后关闭连接

有没有办法实现 XMPP 客户端或接收到的消息,可以接收来自 XMPP 服务器的所有消息?