场景:我们有一个通过IIS10通过FastCGI使用的php7web应用程序。我们对我们的应用程序进行了性能测试,并注意到速度放缓。我们排除了数据库层。我们查看了IIS服务器,即使在负载很重的情况下,当应用程序急剧减速时,资源也不会紧张.没有CPU尖峰没有RAM尖峰。再进一步,我们得出的结论是,所有传入的请求都只是在排队。当某些请求花费更长的时间(对于一些花费1-3分钟的非常大的报告)时,所有其他请求都会排队等待第一个请求通过。
因此,问题是:在哪里可以增加IIS一次可以处理的并发请求的数量?
我在FastCGI下找到了这些设置,但文档很少。有人能解释一下这四种设置是干什么的吗?
在DefaultAppPool下还有其他设置需要查看吗?
Length
更新:应该为其他可能搜索以下内容的人澄清以下几点:
发布于 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://stackoverflow.com/questions/65637364
复制相似问题