我知道对于 WCF,TCP 比 HTTP 快,但我很想知道快多少。我有一个使用 HTTP 的大型应用程序的性能问题,我正在考虑迁移到 netTcp 是否会产生足够的性能改进以使投资物有所值。
有人知道 netTCP 与 Http 绑定(bind)相比发送数据量的差异吗?
最佳答案
到目前为止有很多答案,但没有具体数据。
Microsoft 进行了一项测试以准确您所询问的内容 - WCF 服务的 HTTP 和 TCP 之间的性能(吞吐量)差异。 (测试没有考虑数据包大小!)
这表明,对于本次测试中的消息,TCP/二进制提供的吞吐量几乎是 HTTP/xml 的 2 倍。此测试的瓶颈是服务器 CPU,而不是网络。您的结果会有所不同,因为您的消息会更(或更少)复杂,您的网络会更多(或更少)受限,并且您的应用程序代码会更多(或更少)占用 CPU。但这给了你一个想法。
实际上,Stocktrader 基准测试是一项具有竞争力的事情,它比较了 Windows Server 上的 WCF 与 Linux 上的 WebSphere 的性能。但作为其中的一部分,MS 还将使用 HTTP 的 WCF 的性能与使用 TCP 的 WCF 的性能进行了比较。
关于c# - WCF TCP比HTTP快多少,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4519963/