池回收(IIS)

时间:2016-09-19 17:59:39

标签: c# asp.net wcf iis pool

我在服务器上部署了网站,该服务器每分钟响应 1,000个请求。该网站定义了静态 var什么是 WCF客户端

  
    private static WebServicesClient client = WebServicesClientInitializer();

    //And the initializer is:

    private static WebServicesClient WebServicesClientInitializer()
    {
        var client = new WebServicesClient(EndPointConfigName, EndPointConfigAddress);

        var behavior = new SecurityBehavior { Inspector = new SecurityTokenInspector(Username, Password) };
        client.Endpoint.Behaviors.Insert(0, behavior);

        iMessageLogging = new MessageLoggingInspector();
        var loggingBehavior = new LoggingBehavior { MessageLogInspector = iMessageLogging };
        client.Endpoint.Behaviors.Add(loggingBehavior);

        return client;
    }

问题是在池回收(IIS)之后,有时(不是总是!),网站开始响应慢得多。下图显示了池回收之前和之后的服务器性能。服务器性能的下降是由于服务器每分钟更少查询,因为WCF客户端返回的结果要慢得多。

知道为什么WCF客户端在池循环后工作得更慢?

Before-After Pool Recycle

0 个答案:

没有答案