在性能方面,ejabberd 13.10服务器如何比ejabber以前的版本更好



我正在使用ejabberd-2.11.3作为android应用程序的服务器进行android应用程序开发。我听说ejaberd-13.10的性能比以前的版本更好。所以我在我的ubuntu机器上安装了ejabberd-131.10。为了确保ejaberd-13.10的性能,我使用fprof工具对不同的ejaberd服务器(ejaberd-2.1.13&ejaberd.13.10)进行了性能测试,如下链接所述。(http://carbonshaft.blogspot.in/2011/11/erlang-using-fprof-profiler-to-drive.html)。但我发现最新的ejabberd-13.10服务器的性能比ejabberd-2.11.3慢。你能告诉我ejabberd-13.10服务器的性能如何更好吗?

13.10更好的一个简单事实是2.1.x分支被正式弃用。

这意味着两件简单的事情:

  • 不会发布2.1.x中的任何新版本
  • 2.1.13中发现的错误可能无法修复

此外,我建议不要分析,而是使用合适的工具(如tsung)测量真实生活中的性能。分析两个不同代码库的问题是,您将苹果比作桔子。当您打算托管数千个并发连接时,内存消耗(由于从字符串切换到二进制文件,在13.x中被宣布大大减少)在现实场景中确实很重要。还要注意的是,像ejabbed这样的程序确实倾向于内存和I/O绑定,而不是CPU绑定(后者通常表示您已经成功触发了程序或运行时中的错误),因此仅仅进行评测可能并不意味着什么,只有对暂存或生产服务器进行压力测试才是。

从ejabberd13.x开始,已经进行了几个优化:

  • 内存消耗的优化
  • 优化一些重要模块的性能,如pubsub
  • 更好的多用户聊天性能和更低的延迟
  • 多播路由优化

就性能而言,例如ejabberd 15.07在所有参数上的效率提高了2到3倍:内存、延迟、CPU。

最新更新