2013-12-23 71 views
0

我正在使用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服務器如何更好性能?ejabberd 13.10服務器在性能方面比ejabberd以前的版本更好嗎?

+0

最新的'ejabberd'發佈是[13.12](http://lists.jabber.ru/pipermail/ejabberd/2013-December/008223.html)。雖然它的發行說明沒有提到性能改進。 – kostix

回答

3

13.10更好的是簡單的事實2.1.x分支是officially deprecated and abandoned

這意味着兩件簡單的事情:

  • 在2.1.x版本沒有新的版本將被釋放。
  • 在2.1.13中發現的錯誤可能無法修復。

此外,我會建議不剖析而是測量現實生活中的表現使用合適的工具,如tsung。分析兩個不同代碼庫的問題是,您正在比較蘋果和橙子。內存消耗等事件(由於從字符串切換到二進制文件,聲明在13.x中大大減少)當您打算承載數千個併發連接時,在真實場景中計數。還要注意像ejabbed這樣的程序確實傾向於是內存和I/O綁定,而不是CPU綁定(後者通常表明您已經設法觸發程序或運行時中的錯誤),因此僅僅分析可能不是指示性的,只能對分段或生產服務器進行壓力測試。

+0

感謝您的回覆kostix。 –

+0

我可以使用tsung檢查負載平衡。但是,如何查看ejabberd -13.10和ejabberd-2.1.13所消耗的內存。 –

+0

@BABUK,通過在目標服務器上運行任何您感覺適合的監控工具。這可能就像'$ watch -n 5 grep -F VmRSS/proc/$(pgrep beam)/ status'一樣簡單 – kostix

0

與ejabberd 13.x開始,幾個的優化已經完成:

  • 優化的內存消耗。
  • 優化一些重要模塊的性能,如pubsub。
  • 更好的多用戶聊天性能和更低的延遲。
  • 組播路由優化。

就性能而言,ejabberd 15.07例如對所有參數的效率是2到3倍:內存,延遲,CPU。