网上都说Ipc通道的速度比Tcp、http通道快,也有相关的测试文章。但我在多线程测试中发现Ipc通道比Tcp慢了差不多20多倍,测试方法是在IIS6中创建Remoting通道,用WAS压力测试工具进行测试。IIS6中Web园设置为100个进程,核心请求队列设置为4000,然后打开WAS并设置1000个线程,每个线程2个连接。点击启动。

 

Remoting技术:多线程中IpcChannel的性能太逊

Remoting技术:多线程中IpcChannel的性能太逊

 

以下是WAS运行30s后的测试结果,WAS显示时间不准确是由于截图时间没有把握好

IPC通道

Remoting技术:多线程中IpcChannel的性能太逊

 

TCP通道:

Remoting技术:多线程中IpcChannel的性能太逊

 

对比可见,IPC通道在多线程状态下比TCP通道慢的太多了。

 

Tcp服务器端代码:

 

        }

 

IPC服务器端代码

 

 

 

远程代理类部分代码,

  

 

 

 re;

            }
            
        }

TCP客户端代码,运行与IIS中

 

 

 SayHandler(re_OnSay);
            sh.SubEventReappear(Identity);

        }

 

IPC客户端代码,运行与IIS中

 

 

IpcChannel的

 SayHandler(re_OnSay);
            sh.SubEventReappear(Identity);

        }

 

相关文章: