【问题标题】:WCF Client scalability adviceWCF 客户端可伸缩性建议
【发布时间】:2012-10-19 10:54:03
【问题描述】:

我有一个多线程应用程序,每天调用同一个服务 200,000 多次。目前它为每个调用实例化一个新的 ClientBase 自动生成的代理。

我可以做些什么来提高性能?实例化一个客户端并共享它?我应该调查异步客户端吗?如果可以,可以共享吗?

【问题讨论】:

  • 每天 200000 次通话没什么大不了的。为每个调用请求一个代理非常便宜(WCF 在内部缓存它)。你确定瓶颈在客户端吗?
  • 更多信息:调用不是一种方式。他们传递一些参数并取回数据。此外,基本授权被注入到请求头中。
  • 首先你需要明确你想要达到的目标。您想减少应用程序响应时间吗?允许在同一时间范围内处理更多请求?最小化系统资源使用?您的应用程序是 ASP.NET 站点、Silverlight 应用程序还是 Windows 窗体? “提升性能”是什么意思?

标签: c# wcf .net-4.0 scalability wcf-client


【解决方案1】:

您的服务运营的性质是什么?单向操作可以轻松切换到异步操作,只需最少的努力。尤其是使用 TPL(来自 Async 方法系列)。

通常对象实例化也很便宜。只要确保它没有沉重的构造函数。并尽量减少成员数量,以使构建的类型尽可能轻量级。这不是优化的好点。

您可能需要优化服务调用,在它们期间(反)序列化数据类型。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2011-05-04
    • 1970-01-01
    相关资源
    最近更新 更多