我在Azure上发布了ASP.NET Web API应用程序(移动后端)。大多数请求都是轻量级并且处理速度很快但是每个客户都会提出大量请求,并在与移动应用程序的每次交互中快速完成。
问题是Web应用程序甚至不能处理少量(10 /秒)的请求。 Http队列增长但CPU没有。
我以250请求/秒的速度运行负载测试,平均响应时间从〜200ms增加到5s。
我的代码可能有问题吗?或者它的硬件限制?我可以一次增加已处理的请求数吗?
答案 0 :(得分:0)
首先,您使用的实例(特别是如果使用小型和超小型实例)非常重要,您使用了多少个实例 - 不要期望服务器上的1个核心和2Gb RAM太多。
使用缓存(WebApi.OutputCache.V2减少服务器处理工作,Azure Redis缓存作为快速缓存存储),数据库也可能成为瓶颈。
如果在将更多实例添加到服务器和缓存后你会得到相同的结果 - 那么你应该看看你的代码并找到那里的瓶颈。
这只是一般的推荐,问题中没有代码。