【发布时间】:2014-12-01 17:08:44
【问题描述】:
我有一个带有实体框架 6 的 ASP.NET Web Api 应用程序,它在 AWS 上的 2 个超大实例上运行。
之前是 2 个大型实例,但一段时间后我遇到了 IIS 503 错误。
问题是:使用此 api 的应用程序每 10 秒从每个连接的客户端发出请求。我们已经同时连接了 5k 个客户端,每 10 秒调用一次 api。两个实例的cpu都是40%(我觉得还是很高)。
现在应用正在支持负载。但是我们可以接触到多达 20k 的客户,我不知道我还能在代码中改进什么。
每 10 秒调用一次的方法是异步的。
public async Task<ExampleContract> Post(ExampleRequest example)
{
try
{
return await _localizacaService.ExampleAsync(example);
}
catch (DataException ex)
{
throw new HttpResponseException(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
}
}
Windows 2008 IIS 7.5 我更改的唯一 IIS 设置是队列限制,从 500 到 5000。
还有什么我可以做的吗?
任何帮助将不胜感激
【问题讨论】:
标签: asp.net performance entity-framework iis asp.net-web-api