如何增加Azure Web应用程序中的线程数/并行度

时间:2015-10-23 11:37:58

标签: azure

我在Azure上运行了一个asp.net Web应用程序。它可以接收用户REST请求,并处理数据并将其发回。 如果CPU百分比高达60%,我已为Azure实例设置了Scale up,如果CPU百分比低于40%,则设置为Scale down。 我观察到的一件事是,我的任务是大多数IO绑定而不是CPU密集型任务。因此,如果请求数量增加,那么我的应用程序将保持所有请求等待。

如何让我的应用程序立即处理100个请求?

我观察到我的应用可以并行处理2个请求,有没有办法增加这种并行性?

如何根据传入请求的数量设置Azure Scaling。

1 个答案:

答案 0 :(得分:1)

我建议您确保在适用的区域中正确使用async / await。如果您的Web应用程序正在执行一些长时间运行的操作(例如数据库调用),那么您肯定应该使用async / await释放线程来为其他请求提供服务。

其次,即使是一个小实例也应该能够一次处理两个以上的请求。

第三,您可以设置自定义规则,以便在CPU利用率以外的指标上扩展Web应用程序。磁盘队列长度是您可能发现可用于扩展的另一个度量标准。