相关疑难解决方法(0)

WCF性能,延迟和可伸缩性

我正在尝试将F#中的简单异步TCP服务器移植到C#4.服务器接收连接,读取单个请求并在关闭连接之前回送一系列响应.

C#4中的异步看起来很乏味且容易出错,所以我想我会尝试使用WCF.该服务器不太可能在野外看到1,000个同时发出的请求,因此我认为吞吐量和延迟都很重要.

我在C#中编写了一个最小的双工WCF Web服务和控制台客户端.虽然我使用的是WCF而不是原始套接字,但这已经是175行代码,而原始版本只有80行.但我更关注性能和可扩展性:

  • WCF的延迟是154倍.
  • WCF的吞吐量低54倍.
  • TCP可以轻松处理1,000个并发连接,但WCF仅在20个时间内阻塞.

首先,我正在使用所有内容的默认设置,所以我想知道是否有任何我可以调整来改善这些性能数据?

其次,我想知道是否有人正在使用WCF进行此类事情,或者它是否是错误的工具?

这是我在C#中的WCF服务器:

IService1.cs

[DataContract]
public class Stock
{
  [DataMember]
  public DateTime FirstDealDate { get; set; }
  [DataMember]
  public DateTime LastDealDate { get; set; }
  [DataMember]
  public DateTime StartDate { get; set; }
  [DataMember]
  public DateTime EndDate { get; set; }
  [DataMember]
  public decimal Open { get; set; }
  [DataMember]
  public decimal High { get; set; }
  [DataMember]
  public decimal Low { get; set; }
  [DataMember]
  public decimal Close { get; set; } …
Run Code Online (Sandbox Code Playgroud)

c# wcf f# tcp

16
推荐指数
2
解决办法
2万
查看次数

标签 统计

c# ×1

f# ×1

tcp ×1

wcf ×1