Performance WCF-WebHttpBinding-RESTful-性能问题

Performance WCF-WebHttpBinding-RESTful-性能问题,performance,wcf,rest,webhttpbinding,Performance,Wcf,Rest,Webhttpbinding,第一次贴海报,所以对我放松点 我目前正试图解决一个性能问题,当我在一分钟的不活动期后访问我的web服务时。实际上,在用户未点击web服务一分钟后,下一次调用将需要15秒才能真正点击服务操作。如果您继续随机调用(不是相同的服务操作,只是为了不让你们认为这是在“缓存”调用),服务操作调用服务会立即返回(不到一秒钟) 以下是我决定采取的一些“时间安排”,这样你就可以看到我是如何做到一分钟不活动的: 下午2:04 下午2:16--15秒 下午2:21--15秒 下午2:24--15秒 下午2:25--1

第一次贴海报,所以对我放松点

我目前正试图解决一个性能问题,当我在一分钟的不活动期后访问我的web服务时。实际上,在用户未点击web服务一分钟后,下一次调用将需要15秒才能真正点击服务操作。如果您继续随机调用(不是相同的服务操作,只是为了不让你们认为这是在“缓存”调用),服务操作调用服务会立即返回(不到一秒钟)

以下是我决定采取的一些“时间安排”,这样你就可以看到我是如何做到一分钟不活动的:

  • 下午2:04
  • 下午2:16--15秒
  • 下午2:21--15秒
  • 下午2:24--15秒
  • 下午2:25--15秒
  • 同样,如果连续点击web服务而没有一分钟的不活动时间,那么所有方法都将在不到一秒钟的时间内返回

    以下是有关我的web服务的一些详细信息:

  • WCF,WebHttpBinding,RESTful,使用HTTPs
  • 基本身份验证+使用IDispatchMessageInspector的自定义身份验证。每次调用都会进行身份验证(Initializer.aspx页面除外)
  • 已创建Custom Initialization.aspx页面,每晚在回收应用程序池后调用该页面。此页面缓存所有用户在开始编译时使用的一组全局数据
  • 应用程序池仅在每晚凌晨2点进行回收。工作线程永远不会终止,因为超时被禁用
  • 我听说过ReliableSession,但正如设置所暗示的那样,它似乎只适用于PerSession,而不适用于PerCall


    有没有办法解决这个问题,或者我坚持使用虚拟服务操作每隔45秒“ping”一次服务器?

    找到了问题所在。我们有多个域控制器。当用户获得身份验证时,它将从林级别开始,一直到服务器所在的实际域控制器。安装的防火墙正在阻止除服务器所在的域控制器之外的所有域控制器

    因此,基本上,它将无法与N+域控制器通信,直到它最终到达它能到达的唯一控制器


    您可以通过多种方式解决此问题,但我们只是创建了防火墙规则,允许web服务器与需要对其进行身份验证的域控制器通信。

    发现了此问题。我们有多个域控制器。当用户获得身份验证时,它将从林级别开始,一直到服务器所在的实际域控制器。安装的防火墙正在阻止除服务器所在的域控制器之外的所有域控制器

    因此,基本上,它将无法与N+域控制器通信,直到它最终到达它能到达的唯一控制器

    您可以通过多种方式解决此问题,但我们只是创建了防火墙规则,允许web服务器与需要对其进行身份验证的域控制器通信