承载IIS时NServicebus的高CPU使用率(Asp.net和WCF)?

承载IIS时NServicebus的高CPU使用率(Asp.net和WCF)?,nservicebus,nservicebus3,Nservicebus,Nservicebus3,我们注意到,在将NServicebus添加到ASP.net MVC应用程序后,CPU使用率从5%上升到50%。这是在没有任何负载的服务器上。我们在另一台托管WCF应用程序的服务器上注意到了相同的行为。在尝试了不同的方法之后,我们发现如果我们将总线配置为仅发送,CPU使用率将下降到5%。有人知道当总线未配置为仅发送时cpu使用率为何如此之高吗 高CPU的原因可能是NServiceBus代码在队列中查找消息,尽管我觉得这有点难以置信。仅发送模式阻止NServiceBus在队列中查找消息。高CPU的原

我们注意到,在将NServicebus添加到ASP.net MVC应用程序后,CPU使用率从5%上升到50%。这是在没有任何负载的服务器上。我们在另一台托管WCF应用程序的服务器上注意到了相同的行为。在尝试了不同的方法之后,我们发现如果我们将总线配置为仅发送,CPU使用率将下降到5%。有人知道当总线未配置为仅发送时cpu使用率为何如此之高吗

高CPU的原因可能是NServiceBus代码在队列中查找消息,尽管我觉得这有点难以置信。仅发送模式阻止NServiceBus在队列中查找消息。

高CPU的原因可能是NServiceBus代码在队列中查找消息,尽管我觉得这有点难以置信。仅发送模式阻止NServiceBus在队列中查找消息。

我以前遇到过这种情况

发生在我身上的事情是我建立了一个应用程序池,它开始作为网络服务运行。在我有机会将应用程序池标识设置为域级用户(用于访问文件共享等)之前,页面已经被命中,因此NServiceBus安装程序已经使用网络服务凭据创建了一个队列

当我设置应用程序池用户时,它突然没有对队列的适当权限

通常NServiceBus会在没有可接收消息的情况下检查超时消息,但在本例中,它会进入一个非常紧密的循环“有消息吗?我没有权限。有消息吗?我没有权限”。因此,CPU非常高


我通过删除队列并允许NServiceBus以适当的权限重新创建它来修复此问题。

我以前也经历过这种情况

发生在我身上的事情是我建立了一个应用程序池,它开始作为网络服务运行。在我有机会将应用程序池标识设置为域级用户(用于访问文件共享等)之前,页面已经被命中,因此NServiceBus安装程序已经使用网络服务凭据创建了一个队列

当我设置应用程序池用户时,它突然没有对队列的适当权限

通常NServiceBus会在没有可接收消息的情况下检查超时消息,但在本例中,它会进入一个非常紧密的循环“有消息吗?我没有权限。有消息吗?我没有权限”。因此,CPU非常高

我通过删除队列并允许NServiceBus使用适当的权限重新创建它来修复该问题