我在Azure上运行了一个asp.net web应用。它可以接收用户的REST请求,并对数据进行处理并发送回来。如果CPU百分比上升到60%,我已经为Azure实例设置了扩展,如果CPU百分比低于40%,则将其缩小。我观察到的一件事是,我的任务是最受IO限制的任务,而不是CPU密集型任务。因此,如果请求的数量增加,那么我的应用程序会让所有请求都在等待。
如何让我的应用一次处理100个请求?
我观察到我的应用程序可以并行处理2个请求,有什么方法可以提高这种并行性吗?
如何根据传入请求的数量设置Azure Scaling。
发布于 2016-09-17 01:06:17
我建议您确保在适用的区域中正确使用async/await。如果你的web应用程序正在执行一些长时间运行的操作(比如数据库调用),你绝对应该使用async/await来释放线程来服务于其他请求。
其次,即使是一个很小的实例也应该能够同时处理两个以上的请求。
第三,您可以设置自定义规则,以根据CPU利用率以外的指标扩展web应用程序。磁盘队列长度是另一个您可能会发现对扩展有用的指标。
https://stackoverflow.com/questions/33301391
复制相似问题