ActiveMQ 推薦使用ObjectMessage方式而不用TextMessage傳輸json串


我接觸json是在07年的時候,這些年隨着rest等概念的流行,json越發的紅火起來,眼瞅着有一統天下的架勢了。

這些年對json的使用,我越發疑惑一個事情:當server之間異步交互時,有必要用json嗎?

正好手里有個項目要用ActiveMQ,做了下測試。

為了體現差距,專門做了個很大的class,使用json轉換后大概35MB左右

使用json傳輸的情況,單位均為ms:

總時間:17366  

傳輸時間:220

發送者把object轉為json的時間:6271

發送總共時間:10000

接收者把message轉換為textMessage時間:0

接收者把json轉換為object時間:7146。

****************************************

使用ObjectMessage進行傳輸的情況:

總時間:6742

傳輸時間:173

發送總時間:4836

接收者把message轉換為ObjectMessage時間:1733

******************************************

結論

  雖然沒做壓力測試,雖然只測了一次,雖然測試環境僅僅是我的筆記本,但我想我已經可以做出結論了。

  在server之間的異步通信時,object優於json。

  優勢主要集中於java序列化和對象之間轉換的效率遠高於json盒對象轉換的效率,另外序列化后對象的大小比json的小也是有利傳輸的原因。

 

對了,json轉換用的是jsonlib,很久沒關心json的性能了,不知有沒有更高效的轉換工具。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM