我正在开发一个Web应用程序,需要执行消耗大量CPU和内存的任务,而且这可能会持续几分钟。为了获得更好的用户体验,我还开发了一个Windows服务,它承载执行此“高成本”任务的WCF服务,并使用msmq(消息队列)与Web应用程序进行通信。限制WCF服务资源的使用
这很好,直到我试图做一个负载测试... Windows服务开始消耗大量的资源,推迟CPU工作在100%和超过1GB的内存。我寻找优化,并且对代码做了很多调整,我认为它非常高效,但是这项任务只需要大量资源。
问题是,虽然WCF服务正在工作,CPU得到100%使用和Web应用程序变得不可思议的慢!我不介意WCF服务的任务需要花费几分钟的时间,但我希望Web应用程序能够很好地满足用户的需求。
所以我想知道是否有一种方法来限制WCF服务可以使用的资源,并给予Web应用程序优先级。
在此先感谢。
胡安