我正在使用ejabberd-2.1.13作为我的Android应用程序的服务器进行android应用程序开发。我听说ejabberd-13.10在性能上比以前的版本更好。所以我在我的ubuntu机器上安装了ejabberd-13.10。为了确保ejabberd-13.10的性能,我对不同的ejabberd服务器进行了性能测试(ejabberd-2.1.13& ejabberd -13.10)使用fprof工具,如下面的链接所述。(http://carbonshaft.blogspot.in/2011/11/erlang-using-fprof-profiler-to-drive.html)。但我得到最新的ejabberd服务器(ejabberd-13.10)显示性能比ejabberd-2.1.13慢。请问你如何建议ejabberd- 13.10服务器性能更好?
答案 0 :(得分:3)
13.10更好的简单事实2.1.x分支是officially deprecated and abandoned。
这意味着两件简单的事情:
此外,我建议不要分析,而是使用合适的工具(例如tsung
来衡量真实性能)。分析两个不同代码库的问题在于您将苹果与橙子进行比较。当您打算承载数千个并发连接时,内存消耗(由于从字符串切换到二进制文件而在13.x中声明会大大减少)做计算在实际场景中。还要注意像ejabbed
这样的程序确实倾向于内存和I / O绑定,而不是CPU限制(后者通常表明你已设法触发程序或运行时中的错误)所以仅仅是分析可能不是指示性的,只是对分段或生产服务器进行压力测试。
答案 1 :(得分:0)
从ejabberd 13.x开始,已经进行了几次优化:
就性能而言,例如ejabberd 15.07对所有参数的效率提高2到3倍:内存,延迟,CPU。