将结果整理如图:
[if !vml]
[endif]
(epgm后面四个时间因为过大,没有放进图中)
通过对比,我们可以看出:
[if !supportLists]1. [endif]四种方式的传输时间都随pub端发送消息的空间大小的增加而增加,在消息超过512kb之后,传输时间的增加速度变大,且tcp和ipc这两种方式最为明显。
[if !supportLists]2. [endif]三种通信方式中,inproc 的速度远小于其他两种,特别是随着消息字节数增加,其性能优势愈发明显。
[if !supportLists]3. [endif]比较tcp ,ipc和epgm ,可以看出在字节数小于65536的大多数情况下,三者差距不大。
[if !supportLists]4. [endif]综合来看,inproc 的通信性能在当前情景下最有优势。
结果分析
对于以上的测试结果中inproc通信性能优势,通过参考http://api.zeromq.org/4-2:zmq-inprocd说明,可知zmq inproc是在单个进程中的不同线程之间传输。也就是说,不同的线程之间共享使用同一个ZMQ 环境上下文,如下,将新创建的上下文传递给子线程。
[if !vml]
[endif]
已知zmq 通信用于node 和node之间,可以是主机或者是进程。结合以上inproc的特点,可以表明