asp.net - MaxConcurrentRequestsPerCPU and Asynchronous Requests -
i using c# 4.0, asp.net mvc 3 , iis 7.0. little confused asynchronous requests in iis 7. have read this article , several forum/blog posts, didn't find answer yet. here question,
i have application call many remote services. many of them respond slowly. using asynccontroller free application threads. in above article thomas saying iis 7 uses maximum concurrent requests per cpu instead of maximum concurrent threads per cpu. think freeing threads using asynccontroller not effect overall application stability, because request specific instead of thread specific. if have 6000 concurrent requests, using asynccontroller allow 5000 requests execute concurrently.
update: want ask whether switching asynccontroller makes difference?
yes, async actions make better use of cpu/memory resources long running tasks network bound. is, after all, exact reason such feature added mvc. let avoid having 1 thread per request being tied long periods of time. threads relatively expensive in terms of cpu & memory resources create & maintain.
sure, iis default configured allow 5000 async requests processed @ time (per cpu) blog link pretty clear arbitrary number picked "because it's big"
if need handle more , have tested server can safely handle more, means tweak iis configuration increase limit. it's idea have such limit in place reduce impact of dos attacks, etc - beyond point you've tested server's ability handle load, should let iis it's thing , return "too busy" error
Comments
Post a Comment