4線程發送、4線程接收處理,發送和接收分別在不同的機器上,局域網內10/100M網絡,集群異步緩存***享模式下保存400,000個map***享數據。
Hazelcast:用時20秒,TPS:20,000
Ehcache:用時8秒,TPS:50,000
結果明顯是ehcache要快壹些。
兩者緩存***享的機制:
hazelcast是通過建立獨立的TCP通道,將數據通過Binary的方式進行緩存的復制。ehcache是通過建立RMI***享通道(其實底層也是TCPSocket)處理緩存數據的復制。Hazelcast支持多種緩存***享模型,支持的功能更多。ehcache相對來說功能單壹點,更加輕量級。
為什麽ehcache更快?
通過查看源碼,發現ehcache發送數據的時候會根據壹定時間內隊列中的數據量來進行傳輸,並發大的情況下壹次性傳輸的數據包size更大,而Hazelcast是壹個壹個包的發送,增加了發送的頻率,這樣並發大的時候效率會受到壹定的影響,但是更加靈活。就像我們拷貝文件,如果是拷貝壓縮文件明顯比拷貝壹個文件夾(文件夾要叠代壹個壹個的拷貝)要快。所以ehcache並發大的情況下效率更高壹些