在小数据中使用NamedPipe与TCP/IP

Ehs*_*san 4 .net c# tcp named-pipes


,如果我们将少量数据来回传递给客户端/服务器,那么tcp/ip的开销可以忽略不计,并且性能与同一台机器上的NamedPipe相同?

Jam*_*ing 5

我要说的不是数据量和请求数量一样多.换句话说,如果你有100,000个连接传递100个字节的数据,那么你将拥有比每个100K的10个连接更多的tcp/ip开销.

这并不是说通过tcp/ip与命名管道传输数据没有相关的开销.有.但通常我会说你决定使用哪一个系统必须在系统架构上做更多的事情,而不是考虑开销.

如果您要在物理服务器之间传输数据,则必须使用tcp/ip; 命名管道不是一种选择.如果您在同一服务器上的进程之间传输数据,则命名管道显然是更好的执行者.

当你在同一个物理服务器上时,你可能想要使用tcp/ip的一个原因是,如果你将来某个时候有可能将进程分解为物理服务器.

回答你的问题:如果你没有传递大量数据,并且你没有经常这样做,那么当两个端点在同一台物理机器上时,你可能不会注意到tcp/ip开销.

HTH,
詹姆斯