linux下IPC latency 进程间通讯延迟测试结果
详文请见 VLoveIYhttp://ffown.sinaapp.com/?p=40
CPU name : Intel(R) Xeon(R) CPU E5405 @ 2.00GHz
processor : 4
cpu MHz : 1995.021
IPC latency:
IPC TYPE: MessageSize: Average Latency:
unix socket 10K 9us
localhost tcp 10K 11us
pipe 10K 6us
remote TCP 10K 13us
IPC throughput:
IPC TYPE: MessageSize: Average throughput/msg: Average throughput/M:
unix socket 10K 183049 msg/s 14643 Mb/s
localhost tcp 10K 113901 msg/s 9112 Mb/s
pipe 10K 146724 msg/s 11737 Mb/s
测试代码:
http://github.com/rigtorp/ipc-bench
想在linux下选择一个IPC,主要倾向于unix socket,ipc-bench测试下来
感觉更有底了,10K数据传输9us的延时在大多数应用中都可以接受了,
这样某些应用可以使用类似于Nginx的多进程模式,网络层一个进程,
逻辑层多进程,而且可以跑脚本,既能利用同步编写逻辑,有可发挥多核优势