【发布时间】:2018-07-04 04:46:48
【问题描述】:
我正在使用一个 Service Fabric 应用程序,但我无法达到预期的效果。
主要问题与一个演员调用另一个演员有关。我正在记录从调用参与者看到的给定呼叫需要多长时间,并且我记录在接收参与者上花费的时间。
我看到的是,接收参与者记录工作负载需要几毫秒(最多 20 毫秒)。但是,调用参与者会记录从 50 毫秒到 2 秒以上的任何内容。我无法解释的延迟发生在实际逻辑运行之前。一旦方法返回,调用actor会迅速得到响应。
这是可以预料的吗?创建一个全新的演员实例时绝对是最糟糕的 - 但即使我在调用演员时我也看到了这种事情,我之前做了一个不同的调用。
传递的参数是相当基本的 - 我不怀疑反序列化是问题。
我意识到演员将分布在集群内,但这种规模的开销似乎不成比例。
所以,我的问题是:这是“如预期的那样”还是表明我们做错了什么?
我要补充的是,这是在一个安静的测试环境中,所以演员被其他请求锁定不是问题。
我可以根据要求提供更多信息,但我不太确定最相关的信息。
【问题讨论】:
-
你有没有弄明白这件事的真相?
-
@RedFilter 不,不是真的。由于此类问题,我们已不再使用 Service Fabric,因此我们不再致力于修复它。
标签: azure-service-fabric reliable-actors