首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将IIS-10和FastCGI配置为高并发性?

如何将IIS-10和FastCGI配置为高并发性?
EN

Stack Overflow用户
提问于 2021-01-08 22:42:20
回答 1查看 4.3K关注 0票数 1

场景:我们有一个通过IIS10通过FastCGI使用的php7web应用程序。我们对我们的应用程序进行了性能测试,并注意到速度放缓。我们排除了数据库层。我们查看了IIS服务器,即使在负载很重的情况下,当应用程序急剧减速时,资源也不会紧张.没有CPU尖峰没有RAM尖峰。再进一步,我们得出的结论是,所有传入的请求都只是在排队。当某些请求花费更长的时间(对于一些花费1-3分钟的非常大的报告)时,所有其他请求都会排队等待第一个请求通过。

因此,问题是:在哪里可以增加IIS一次可以处理的并发请求的数量?

我在FastCGI下找到了这些设置,但文档很少。有人能解释一下这四种设置是干什么的吗?

  • 实例Length
    • 快速失败PerMinute

在DefaultAppPool下还有其他设置需要查看吗?

Length

  • Maximum Worker Processes

  • Recycling

  • 队列

更新:应该为其他可能搜索以下内容的人澄清以下几点:

  • 在此上下文中的请求意味着从浏览器到IIS服务器
  • 的一个调用--我们使用can https://jmeter.apache.org/来执行一些基本的负载测试
  • --从浏览器到IIS服务器的请求(为了这个上下文)将被处理如下: browser > DefaultAppPool worker process (在IIS中这是默认的1)> FastCGI实例(如果您想要增加这个值,可以将它看作是进程线程,语言是棘手的,web上的人可以交替地使用线程/进程/实例,这可能会让人感到困惑)。FastCGI默认为4,这意味着当5个并发请求通过1个DefaultAppPool工作进程时,它们都会被漏斗,其中4个将由FastCGI并发处理,第5个将被排队。我们对此进行了测试: IIS重新启动后,将没有运行w3wp.exe或php-cgi.exe进程。当5个并发请求出现时: w3wp.exe将启动,它将生成4个php-cgi.exe进程(检查任务管理器)
  • 以增加并发性,我们将FastCGI“最大实例”设置为0,这允许IIS根据可用资源决定要处理多少,但也可以将其设置为更高的数字。我们测试了这个,我相信它是准确的。您可以看到w2wp.exe进程和php-cgi.exe进程的数量随着请求的到来而增加。
  • 您还应该能够增加DefaultAppPool工作进程,如果将其设置为4并将FastCGI实例设置为4,理论上,这意味着每个工作进程将为总共的4x4=16并发请求生成自己的4个FastCGI实例。我还没有进行足够的测试,以确保100%的测试结果是这样的。
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-11 01:58:03

Instance MaxRequests:控制FastCGI流程回收行为。指定在回收进程之前允许FastCGI应用程序处理的最大请求数。默认值是200。

Max实例:指定所选FastCGI应用程序的应用程序进程池中允许的最大FastCGI进程数。这个数字还表示FastCGI应用程序可以处理的最大并发请求数。默认值为4。

队列长度:指定为FastCGI应用程序池排队的最大请求数。当队列已满时,后续请求将HTTP错误代码503 (服务不可用)返回给客户端。此错误代码表示应用程序太忙。默认值是1000。

快速失败PerMinute:指定对应用程序的请求允许的最长时间。如果FastCGI进程在单个请求上花费的时间超过指定的时间,它将被终止。默认值为90秒。

应用程序池

队列长度:在拒绝未来的请求之前,向HTTP.sys指示有多少请求排队到应用程序池。默认值是1000。

最大辅助进程:指示将用于应用程序池的最大辅助进程数。

对于“回收”中的属性,可以参考以下链接:

https://learn.microsoft.com/en-us/iis/configuration/system.applicationhost/applicationpools/add/recycling/

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65637364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档