我有一个网站,其中我通过ajax使用web API,该API在同一个IIS上作为不同的站点托管,并且两个应用程序池都不同。我的Web API在MVC4中,我使用SQL服务器进行数据访问,某些Web API需要0秒,有些需要2秒到8秒。我的网站集中在azure服务器上。
我的问题是当100个或更多用户使用我的网站时,我的IIS网站API网站会挂起,而不会更多地回复任何请求。为此我看了工作进程,列出了一些请求,服务器没有响应任何请求.CPU利用率为50%,当时内存为19%。
我是否可以针对此问题为Web API网站分配4个工作流程,但如果我将多个工作流程分配到一个网站,则不知道其工作原理。
如果您有任何想法,请与我分享我如何处理上述情况?
答案 0 :(得分:0)
我确定IIS不会导致此问题。如果您认为IIS阻止了请求,则可以检查CurrentQueueSize或ActiveThreads。
您还可以使用“appcmd list request”命令从命令行检查执行请求。您将能够看到哪些请求需要更长时间才能执行,阻止请求通常位于顶部。 很有可能代码中的某些东西阻止了请求。
顺便说一句,您已在'azure'下标记了此查询。您是否将其作为Azure Web App运行?如果是,您可以使用'Kudu'来诊断原因。
答案 1 :(得分:0)