gpt4 book ai didi

asp.net - 为最大请求数/秒优化 IIS 和 ASP.net

转载 作者:行者123 更新时间:2023-12-04 12:57:57 26 4
gpt4 key购买 nike

我需要一个 web 应用程序能够以每秒非常高的请求数运行,同时保持响应时间非常短(小于 ~70 毫秒)。

出于测试目的,我启动了 3 个 c4.xlarge ec2 实例并将它们放在一个弹性负载均衡器中。

我有一个看起来像这样的方法。

[HttpPost]
[Route("api/test/rps")]
public IHttpActionResult TestRequestsPerSecond(MediumSizedObject testObj)
{
return new StatusCodeResult(HttpStatusCode.NoContent, Request);
}

我希望这些实例之一能够每秒处理数千个请求(因为它基本上什么都不做)。令我惊讶的是,我在处理每秒 300 个请求时遇到了麻烦,而 CPU 却没有变高,并且请求开始排队。

下面是其中一个实例在每秒大约 240 个请求时的性能。

Performance Monitor

如您所见,我已经有 19 个排队请求,处理器为 78%。 (我的上下文切换也跳到了 8-9K 左右,看起来很高)。

这发生在所有 3 个服务器上。

我在服务器上更改的内容

machine.config 相关行
 <processModel autoConfig="true"
maxWorkerThreads="100"
maxIoThreads="100"
minWorkerThreads="50"
minIoThreads="50" />
<httpRuntime
minFreeThreads="176"
minLocalRequestFreeThreads="152"
/>

生产网络配置(可能)相关行
<system.web>
<sessionState mode="Off" />
<authentication mode="None" />
<compilation targetFramework="4.5" />
<httpRuntime targetFramework="4.5" />
</system.web>
<system.webServer>
<modules>
<remove name="FormsAuthentication" />
<remove name="PassportAuthentication" />
<remove name="Profile" />
<remove name="AnonymousIdentification" />
<remove name="WindowsAuthentication" />
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>

我尝试使用默认的 machine.config,但结果更糟。

出于某种原因,每秒大约 130 个请求,我们只有 30% 的 CPU,几乎没有请求排队。

必须有一些我缺少的魔法设置。这是 IIS 类(class)的标准吗?是否应该归咎于 WebAPI 2? (如果有人认为 Nancy 或 ServiceStack 会有所帮助,我会尝试测试它们)。

我需要更大的实例吗?

任何建议或要寻找的东西,调整都会很棒。

(我让 WebApi Action 返回一个 Task 以查看它是否有任何区别,但它没有)

最佳答案

您必须在 processModel 元素中将 autoconfig 的值设置为“false”,然后您在 processModel 元素中更改的其他属性才能生效。

关于asp.net - 为最大请求数/秒优化 IIS 和 ASP.net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30795211/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com