c# - WCF TCP比HTTP快多少

标签 c# wcf nettcpbinding

我知道对于 WCF,TCP 比 HTTP 快,但我很想知道快多少。我有一个使用 HTTP 的大型应用程序的性能问题,我正在考虑迁移到 netTcp 是否会产生足够的性能改进以使投资物有所值。

有人知道 netTCP 与 Http 绑定(bind)相比发送数据量的差异吗?

最佳答案

到目前为止有很多答案,但没有具体数据。

Microsoft 进行了一项测试以准确您所询问的内容 - WCF 服务的 HTTP 和 TCP 之间的性能(吞吐量)差异。 (测试没有考虑数据包大小!)

Figure 1: Peak TPS Rates for the Web Service Test. IBM WebSphere Trade 6.1 is running in its default EJB/Entity Beans with Container Managed Persistence (CMP).

这表明,对于本次测试中的消息,TCP/二进制提供的吞吐量几乎是 HTTP/xml 的 2 倍。此测试的瓶颈是服务器 CPU,而不是网络。您的结果会有所不同,因为您的消息会更(或更少)复杂,您的网络会更多(或更少)受限,并且您的应用程序代码会更多(或更少)占用 CPU。但这给了你一个想法。

实际上,Stocktrader 基准测试是一项具有竞争力的事情,它比较了 Windows Server 上的 WCF 与 Linux 上的 WebSphere 的性能。但作为其中的一部分,MS 还将使用 HTTP 的 WCF 的性能与使用 TCP 的 WCF 的性能进行了比较。

download the full Stocktrader report

关于c# - WCF TCP比HTTP快多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4519963/

相关文章:

c# - 将数据访问层移动到 WCF 服务

WCF NetTcpBinding 文件传输

wcf - NetTCP 和二进制传输

c# - 确保连接

c# - 从字符串转换为uniqueidentifier时转换失败

c# - WCF 服务客户端 : Customized soap envelope not being sent on the wire

.net - 终端服务器 session 中的隔离命名管道

.net - 如何使用 NetTcpBinding 通过 WCF 获得可靠的回调

c# - 当方法具有 IDictionary 和 IDictionary<TKey, TValue> 的重载时调用不明确

c# - 如何在 Visual C# 2010 Express 中进入类 View